Advanced Search
Search Results
88 total results found
[14] init 컨테이너를 포함한 Pod 운영
init 컨테이너에 대해 알아보기 docs에서 init container 검색 초기화 컨테이너 init 컨테이너란 초기화 컨테이너는 파드의 앱 컨테이너들이 실행되기 전에 실행되는 특수한 컨테이너이다. 이 init 컨테이너가 정상적으로 실행되야 main 컨테이너가 실행되고 실패할 경우 성공할때까지 재실행된다. 비슷한 경우로는 AWS의 user data같은거 Tip! 이 유형에 대한 문제는 CKA보다는 CKAD에서 더 자주 나오는 유형의 문제이다 ❓...
[15] NodePort 서비스 생성
NodePort란? 클러스터 외부의 사용자가 클러스터 내에 위치한 서비스에 접근하도록 할 수 있게 하는 서비스타입 ❓NodePort Service Create the service as type NodePort with port 32767 for the nginx pod with the pod selector app:webui 작업 클러스터: k8s Reference docs에서 nodeport 검색 → Type Nodeport 부분 Serv...
[16] ConfigMap 운영
ConfigMap이란? ConfigMap은 애플리케이션 설정 데이터를 관리하는 데 사용된다. 애플리케이션 구성, 환경 변수, 설정 파일 등과 같은 설정 정보를 저장하고 관리하는 데 사용 된다. ConfigMap은 YAML 파일로 정의되며, Pod, Deployment, StatefulSet 등의 다른 K8s 리소스에서 사용될 수 있다. 실습
[17] Secret 운영
❓Secret을 생성 후 Pod에 전달 Create a kubernetes secret and expose using a file in the pod. 작업 클러스터: k8s Create a kubernetes secret as follows: Name: super-secret DATA: password=secretpass Create a Pod named pod-secrets-via-file, using ...
[18] Ingress 구성
Ingress란? 인그레스는 클러스터 외부에서 클러스터 내부 서비스로 HTTP와 HTTPS 경로를 노출한다. 트래픽 라우팅은 인그레스 리소스에 정의된 규칙에 의해 컨트롤된다. Reference docs에서 ingress 검색 인그레스(Ingress) ❓Ingress 구성 Application Service 운영 작업 클러스터: k8s ingress-nginx namespace에 nginx 이미지를 app=nginx 레이블을 가지고 실행하는...
[19] Persistent Volume 생성
Persistent Volume이란 클러스터 내의 지속적인 데이터 저장을 위한 추상화된 스토리지를 제공한다. 클러스터 외부 스토리지 리소스를 클러스터 내부에서 사용할 수 있게 하며, 데이터의 지속성과 데이터 볼륨에 대한 독립성을 보장 한다. 그 외 클러스터 관리자에 의해 생성되고 관리되며, Pod 및 다른 K8s 리소스에서 사용할 수 있다. 이를 통해 애플리케이션에서 데이터를 영속적으로 저장하고 공유할 수 있다. Reference docs에서 persist...
[20] Persistent Volume Claim을 사용하는 Pod 운영
❓Application with Persistent Volume Claim Create a new PersistentVolumeClaim Name: app-volume Storage Class: app-hostpath-sc Capacity: 10Mi Create a new pod which mounts the PersistentVolumeClaim as a volume Name: web-server-pod Image: nginx ...
[21] Check Resource Information
❓Check Resource Information List all PVs sorted by name saving the full kubectl output to /var/CKA2022/my_volumes Use kubectl ’s own functionally for sorting the output, and do not manipulate it any further. 작업 클러스터: k8s 실습 [user@console ~]$ kubectl c...
[22] Kubernetes Upgrade
❓Cluster Upgrade - only Master upgrade system: k8s-master Given an existing Kubernetes cluster running version 1.22.4, upgrade all of the Kubernetes control plane and node components on the master node only to version 1.23.3 Be sure to drain the master no...
[23] Kubernetes Troubleshooting (1)
❓Not Ready 상태의 노드 활성화 A Kubernetes worker node, named hk8s-w2 is in state NotReady. Investigate why this is the case, and perform any appropriate steps to bring the node to a Ready state, ensuring that any changes are made permanent. 확인해야 할 것 docker가...
[24] Kubernetes Troubleshooting (2)
❓Not Ready 상태의 노드 활성화 A Kubernetes worker node, named hk8s-w2 is in state NotReady. Investigate why this is the case, and perform any appropriate steps to bring the node to a Ready state, ensuring that any changes are made permanent. 실습 [user@console ~...
[25] User Role Binding
❓Configuring User API Authentication TASK: Create the kubeconfig named ckauser username: ckauser ckauser cluster must be operated with the privileges of the ckauser account certificate location: /data/cka/ckauser.crt, /data/cka/ckauser.key context-...
[26] User Cluster Role Binding
❓Configuring User API Authentication Create a new ClusterRole named app-clusterrole, which only allows to get, watch, list the following resource types: Deployment, Service Bind the new ClusterRole app-clusterrole to the new user ckcuser User ckauser and ...
[27] ServiceAccount Role Binding
❓Service Account, Role and Role Binding Create the ServiceAccount named pod-access in a new namespace called apps Create a Role with the name pod-role and the RoleBinding named pod-rolebinding Map the ServiceAccount from the previous step to the API resou...
[28] ServiceAccount Cluster Role Binding
❓ClusterRole & ClusterRoleBinding 구성 Create a new ClusterRole named deployment-clusterrole, which only allows to create the following resource types: Deployment, StatefulSet, DaemonSet Create a new ServiceAccount named cicd-token in the existing namespace ...
[29] Kube-DNS
Kube-DNS란? Kube-DNS는 도메인 이름을 IP 주소로 해석하는 역할을 한다. 이를 통해 K8s 클러스터 내부의 다른 리소스(서비스, Pod 등)를 도메인 이름을 통해 찾을 수 있다. Kube-DNS는 각 노드에 배포되며, 클러스터 내의 모든 Pod에서 사용할 수 있는 DNS 서버 역할을 수행 한. 나오는 문제 유형 CoreDNS의 동작원리를 알고 있는가? 컨테이너 내부에 접속해서 서비스 또는 pod에 대한 DNS 질의를 해봐라 ❓Ser...
[30] Network Policy
쉽게 말하면 Pod에 대한 방화벽을 설정해주는 것이다. ❓Network Policy with Namespaces Create a new Network Policy named allowed-port-from-namespace in the existing namespace devops. Ensure that the new Network Policy allows pods in namespace migops to connect to port 80 of pods...
클러스터 생성 및 설정 (Kubespray)
이번 데모에서는 한 물리 서버에, 가상 머신 4대를 사용하여 쿠버네티스 클러스터를 생성할 예정이다. 💡 현재 VMWare Workstation에서 실습 진행 Control Node (Ubuntu 22.04): 192.168.1.90 Master Node (CentOS 7): 192.168.1.150 Worker Node 1 (CentOS 7): 192.168.1.160 Worker Node 2 (CentOS 7): 192.168.1.170 ...
Helm 패키지 매니저
Helm은 쿠버네티스 애플리케이션의 생성, 패키징, 구성 및 배포를 자동화하는 도구이다. 구성 파일을 하나로 결합하여 재 사용 가능한 패키지로 만들어 준다. Microservice 아키텍처에서 애플리케이션이 커짐에 따라 더 많은 microservice를 생성하는 경우 관리가 점점 어려워 진다. 쿠버네티스는 오픈 소스 컨테이너 오케스트레이션 기술로, 여러 microservice를 하나의 배포로 그룹화하여 프로세스를 단순화 한다. 그러나 개발 수명 주기 동안의 쿠...