728x90
반응형
출처
Cloud Native DevOps with Kubernetes / 쿠버네티스를 활용한 클라우드 네이티브 데브옵스
Certified Kubernetes Administrator (CKA) with Practice Tests(Udemy)
접근법
두 가지의 접근법
애플리케이션 배포 및 관리 방식과 관련이 있는
자원 기반 접근법(Declarative Approach)과 명령 기반 접근법(Imperative Approach)이다.
자원 기반 접근법(Declarative Approach)
상태를 정의하는 방식
YAML 파일을 사용하여 배포 설정을 정의하고, kubectl apply -f deployment.yaml 명령어로 적용하는 방식
- 선언적 방식은 변경된 상태를 쉽게 추적하고, 자동으로 복원할 수 있어 안정성이 높다.
- 상태가 정의되어 있어 쉽게 관리하고 재사용할 수 있다.
명령 기반 접근법(Imperative Approach)
구체적인 작업을 명령으로 실행하는 방식
kubectl create deployment nginx --image=nginx 명령어로 deployment를 직접 생성하는 방식
- 빠르고 직관적으로 실행할 수 있으며, 작은 변경 사항을 신속하게 처리할 수 있다.
- 명령을 통해 리소스를 즉시 수정할 수 있어 유연하다.
접근법 비교하기
자원 기반 접근법(Declarative Approach) vs 명령 기반 접근법(Imperative Approach)
둘 중 어느 방식이 더 나은지에 대한 선택은 프로젝트의 성격과 요구 사항에 따라 다르다.
대규모 시스템에서는 자원 기반 접근법이 더 유리하고, 작은 작업이나 실험적인 작업에서는 명령 기반 접근법이 빠르고 효율적일 수 있다.
배포방식
Imperative | Create Objects |
kubectl run --image=nginx nginx |
---|---|---|
kubectl create deployment --image=nginx nginx | ||
kubectl expose deployment nginx --port 8080 | ||
Update Objects | kubectl edit deployment nginx | |
kubectl scale deployment nginx --replicas=5 | ||
kubectl set image deployment nignx nginx=nginx:latest | ||
Declarative | Create & Update | kubectl apply -f nginx.yaml |
명령 기반 접근법 팁
--dry-run 옵션
#--dry-run 옵션을 사용하면 실제로 자원을 생성하지 않고, 명령어가 실행될 때 리소스가 정상적으로 생성될 수 있는지 확인만 한다.
#--dry-run=client: 명령을 실행하고, 실제로 자원을 만들지 않으며 클라이언트 측에서만 실행 결과를 확인할 수 있다.
[root@]$ kubectl run nginx --image=nginx --dry-run=client
-o yaml 옵션
#-o yaml 옵션을 사용하면 YAML 형식으로 리소스 정의를 출력한다.
#리소스가 실제로 생성되지 않고, 대신 리소스를 생성할 때 필요한 YAML 파일을 출력할 수 있다.
[root@]$ kubectl run nginx --image=nginx --dry-run=client -o yaml
728x90
반응형
'클라우드 > 쿠버네티스' 카테고리의 다른 글
[쿠버네티스] 네임스페이스 (0) | 2024.11.10 |
---|---|
[쿠버네티스] 서비스 (0) | 2024.11.09 |
[쿠버네티스] ReplicaSet (0) | 2024.10.27 |
[쿠버네티스] ETCD (0) | 2024.09.21 |
[쿠버네티스] Container Runtime Interface (CRI) (0) | 2024.09.16 |
댓글