자격증

Application Lifecycle Management 강의 개요 응용 프로그램 수명 주기 관리에 대해 생각해보자. 업데이트와 롤백에서 시작해 응용 프로그램을 구성하는 다양한 방법 Self-Healing Application Rolling Update & Rollbacks 먼저 배포 시 롤아웃과 버전 관리를 이해해보자 처음 배포를 실행하게 되면 새로운 롤아웃으로 인해 새로운 배포 Revision을 생성하게 된다. 새로 앱이 업그레이드 되면 컨테이너 버전이 새 것으로 업데이트 되면 새 롤아웃이 트리거되고 새 배포 Revision이 생성된다. 배포 과정 중 일어난 변화를 추적할 수 있게 해주고 필요하다면 배포의 이전 버전으로 되돌릴 수 있게 해준다. kubectl rollout status deploym..
metric-server를 배포하세요, git repo에서 pull 해와서 제시해준 git clone 명령어로 파일을 가져왔다. 모든 yaml 파일 생성하시오 kubectl top node로 node 메트릭 확인하기 어떤 노드가 제일 많은 CPU 자원을 사용중인가요? k top node 명령어로 확인하면 된다. controlplane이 많이 사용중 어떤 노드가 가장 많은 메모리를 사용 중인가요? controlplane이 많이 사용중 어떤 파드가 가장 많은 메모리를 사용 중인가요? k top pod 명령어로 확인하면 된다. rabbit 파드가 제일 많이 사용중 가장 적은 CPU를 사용하는 파드는 무엇인가요? lion이다. USER5 유저는 application에 접근하는 데 문제가 있다. 원인을 파악하세요..
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 옵..
Nowon9159
'자격증' 카테고리의 글 목록 (3 Page)