쿠버네티스는 yaml 파일을 사용하여 개체를 생성할 수 있다.
POD 정의 파일
apiVersion: v1 # string
kind: Pod # string
# dictionary
metadata:
# child of metadata
name: myapp-pod
labels:
app: myapp
type: front-end
spec:
containers: # list 여러 컨테이너를 띄울 수 있음
- name: nginx-container # - 는 리스트의 첫 번째 아이템임을 의미
image: nginx
최상위 필드
- apiVersion
개체 생성에 사용하는 쿠버네티스 API 버전
생성하려는 개체에 따라 올바른 버전을 사용해야 한다. - kind
생성하는 개체의 유형 (Pod, ReplicaSet, Deployment, Service)
kind apiVersion Pod v1 Service v1 ReplicaSet apps/v1 Deployment apps/v1 - metadata
개체의 이름, 레이블 등과 같은 데이터
딕셔너리 형식으로 name, label은 metadata의 하위 항목이다.
label은 키-값 형식의 딕셔너리로, 추가가 자유로우며 pod 필터링 기준으로 사용할 수 있다. - spec
쿠버네티스에게 전달할 생성 개체와 관련된 추가 정보
yaml 파일을 이용한 개체 생성 명령어
kubectl create -f <FILE_NAME>