Certified Kubernetes Administration - 17
2024-06-20
- Kubernetes
- Cloud
비유를 통한 이해
-
명령형 접근법 (Imperative Approach):
-
택시를 타고 목적지에 도착하기 위해 운전사에게 단계별로 지시를 내리는 것.
-
예: 오른쪽으로 가고, 왼쪽으로 가고, 특정 거리에 도착하면 멈추는 식으로 세세한 지시를 내림.
-
명령형 접근법은 무엇을 해야 하는지뿐만 아니라 어떻게 해야 하는지를 지정.
-
-
선언형 접근법 (Declarative Approach):
-
오늘날 우버를 통해 택시를 부를 때, 최종 목적지만 지정하고 시스템이 최적의 경로를 찾는 것.
-
예: 톰의 집으로 가달라고 요청.
-
선언형 접근법은 무엇을 해야 하는지만 지정하고, 시스템이 자동으로 방법을 결정.
-
인프라 관리 접근법
-
명령형 접근법:
-
단계별 지시를 통해 인프라를 프로비저닝.
-
예: VM을 생성하고, NGINX 설치, 구성 파일 편집, 코드 다운로드, 서버 시작 등.
-
문제점: 중간에 단계가 실패할 경우 복잡한 체크와 추가 단계가 필요.
-
-
선언형 접근법:
-
요구사항을 선언하고 시스템이 자동으로 인프라를 구성.
-
예: NGINX가 설치된 VM을 필요로 한다고 선언.
-
장점: 시스템이 필요한 작업을 자동으로 결정하고 수행.
-
Kubernetes에서의 명령형 접근법
-
명령어 예제:
-
파드 생성:
kubectl run
-
디플로이먼트 생성:
kubectl create deployment
-
서비스 생성:
kubectl expose
-
오브젝트 편집:
kubectl edit
-
디플로이먼트 스케일링:
kubectl scale
-
이미지 업데이트:
kubectl set image
-
-
명령형 접근의 한계:
-
복잡한 오브젝트 생성 시 긴 명령어가 필요.
-
히스토리에만 기록되어 다른 사용자가 이해하기 어려움.
-
대규모 환경에서 관리 어려움.
-
Kubernetes에서의 선언형 접근법
-
객체 구성 파일 사용:
-
YAML 파일로 객체 정의.
-
kubectl create -f
명령어로 객체 생성. -
kubectl apply
명령어로 객체 업데이트.
-
-
선언형 접근의 장점:
-
객체 구성 파일이 항상 남아 있어 추적 가능.
-
코드 저장소에 저장 가능.
-
변경 사항 검토 및 승인 프로세스에 적합.
-
-
변경 사항 적용:
-
로컬 YAML 파일 수정 후
kubectl replace
명령어로 업데이트. -
kubectl apply
명령어로 객체가 없으면 생성, 있으면 업데이트.
-
명령형 및 선언형 접근법 요약
-
명령형 접근:
-
빠른 생성 및 수정에 유리.
-
시험에서 시간 절약에 도움.
-
복잡한 환경에서 관리 어려움.
-
-
선언형 접근:
-
YAML 파일을 통한 지속적 관리.
-
변경 사항 추적 및 검토 가능.
-
kubectl apply
명령어로 객체 생성 및 업데이트.
-
시험 준비 팁
-
명령형 명령어:
-
단순한 객체 생성 및 수정 시 빠르게 사용.
-
kubectl edit
명령어로 기존 객체 수정. -
복잡한 요구사항 시 객체 구성 파일 사용.
-
kubectl apply
명령어로 객체 업데이트.
-
-
문서화 및 실습:
-
Kubernetes 문서 페이지를 참고.
-
실습에서 명령형 접근법을 사용해 문제 해결 연습.
-
Certified ...
Certified ...