ㅁ Edit a POD
아래 이외의 기존 POD의 spec은 변경할 수 없다.
- spec.containers[*].image
- spec.initContainers[*].image
- spec.activeDeadlineSeconds
- spec.tolerations
예를 들어 실행중인 POD의 환경 변수, 서비스 계정, 리소스 Limit은 모두 편집할 수 없다.
하지만 정말 편집하길 원한다면 아래의 두가지 옵션이 있다.
첫번째 kubectl edit pod <pod name>
이 명령어를 사용하면 vi editor가 열리고 거기서 속성을 편집한다. 하지만 편집하려고 하면 거부된다. 편집할 수 없는 POD의 필드를 편집하려고 하고 때문이다.
변경 사항이 있는 파일의 Copy본은 위에 표시된대로 임시 위치(/tmp/kubectl-edit-ccvrq.yaml)에 저장된다. 그런 다음 다음 명령을 실행하여 기존 POD를 삭제한다.
kubectl delete pod webapp
그 후 다음 임시 파일을 사용하여 변경 사항으로 새 포드를 만든다.
kubectl create -f /tmp/kubectl-edit-ccrq.yaml
2. 두 번째 옵션은 다음 명령을 사용하여 yaml 형식의 POD 정의를 파일로 추출하는 것이다.
kubectl get pod webapp -o yaml > my-new-pod.yaml
그 후 편집기(vi editor)를 사용하여 해당 파일을 변경 한다.
vi my-new-pod.yaml
그 후 기존 POD를 삭제
kubectl delete pod webapp
그 후 편집된 파일로 새 파일을 만든다.
kubectl create -f my-new-pod.yaml
세번째 Edit Deployments
Deployment를 사용하면 POD template의 필드 및 속성을 쉽게 변경할 수 있다. POD Template은 deployment spec의 하위 항목이므로 Deployment가 변경될 때 자동으로 삭제되고 새 변경 사항으로 새 포드가 생성된다. 따라서 배포의 POD 부분 속성을 편집하라는 메시지가 표시되면 다음 명령을 실행하여 간단히 수행할 수 있다.
kubectl edit deployment my-deployment
'CKA &. CKAD > Scheduling' 카테고리의 다른 글
Practice Test - Daemon Sets (0) | 2021.03.26 |
---|---|
Practice Test - Resource Limits (0) | 2021.03.26 |
Resource Limits (0) | 2021.03.26 |
Practice Test - Node Selectors/Affinity (0) | 2021.03.26 |
Practice Test - Taints and Tolerations (0) | 2021.03.26 |