쿠버네티스에서 static pod 만들기 - cka 시험에서 자주 출제됨!
조금 늦은 쿠버네티스 공부 했던 부분을 올려보도록 하겠다.
init container에 대해 공부하던 도중, static pod에 대해서도 알게 되었다.
cka에도 자주 출제된다고 하니 ★기억하도록★
정의, static pod란?
- kubelet Daemon에 의해 동작되는 pod
- API 서버 없이 특정 노드에 있는 kubelet 데몬에 의해서 직접 관리
- etc/kubernetes/manifests/ 디렉토리에 k8s yaml 파일을 생성 및 저장시 자동 적용
위의 내용으로만 이해할 수 없으니, 직접 적용해보도록 하겠다.
node1 or node2에 들어가서
cat etc/lib/var/lib/kubernetes/config.yaml ->로 들어가서 일단 구성 되어 있는지 확인!
-> 위의 위치는 static pod가 들어있는곳, 즉 config file을 yaml 형식으로 만들어 줄 곳
-> 만약, 위의 경로 안에 yaml파일이 있으면 node1에서도 동작한다.
구현
node2로 들어가서
위의 경로로 들어가서 확인 했더니 아무것도 없다 == 아직 static pod가 하나도 없다는 뜻
여기서 cat > nginx.yaml
nginx.yaml 파일을 복사해서 넣어준 뒤, master에서 kubectl get pods -o wide를 하면 node2에서 실행되고 있는 것을 볼 수 있다.
**** 반드시 마스터 노드가 아닌 노드에서 실행, master 에서는 그 외 api, kube-controller 등등이 존재함 ***
→ master의 역할
가장 중요 → api 도움 없이 kubelet daemon 으로 pod를 실행 하는 기능!
static pod path를 정의하고 그 속에 yaml 파일을 넣어줌 !