Kubernetes에서 자원을 관리하고 배포하는 데는 다양한 명령어가 사용됩니다. 이 글에서는 Kubernetes의 핵심 명령어인 kubectl apply
와 kubectl create
의 차이점을 살펴보고, 언제 어느 명령어를 사용해야 하는지를 알아보겠습니다.
kubectl apply
의 특징 및 사용법
kubectl apply
명령어는 Kubernetes 리소스의 구성을 선언적으로 관리하는 데 사용됩니다. 이 명령어는 리소스의 현재 상태를 JSON 또는 YAML 파일 형식으로 지정된 원하는 상태와 비교하여, 필요한 변경사항을 적용합니다.
주요 특징
- 변경사항만 적용: 기존 리소스의 설정을 수정하거나 추가할 때 유용합니다.
- 선언적 업데이트: 리소스의 전체 정의를 제공하고 Kubernetes가 필요한 변경을 파악해 적용합니다.
예시 사용법
# sample-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: sample-deployment
spec:
replicas: 3
...
kubectl apply -f sample-deployment.yaml
kubectl create
의 특징 및 사용법
반면, kubectl create
명령어는 새로운 Kubernetes 리소스를 생성할 때 사용됩니다. 이 명령어는 주로 초기 리소스 생성에 적합하며, 기존 리소스에 대해서는 작동하지 않습니다.
주요 특징
- 새 리소스 생성: 존재하지 않는 새 리소스를 만드는 데 사용됩니다.
- 명시적 생성: 명령어가 호출될 때 리소스가 생성됩니다.
예시 사용법
# sample-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: sample-pod
spec:
containers:
- name: sample-container
image: nginx
kubectl create -f sample-pod.yaml
차이점 요약
kubectl apply
: 기존 리소스의 수정 및 관리에 적합, 선언적 방식으로 리소스의 상태를 관리.kubectl create
: 새로운 리소스의 생성에 적합, 명령어 실행 시 즉각적으로 리소스 생성.
언제 어떤 명령어를 사용해야 하나요?
- 리소스 생성: 처음으로 리소스를 만들 때는
kubectl create
를 사용합니다. - 기존 리소스 업데이트: 이미 생성된 리소스의 설정을 변경하거나 업데이트해야 할 경우
kubectl apply
를 사용합니다.
참고 자료
- Kubernetes 공식 문서: kubectl apply 및 kubectl create
이 글을 통해 Kubernetes의 kubectl apply
와 kubectl create
명령어의 차이점을 이해하고, 적절한 상황에서 적합한 명령어를 선택하여 사용할 수 있기를 바랍니다.
'About > Kubernetes' 카테고리의 다른 글
Kubernetes TLS 인증서 발급: ClusterIssuer Solver 활용하기 (HTTP01 Solver, DNS01 Solver) (0) | 2024.12.15 |
---|---|
[k8s] 쿠버네티스 파드 CPU 및 메모리 체크 방법 (0) | 2023.05.03 |
[k8s][Error] Arm-AMD CPU 사이 문제 해결 - 파드 생성 시 CrashLoopBackOff, exec user process caused: exec format error 문제 (7) | 2022.06.13 |
[k8s][따배쿠] 쿠버네티스 아키텍처 - yaml 템플릿과 API Version (0) | 2022.03.30 |
[k8s][따배쿠] 쿠버네티스 아키텍처 - namespace (0) | 2022.03.29 |