매니페스트란,
쿠버네티스의 오브젝트를 생성하기 위한 메타 정보를 YAML이나 JSON으로 기술한 파일이다.
키: 값 형태로 작성하는 파일.
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:latest
설명
apiVersion: apps/v1 키가 apiVersion 이고 값이 apps/v1 metadata: 키가 metadata 이고 값이 name: nginx-deployment name: nginx 값은 또 다른 키와 값이 될 수 있다. spec: 키가 spec이고 값이 containers: containers: - name: nginx - name: nginx image: nginx:latest image: nginx:latest 값은 여러개를 가질 수 있다. containers: -은 키의 값이 배열임을 의미 - dog - cat containers[0] 은 dog containers[1] 은 cat containers[2] 는 rabbit - rabbit containers: -이 없으면 이전 요소에 포함된다. - dog cat containers[0] 은 dog cat containers[1] 은 rabbit - rabbit
nodeName
nodeSelector
apiVersion : v1 설정 kind : 오브젝트를 지정 metadata : 오브젝트의 정보를 입력, name은 필수, spec : initContainers : 초기화 전용 컨테이너의 명세를 기술 nodeSelector : Pod가 배포될 노드의 이름을 지정 volumes : Pod 내 컨테이너 간에 공유할 수 있는 볼륨을 지정 containers : 컨테이너의 명세를 배열(대쉬'-')로 기술 image : 컨테이너 생성시 사용할 이미지 name : 컨테이너 이름 livenessProbe : 컨테이너 내의 프로그램이 정상적으로 동작 중인지 검사하는 프로브 readinessProbe : 컨테이너 내의 프로그램이 사용자의 요청을 받을 준비가 되었는지 검사하는 프로브 ports : 외부 요청을 전달하기 위한 포트 목록 resources : CPU와 메모리 제한 volumeMounts : 파드에 정의한 볼륨을 컨테이너의 마운트할 경로 command : 컨테이너 생성 시 마지막에 실행할 명령어 args : command의 매개변수 env : 환경변수 설정
chan-pod-test.yaml
apiVersion: v1 kind: Pod metadata: name: chan spec: containers: - name: chan-pod-test image: sysnet4admin/chk-hn ports: - containerPort: 8080 nodeSelector: kubernetes.io/hostname: worker1
kubectl apply -f [yaml 파일 이름]
kubectl apply -f chan-pod-test.yaml
kubectl delete -f [yaml 파일 이름]