본문 바로가기
MLOps/Doker & Kubernetes

Udemy CKA 강의 정리 67. A quick note on editing PODs and Deployments

by 공부하는 무니 2023. 1. 9.
반응형

해당 내용은 Udemy의 Certified Kubernetes Administrator (CKA) with Practice Tests
강의를 공부한 내용입니다. 내용을 그대로 번역하기보다는, 제가 이해하기 쉬운 대로 수정한 부분들이 있습니다.

⚠️ 영어 독해가 많이 부족합니다. 틀린 내용이 있으면 알려주시면 감사하겠습니다.


Edit a POD

이미 존재하는 파드의 specification은 아래 외에는 수정할 수 없습니다.

  • spec.containers[*].image
  • spec.initContainers[*].image
  • spec.activeDeadlineSeconds
  • spec.tolerations

예를 들어 실행 중인 파드의 환경 변수, 서비스 계정, 리소스 제한(모두 나중에 설명함)을 편집할 수 없습니다. 하지만 정말로 원한다면 두 가지 옵션이 있습니다.

  1. kubectl edit pod <파드 이름> 명령을 실행합니다. 이렇게 하면 편집기(vi 편집기)에서 파드 specification이 열립니다. 그런 다음 필요한 속성을 편집합니다. 저장하려고 하면 거부됩니다. 편집할 수 없는 파드의 필드를 편집하려고 하기 때문입니다.

변경 사항이 포함된 파일의 복사본이 위와 같이 임시 위치에 저장됩니다.
그런 다음 다음 명령을 실행하여 기존 파드를 삭제할 수 있습니다.
kubectl delete pod webapp

그런 다음 임시 파일을 사용하여 변경 사항으로 새 파드를 만듭니다.
kubectl create -f /tmp/kubectl-edit-ccvrq.yaml

  1. 두 번째 옵션은 커맨드를 사용하여 YAML 형식의 파드 정의를 파일로 추출하는 것입니다.
    kubectl get pod webapp -o yaml > my-new-pod.yaml

그런 다음 편집기(vi 편집기)를 사용하여 내보낸 파일을 변경합니다. 변경 사항을 저장하세요.
vi my-new-pod.yaml

그런 다음 기존 파드를 삭제하십시오.
kubectl delete pod webapp

그런 다음 편집된 파일로 새 파드를 만듭니다.
kubectl create -f my-new-pod.yaml

Edit Deployments

deployments를 사용하면 POD 템플릿의 모든 필드/속성을 쉽게 편집할 수 있습니다. 파드 템플릿은 deployment spec의 하위 항목이므로 변경 사항이 있을 때마다 deployment가 자동으로 삭제되고 새 변경 사항이 포함된 새 파드가 생성됩니다. 따라서 deployment의 POD 부분 속성을 편집하라는 메시지가 표시되면 다음 명령을 실행하여 간단히 수행할 수 있습니다.
kubectl edit deployment my-deployment

반응형

댓글