본문 바로가기

⭐ Kubernetes & EKS/Kubernetes (쿠버네티스)

쿠버네티스 Create VS Apply 차이점

쿠버네티스 공부를 하던 중 Pod을 생성할 때 명령어가 두 가지가 존재하여, 무엇이 차이가 있는지 찾아보았습니다.

command 리소스가 존재하지 않을 경우 리소스가 이미 존재할 경우
create 새로운 리소스가 생성됩니다. ERROR가 발생합니다.
apply 새로운 리소스가 생성됩니다. 리소스를 구성합니다.
(부분적인 spec을 적용합니다.)
replace ERROR가 발생합니다. 리소스가 삭제된 뒤 새롭게 생성됩니다.

create VS apply

create 명령은 각 리소스의 구성이 그 구성파일 내에 완전하게 정의되고 기록된 경우 잘 작동합니다. 하지만 리소스가 업데이트 되고, 업데이트 내용이 구성파일 안에 병합되지 않으면, 업데이트 내용은 다음 replace가 될 때 삭제됩니다.

동일 리소스에 대해 여러 명의 작성자들로부터의 지원이 필요한 경우, 리소스를 관리하기 위해 kubectl apply를 사용할 수 있습니다.

쉽게 말해, create 명령어는 yaml 파일안에 모든 것을 기술해야 하는 반면 apply 명령어는 부분적인 spec만 주어져도 업데이트가 잘 진행 된다는 뜻입니다.