CKA

서론 참 이번 시험 준비하는 데 이상하게 애를 먹었다. 시험 준비하는 후반에 뭔가 집중력도 많이 흐트러지고, 개념에 대한 이해도 중반부와 다르게 헷갈리는 순간들이 찾아왔다. 결국 합격을 하기는 했지만 만족스럽지는 않은 점수인 68점이라 EKS를 공부하면서 다시 한번 더 K8s에 대한 개념을 정리 해보고자 한다. 합격하고 나서 어디서 어떤 문제를 틀렸는지 알려주지 않아서 조금 아쉬웠다... CKA를 취득해서 이제 정량적으로 남들에게 K8s에 대해 이 정도는 알고 있다고 말할 수 있어 조금 편해졌다. 이제 면접을 보거나 누군가 물어보게 된다면 자랑스럽게 뱃지를 들이밀어 봐야겠다 ㅎㅎ... 시험 시작 전 꼭 해야할 것 생각보다 시험 시작 전에 확인하는 과정이 나는 오래 걸렸다. 그래서 무조건 꼭 30분 전에 ..
Cluster Maintenance OS Upgrades 노드 정상적으로 비우기 controlplane ~ ✖ k drain node01 --ignore-daemonsets node/node01 already cordoned Warning: ignoring DaemonSet-managed Pods: kube-flannel/kube-flannel-ds-86sk5, kube-system/kube-proxy-h5rcc evicting pod default/blue-6b478c8dbf-qvshb evicting pod default/blue-6b478c8dbf-74gxg pod/blue-6b478c8dbf-qvshb evicted pod/blue-6b478c8dbf-74gxg evicted node/node01..
Core Concepts PODs 명령어 # 파드 확인하기 kubectl get pod # k get po # 특정 네임스페이스 안에 있는 파드 확인하기 kubectl get pod -n # 파드 더 자세히 확인하기 kubectl get pod -o wide # 파드 생성하기 kubectl run pod # 파드 생성할 때 이미지 설정 kubectl run pod --image=: # 파드 생성할 때 레이블 설정 kubectl run pod --image=: -l = # -l =,= 레이블의 경우 콤마(,)를 넣어주면 다수도 지정 가능 # 파드 상세 정보 출력 kubectl describe pod # 파드 삭제 kubectl delete po kubectl delete po # 다중 삭제도 가능 # 파드..
문제1 How many PODs exist on the system? In the current(default) namespace 풀이 controlplane ~ ➜ k get po NAME READY STATUS RESTARTS AGE webapp-color 1/1 Running 0 2m48s 문제2 What is the environment variable name set on the container in the pod? 풀이 controlplane ~ ➜ k get po webapp-color -o jsonpath='{..env}' [{"name":"APP_COLOR","value":"pink"}] 문제3 What is the value set on the environment variable A..
문제1 How many PODs exist on the system? In the current(default) namespace 풀이 controlplane ~ ➜ k get po NAME READY STATUS RESTARTS AGE ubuntu-sleeper 1/1 Running 0 2m7s 문제2 What is the command used to run the pod ubuntu-sleeper? 풀이 controlplane ~ ➜ k get po -o jsonpath='{..command}' ["sleep","4800"] 문제3 Create a pod with the ubuntu image to run a container to sleep for 5000 seconds. Modify the fil..
Troubleshooting Application Failure 강의에선 예시를 들어 설명했다. 웹 서버와 데이터베이스 서버가 있는 2계층 애플리케이션이 있다. 데이터베이스 파드는 데이터베이스 응용 프로그램을 호스팅하고 데이터베이스 서비스를 통해 웹 서버에 서비스를 제공한다. 웹 서버는 웹 팟에 호스팅되며 웹 서비스를 통해 사용자에게 서비스를 제공한다. 문제의 원인을 찾을 때까지이 맵의 모든 객체와 링크를 확인하는 것이 좋다고 한다. 웹 애플리케이션인 경우 curl을 사용하여 노드 포트의 웹 서버에 액세스할 수 있는지 확인한다. 다음으로 서비스를 확인한다. 웹 파드에 대한 엔드포인트가 있는 지 확인한다. 엔드포인트가 없다면 서비스에 구성된 셀렉터가 파드에 구성된 것과 일치하는지 확인한다. 그 다음 파드 ..
Introduction to Deployment with Kubeadm kubeadm 도구는 kubernetes의 best practice를 사용해 다중 노드 클러스터를 설정하는 데 도움이 된다. 우리는 이미 kube-apiserver, etcd, 컨트롤러 등을 포함한 다양한 구성 요소로 이루어진 kubernetes 클러스터에 대한 몇가지 보안 및 인증 요구 사항을 논의했다. 각 노드에 개별적으로 이러한 다양한 구성 요소를 설치하고 모든 구성 파일을 수정하여 모든 구성 요소가 서로 가리키도록 하고 동작하려면 인증서를 설정하는 것은 매우 귀찮은 작업이다. kubeadm 도구는 이러한 모든 작업을 처리 해 우리를 도와준다. kubeadm 도구를 사용해 kubernetes 클러스터를 설정하는 단계는 먼저 여러..
Ingress 서비스와 인그레스의 차이는 무엇이며 언제 어떤 것을 사용해야할까? 먼저 간단히 서비스를 다시 살펴보고 인스레스를 살펴보자 예를 들어 온라인 스토어를 운영하는 회사를 위해 쿠버네티스에 응용 프로그램을 배포중이라고 가정해보자. 응용프로그램은 myonlinestore.com으로 배포되어 있다. 외부에서 이 온라인 스토어로 접근하기 위해서는 http://www.myonlinestore.com 으로 접근해야 한다. 이는 보통 NodePort를 이용해서 http://10.58.10.1:38080 이런 식으로 접근한다. 프로덕션 레벨의 애플리케이션을 배포한 적 있다면 트래픽을 전달하는 것 외에 수행해야 할 많은 작업이 있다. 예를 들어 사용자가 매번 IP 주소를 입력하는 것을 원하지 않아 DNS 서버를..
Pod Networking 파드 레이어의 네트워킹은 어떻게 되는가? 클러스터에는 많은 파드가 실행될 것이다. 파드는 어떻게 주소 지정되는지, 서로 어떻게 통신하는 지 클러스터 내에서 이러한 파드에서 실행되는 서비스에 어떻게 접근하는지? 그리고 클러스터 외부에서 어떻게 접근하는 지 등이 고려해야할 문제이다. 쿠버네티스는 현재로서는 이러한 문제들에 대해서 내장 솔루션을 제공하지 않는다. 그래서 이런 문제들을 해결하기 위한 네트워킹 솔루션을 구현해야한다. 위 이미지를 보면 쿠버네티스가 파드 네트워킹에 대한 요구사항을 제시했다. 각 파드가 고유한 IP 주소를 가져야한다. 각 파드는 해당 IP 주소를 사용해 동일한 노드 내의 다른 모든 파드에 도달할 수 있어야한다. 각 파드는 동일한 IP 주소를 사용해 다른 노드..
Nowon9159
'CKA' 태그의 글 목록