MLOps/Doker & Kubernetes

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

공부하는 무니 2023. 1. 9. 15:53
반응형

해당 내용은 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

반응형