컨테이너/쿠버네티스
[쿠버네티스] create VS apply
hsayho
2021. 1. 30. 13:45
쿠버네티스 공부를 하던 중 Pod을 생성할 때 명령어가 두 가지가 보여서 무엇에 차이가 있는지 궁금하여 찾아보았습니다.
command |
object가 존재하지 않을 경우 |
object가 이미 존재할 경우 |
create |
새로운 object가 생성됩니다. |
ERROR |
apply |
새로운 object가 생성됩니다. |
object를 구성합니다. (부분적인 spec을 받아들입니다.) |
replace |
ERROR |
obejct가 삭제된 뒤 새롭게 생성합니다. |
create VS apply
create 명령은 각 오브젝트의 구성이 그 구성파일 내에 완전하게 정의되고 기록되어질 경우 잘 작동합니다. 하지만 활성 오브젝트가 업데이트 되고, 구성파일 안에 병합하지 않으면, 업데이트 내용은 다음 replace가 될 때 삭제될 것입니다.
이렇게 동일 오브젝트에 대해 여러 명의 작성자들로부터의 지원이 필요한 경우, 오브젝트를 관리하기 위해
kubectl apply를 사용할 수 있습니다.
쉽게 말해, create 명령어는 yaml 파일안에 모든 것을 기술해야 하는 반면 apply 명령어는 부분적인 spec만 주어져도 업데이트가 잘 일어난다는 뜻입니다.