CKA

Logging & Monotoring 강의 개요 다양한 로깅과 모니터링 옵션 클러스터 구성 요소를 모니터링하는 방법과 그 위에 호스팅된 응용 프로그램 모니터링 클러스터 구성요소와 응용 프로그램에 대한 로그를 보고 관리하는 방법 Monitor Cluster Components 쿠버네티스 자원은 어떻게 모니터할 수 있을까? 더 중요한 것은 무엇을 관찰할지를 정하는 것이다. 예로는 노드 레벨 지표와 파드 레벨 지표가 있다. 노드 레벨 지표는 클러스터 내 노드의 수와 정상적인 개수, 성능 지표 (CPU, 메모리, 네트워크, 디스크 등등) 와 같은 것들이 있다. 파드 레벨 지표는 파드 개수와 각 파드 성능 지표(CPU,메모리 등등) 이런 메트릭들을 모니터링하고 저장하고 데이터에 대한 분석을 제공할 솔루션이 필요하..
static pod는 몇개나 있나요? 처음에 봤을때는 이걸 어떻게 알지? 싶었는데 일단 /etc/kubernetes/manifests 경로에 yaml파일이 있는지 확인해 보았다. 그리고 나서 get po 를 해보니까 yaml 파일로 생성된 것들은 다 -controlplane이 붙어 있었다. 무조건 적으로 그런것은 아닐것 같은데 일단 이렇게 생각하는 게 편할듯 맞는지 검증이 필요할 듯 하다. 어떤 항목이 static pod로 실행되지 않았나요? 정답은 coredns 어떤 노드에 현재 static pod가 생성되었나요? k get 명령어로 확인해 보았는데 위에서 확인했던 모든 파드들은 다 controlplane 노드였음 static pod의 정의 파일은 어느 디렉터리에 위치해 있나요? /etc/kuberne..
DaemonSets 는 모든 네임스페이스에 얼마나 있는가? k get ds -A # daemonset은 ds로 축약이 가능하다. daemonset은 ds 로 축약하였고, 모든 네임스페이스를 물어보았으니 -A 옵션을 걸어주었다. kube-proxy 데몬셋은 어느 네임스페이스에 있는가? kube-system에 있다. 데몬셋은 어떤 것에 속하는가? 현재 데몬셋은 kube-flannel-ds 가 있다. kube-proxy 데몬셋에 속하는 파드는 몇개 있는가? kube-proxy-~~~ 이름이 붙은 파드를 찾아보면 된다. kube-flannel-ds 데몬셋의 파드 이미지는 무엇인가? 되도록 jsonpath를 이용해서 검색해보려 했다. controlplane ~ ➜ k get ds kube-flannel-ds -n..
rabbit 파드의 CPU requests 는 얼마인가? k get po rabbit -o jsonpath='{.spec.containers}' 명령어를 이용해서 확인해주었다. rabbit 파드를 삭제하세요 k delete pod rabbit 명령어 이용해서 삭제했다. elephant 파드가 배포되다가 실패 되었는데 실패된 이유를 분석해보아라 처음에 k get pod 명령어로 CrashLoopBackOff 상태여서 그렇게 답변했는데 오답이었음 그래서 describe 명령어로 확ㅇ니해보니까 Reason에 OOMKilled 되었다고 함 15Mi 메모리를 가지고 있는 elephant 파드의 메모리 limit을 20으로 수정해라 기존에 10 Mi 이었다. 근데 실행중인 pod를 edit으로 변경시켜 적용시키는 ..
node01에 레이블은 몇개 있나요? 기존에는 describe 해서 Labels 필드를 찾아서 검색했는데 jsonpath 기능을 까먹고 있었다. controlplane ~ ➜ k get node node01 -o jsonpath='{.metadata.labels}' {"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/os":"linux","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"node01","kubernetes.io/os":"linux"} jsonpath 는 출력의 결과를 path 기반으로 검색할 수 있는 기능이다. -o 옵션에서 jsonpath='{..}' 이런 형식으로 원하는 속성까지 접근이 가능..
노드는 몇개 있나요? k get nodes -A node01 노드에는 taint가 존재하나요? get으로 보려니까 안보여서 describe로 확인함 주의해야할 점은 describe를 사용해야된다는 것과 Taints 대소문자 구분 node01 노드에 spray=mortein:NoSchedule 테인트를 생성해라 테인트를 생성하는 법은 k taint node node01 =:와 같다. k taint node node01 spray=mortain:NoSchedule nginx 이미지의 mosquito 파드를 생성해라 # k run --iamge=: 으로 생성 가능 k run mosquito --image=nginx 파드의 상태는 어떠한가? Pending 파드가 pending인 이유는 무엇인가? k descri..
몇 개의 파드가 배포되었다. tier,env,bu 레이블이 있을 때 env=dev 레이블의 파드 개수는 몇개인가? get po 명령어는 -l 옵션을 이용해서 레이블 기반으로 검색할 수 있다. k get po -l env=dev 명령어로 확인 해주었다. 7개 bu=finance 파드는 몇개 있는가? 위와 동일하게 검색해주면 된다. k get po -l bu=finance | grep -v NAME | wc -l 명령어로 쉽게 결과까지 출력하게끔 해주었다. 답은 6 env=prod 인 파드 레플리카셋 그리고 다른 오브젝트를 포함해 몇개 있는가? k get all -l env=prod 명령어로 확인 해주었다. 답은 7 env=prod,bu=finance,tier=frontend 인 파드는 무엇인가요? -l 옵..
pod 정의 파일인 nginx.yaml을 이용해서 파드를 생성해라 k apply -f nginx.yaml 생성된 파드의 상태는 어떤가요? k get po 명령어를 이용해서 생성해 주었다. Pending 상태였음 왜 파드는 pending 상태인가요? 컨트롤 플레인 컴포넌트의 환경을 분석해봐라. k events po nginx 명령어를 이용해서 확인 해주었음 근데 nodeHasSufficientMemory 등의 오류만 뱉을 뿐이지 정확히 뭐가 문제인지는 파악이 불가했음 사실 문제를 왜 pending 상태인지 물어보는 것만 봐서 밑에 문구를 확인하지 못했다. 그래서 음 뭐가 문제인지 확인을 해보려고 했으나 해결이 안돼서 힌트를 봤다. 힌트에서는 스케줄러가 잘 떠있는지 확인해보라고 했다. get 명령어로 확인해..
Scheduling 강의 개요 스케줄러의 행동 방식을 사용자 지정하고 구성하는 다양한 옵션 수동 스케줄링 방법 및 데몬셋, 레이블, 셀렉터, Requirements와 Limit 다중 스케줄러를 구성하는 방법과 스케줄러 이벤트 보는 법 수동 스케줄링 apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx nodeName: kube-01 클러스터에 스케줄러가 없으면 내장된 스케줄러에 의존하는 대신 파드를 직접 스케줄링 해야 한다. nodeName 이라는 필드는 파드 매니페스트 파일을 만들 때 지정하진 않고 쿠버네티스가 자동으로 추가한다. 스케줄러는 모든 파드를 확인해 nodeName 속성이 설정되지 ..
Nowon9159
'CKA' 태그의 글 목록 (3 Page)