반응형
- static pod는 몇개나 있나요?
- 처음에 봤을때는 이걸 어떻게 알지? 싶었는데 일단 /etc/kubernetes/manifests 경로에 yaml파일이 있는지 확인해 보았다.
- 그리고 나서 get po 를 해보니까 yaml 파일로 생성된 것들은 다 -controlplane이 붙어 있었다.
- 무조건 적으로 그런것은 아닐것 같은데 일단 이렇게 생각하는 게 편할듯
- 맞는지 검증이 필요할 듯 하다.
- 어떤 항목이 static pod로 실행되지 않았나요?
- 정답은 coredns
- 어떤 노드에 현재 static pod가 생성되었나요?
- k get 명령어로 확인해 보았는데 위에서 확인했던 모든 파드들은 다 controlplane 노드였음
- static pod의 정의 파일은 어느 디렉터리에 위치해 있나요?
- /etc/kubernetes/manifests 이다.
- manifest 디렉터리에 얼마나 많은 정의파일이 있나요?
- 4개 있다.
- kube-api server 스태틱 파드는 어떤 도커 이미지가 사용되었나요?
- registry.k8s.io/kube-apiserver:v1.27.0 이다.
- 실제 띄워진 pod를 확인하려면 아래와 같이 명령어 사용하면 됨
controlplane /etc/kubernetes/manifests ➜ k get po kube-apiserver-controlplane -n kube-system -o jsonpath='{.spec.containers[*].image}'
registry.k8s.io/kube-apiserver:v1.27.0
- busybox 이미지를 사용하는 static-busybox를 생성해라. sleep 1000 커맨드도 포함해라.
- 위와같이 파일 생성해서 manifests 디렉터리에 넣어주었다.
- 이상하게 vi로 생성해서 넣어주니까 되지 않았다. 그래서 답지를 보았다.
- 처음에 touch로 생성해서 그런가라는 생각이 들었다. 생성이 잘 된 static-busybox.yaml을 cp해서 2버전을 만들어줬다.
- 그래도 되지 않는다.
- 아무래도 run --dry-run-client 를 이용해야 되나보다...
kubectl run --restart=Never --image=busybox static-busybox --dry-run=client -o yaml --command -- sleep 1000 > /etc/kubernetes/manifests/static-busybox.yaml
controlplane /etc/kubernetes/manifests ➜ k get po static-busybox-controlplane -o jsonpath='{.spec.containers[*].image}'
busybox:1.28.4
- edit 이후에 확인해주었다.
- static-greenbox 파드를 삭제하세요
- 일단 static 파드이기 때문에 워커 노드 kubelet에 의해서 띄워졌을 것이다.
- 잘 몰랐는데 워커 노드로 들어가기 위해 ssh INTERNAL-IP 명령어를 이용해주면 된다.
- 그리고 /var/lib/kubelet/ 디렉터리에 있는 config.yaml 파일을 확인 해주면 된다.
- staticPodPath 필드를 참조해서 static pod의 yaml 파일이 어디에 위치하는 지 확인
- 이 path 에 위치한 yaml 파일 삭제 해주고 기다리면 삭제된다.
- 처음에는 삭제가 안되어서 당황스러웠는데 기다려보니 삭제가 잘 진행되었다.
마지막에 워커 노드 직접 들어가서 파드를 지우는 과정이 조금 어려웠다. 그렇지만 이제 완벽히 이해가 갔다.
pod가 어떤 노드에 위치하는지 확인 -> ssh 로 노드 접근 -> cat /var/lib/kubelet/config.yaml -> staticPodPath 확인 -> path로 이동 -> yaml 파일 삭제
반응형
'자격증 > Kubernetes CKA' 카테고리의 다른 글
[CKA] Practice Test - Monitor Cluster Components, Managing Application Logs (0) | 2023.12.03 |
---|---|
[CKA] Logging & Monotoring (0) | 2023.12.03 |
[CKA] Practice Test - Daemonsets (0) | 2023.12.02 |
[CKA] Practice Test - Resource Limits (0) | 2023.12.02 |
[CKA] Practice Test - Node Affinity (0) | 2023.12.02 |