CKA

(TIL) kubectl apply의 내부 동작

심플코더 2025. 3. 23. 21:05

kubectl apply

kubectl apply를 통해 객체를 관리하는 방식은 declarative 방식에 해당한다.
이 명령어는 3가지 정보를 비교하는데 local configuration, live object, last-applied configuration 이 이에 해당한다.

local configuration

우리가 작성한 yaml 파일에 해당한다.

live object

클러스터에 존재하는 실제 객체 상태를 의미한다.

last-applied configuration

가장 마지막으로 kubectl apply를 실행했을 때의 상태를 의미한다.
해당 데이터는 kubectl.kubernetes.io/last-applied-configuration 이라는 필드로 저장된다.

 

imperative와의 혼용?

imperative(kubectl edit, create...등)방식과 혼용하여 사용하는 경우 last-applied 정보와 싱크가 맞지 않아 다음 apply 시 예상치 못한 결과가 발생할 수 있다.

따라서 두 방식의 혼용을 최대한 지양해야한다.