성장일기/Kubernetes
kubectl apply create 주요 차이점 정리
지추월자
2024. 6. 17. 11:32
반응형
kubectl create
와 kubectl apply
는 Kubernetes 클러스터에서 리소스를 생성하고 업데이트하는 데 사용되는 명령어입니다.
이 두 명령어의 차이점은 리소스를 생성하는 것, 리소스를 생성하거나 업데이트 하는 것입니다.
kubectl create
- 주요 목적: 새 리소스를 생성합니다.
- 동작: 지정된 매니페스트 파일을 읽고, 해당 리소스가 클러스터에 존재하지 않는 경우 새로 생성합니다. 이미 존재하는 경우 오류를 발생시킵니다.
- 사용 예시:
kubectl create -f <filename>
kubectl apply
- 주요 목적: 리소스를 생성하거나 업데이트합니다.
- 동작: 지정된 매니페스트 파일을 읽고, 해당 리소스가 클러스터에 존재하지 않는 경우 새로 생성합니다. 이미 존재하는 경우 매니페스트 파일의 내용에 따라 리소스를 업데이트합니다.
- 사용 예시:
kubectl apply -f <filename>
주요 차이점 요약
- 동작 방식:
create
: 리소스가 이미 존재하면 오류를 반환합니다. 새로운 리소스만 생성합니다.apply
: 리소스가 존재하면 업데이트하고, 존재하지 않으면 새로 생성합니다.
- 주요 사용 시나리오:
create
: 리소스를 처음으로 생성할 때 사용합니다. 주로 리소스를 처음 배포할 때 사용합니다.apply
: 기존 리소스를 업데이트할 때 사용합니다. CI/CD 파이프라인에서 배포 설정을 지속적으로 적용할 때 유용합니다.
- 구성 관리:
apply
는 구성 관리에 더 적합합니다.kubectl apply
는 주로 인프라 코드(IaC) 방식으로 Kubernetes 클러스터를 관리할 때 사용됩니다.
따라서 리소스를 처음 생성하는 경우에는 kubectl create
를 사용할 수 있으며, 리소스를 업데이트하거나 재구성할 때는 kubectl apply
를 사용하는 것이 일반적입니다.
빠르게 단일 리소스를 생성하고자 할 때는 create가 편할 것으로 보이고, create는 단일 명령어로도 제공하니까 이런 부분은 장점인 것 같네요
예를 들어 아래와 같이 명령어로도 컨트롤해서 사용할 수 있습니다.
kubectl create deployment nginx --image=nginx
반응형