kubectl apply

zuckerfrei·2023년 6월 25일
0

Kubernetes

목록 보기
18/63

선언적 방식(Declarative)으로 객체를 관리하는 명령어


관련 항목

kubectl apply 명령어는 다음과 같은 3가지 항목을 사용하여 동작한다.

  1. local file - yaml
    • 사용자가 생성/사용하는 yaml 파일
  2. last applied configuration - json
    • 3번 파일의 metadata.annotations 하위에 존재하는 json 포맷의 데이터
    • edit, create, scale 명령어를 사용하더라도 변경되지 않는 부분 → 선언적(파일) 방식과 명령형 방식을 섞어서 사용하면 안 되는 이유
  3. live object configuration - yaml
    • k8s 메모리에 존재하는 객체 설정 파일
    • 2번을 포함하고 있음
    • edit, create, scale 명령어 사용시 변경되는 부분

왼쪽부터 순서대로 1번, 2번, 3번 항목


주의

선언형 방식으로 관리하던 중 명령형 방식의 명령어를 사용해버리면,
1번과 2번 설정에는 누락된 사항이 3번에만 존재할 수 있다.

  • 선언형 방식 : apply 명령어를 쓰면 1번과 2,3번을 비교하여 생성/수정/삭제를 수행한다.
  • 명령형 방식 : edit, create, scale 명령어를 쓰면 3번만 생성/수정/삭제를 수행한다.

즉, “항상 1번 파일의 상태로 클러스터가 구성되기를 원한다”는 선언형 방식의 구성이 깨져버릴 수 있다는 뜻이다.
그래서 선언형 방식과 명령형 방식을 섞어서 사용하면 안 된다.

블로그에서 apply 명령어의 동작 방식 및 예시를 잘 설명하고 있다.

profile
무설탕 음료를 좋아합니다

0개의 댓글