매니페스트는 JSON 또는 YAML 포맷으로 작성할 수 있다.
주석을 작성할 수 있는 YAML 포맷이 인기가 있다.
pod.yaml, 컨테이너 하나를 실행하는 단일 파드 예시
# 매니페스트 스크립트는 쿠버네티스 API의 버전과
# 정의하려는 리소스의 유형을 밝히며 시작한다.
apiVersion: v1
kind: Pod
# 리소스의 메타데이터에는 필수 요소인 이름과
# 비필수 요소인 레이블이 있다.
metadata:
name: hello-kiamol-3
# 스펙은 리소스를 정의한다.
# 파드의 경우 실행할 컨테이너(이름, 이미지)를 정의한다.
spec:
containers:
- name: web
image: kiamol/ch02-hello-kiamol
kubectl 의 run 명령을 사용할 때보다 작성해야할 내용이 많아졌지만, 애플리케이션 매니페스트의 장점은 선언적 스크립트라는 점이다.
kubectl 로 run 또는 create 명령을 사용하는 방식은 명령형이다.
명령형은 쿠버네티스에 할 일을 지시하는 방식인 반면에, 선언적 방식은 최종 결과가 어떻게 되어야 하는지 알려주고 그 최종 결과를 만드는 과정은 따지지 않는 방식이다.
매니페스트 파일을 작성한 후 애플리케이션을 배포할 때는 kubectl apply 명령을 사용한다.
즉, 파일에 기술된 설정을 클러스터에 적용하라는 의미이다.
매니페스트 파일은 로컬 컴퓨터에 있는 파일이나 URL이 가리키는 웹 서버에 저장된 파일 모두 사용할 수 있다.
kubectl apply -f https://raw.githubusercontent.com/sixeyed/kiamol/master/ch02/pod.yaml'K8s' 카테고리의 다른 글
| 쿠버네티스의 리소스 관리 이해하기 (0) | 2024.08.24 |
|---|---|
| 파드에서 실행 중인 애플리케이션에 접근하기 (0) | 2024.08.24 |
| 파드의 레이블이 수정된다면 디플로이먼트가 적절한 조치를 취한다. (0) | 2024.08.20 |
| 컨트롤러 객체는 레이블 셀렉터를 통해 자신이 관리하는 리소스를 식별한다. (0) | 2024.08.20 |
| 디플로이먼트는 파드를 관리하는 컨트롤러 객체 (0) | 2024.08.20 |
댓글