Killer Shell CKA - Static Pod move

1 개요[ | ]

Killer Shell CKA - Static Pod move
  • https://killercoda.com/killer-shell-cka/scenario/static-pod-move
  • 요구사항
    • static Pod resource-reserver-beta 를 Node node01에서 Node controlplane 으로 “이전”한다.
    • Pod 이름을 resource-reserver-v1 로 변경한다.
    • kubelet은 /etc/kubernetes/manifests 디렉터리를 감시하며, 여기에 있는 매니페스트로 정적 파드를 기동한다.

2 사전 확인[ | ]

  • 현재 static Pod의 매니페스트와 상태를 확인한다.
controlplane:~$ k get pod -A -owide | grep resource
default              resource-reserver-beta-node01             1/1     Running   0             104s   192.168.1.4   node01         <none>           <none>
controlplane:~$ ssh node01
Last login: Mon Feb 10 22:06:42 2025 from 10.244.0.131

node01:~$ cat /etc/kubernetes/manifests/resource-reserver.yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    project: resource-reserver
  name: resource-reserver-beta
spec:
  containers:
  - image: nginx:alpine
    name: c1

node01:~$ exit
logout

controlplane:~$

3 이전 절차[ | ]

1) node01의 static Pod 매니페스트를 controlplane으로 복사

controlplane:~$ scp node01:/etc/kubernetes/manifests/resource-reserver.yaml .
resource-reserver.yaml                                                                      100%  190   282.9KB/s   00:00

2) 이름을 resource-reserver-v1 로 변경하여 편집

controlplane:~$ vim resource-reserver.yaml

예시(핵심 변경: metadata.name):

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    project: resource-reserver
  name: resource-reserver-v1
spec:
  containers:
  - image: nginx:alpine
    name: c1

3) controlplane의 정적 파드 디렉터리로 배치

controlplane:~$ mv resource-reserver.yaml /etc/kubernetes/manifests/resource-reserver.yaml
controlplane:~$ kubectl get pods -A -o wide | grep resource-reserver
default              resource-reserver-beta-node01             1/1     Running   0             5m43s   192.168.1.4   node01         <none>           <none>
default              resource-reserver-v1-controlplane         1/1     Running   0             40s     192.168.0.4   controlplane   <none>           <none>

4) 원본(node01)의 매니페스트 삭제(“이전”이므로 필수)

controlplane:~$ ssh node01 -- rm -f /etc/kubernetes/manifests/resource-reserver.yaml
controlplane:~$ kubectl get pods -A -o wide | grep resource-reserver
default              resource-reserver-v1-controlplane         1/1     Running   0             72s   192.168.0.4   controlplane   <none>           <none>

4 검증[ | ]

  • controlplane 쪽에만 미러 파드가 남아 있고, 이름이 반영되었는지 확인한다.
controlplane:~$ kubectl get pods -A -o wide | grep resource-reserver
default              resource-reserver-v1-controlplane         1/1     Running   0             59s   192.168.0.4   controlplane   <none>           <none>

5 같이 보기[ | ]

6 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}