본문 바로가기

CKA &. CKAD/Scheduling

PODs 와 Deployments를 편집하기위한 Quick note

ㅁ 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