kubernetes

k8s: yaml 파일 구조 - 2

PSAwesome 2022. 5. 31. 20:17
반응형

안녕하세요.

2022.05.18 - [kubernetes] - k8s: minikube 클러스터 만들기 - 1

이전 글에서 minikube 클러스터 구축과 간단한 실습 후 h2 db yaml 파일로 배포 및 정리 글입니다.

 

자세한 내용은 유튜브에 포함되어 있습니다 :)

https://www.youtube.com/watch?v=X48VuDVv0do&t=2623s

 

CUD - deploy command

이후 deployment, service, configmap, ingress, pod는 yaml 파일로 선언, apply 명령어로 배포합니다.

생성, 수정

kubectl apply -f [file-name]

삭제

kubectl delete -f [file-name]

 


 

세 가지 영역의 yaml 파일 구조

  1. metadata
  2. specification
  3. status

 

1. metadata : 최상위 메타데이터

Deployment yaml
Service yaml

 

 

 

컴포넌트를 위한 정보

포인트는 name 입니다!

name 단위로 object가 관리됩니다.

ex)

kubectl apply -f h2-deployment.yaml

kubectl get deployment h2-deployment

 

2. spec - specification

 

Deployment specification
Deployment spec 하위 형식

 

sepc:
    template:
        spec: {파드 설정 영역}

Service specification
Service spec 하위 형식

컴포넌트의 설정파일이라고 생각하시면 됩니다.

apiVersion 및 kind 설정에 따라 내부 형식이 달라지는 것을 알 수 있습니다.

 

3. status

해당 영역은 실행된 deployment 를 추출한 결과입니다.

kubectl get deployment h2-deployment -o yaml > h2-deployment-result.yaml

h2-deployment-result.yaml 구조
h2-deployment-result.yaml status 내용

status는 배포한 상태(기대하는 상태)입니다.

예시에선

deployment에서 replicas: 1 로 실행했기 때문에 1을 유지하도록 상태 값을 가지고 있게 됩니다.

h2-deployment.yaml 파일의 replicas를 2로 변경 후 배포를 한다면, editing이 발동되어 기대하는 상태 값으로 맞춰서 배포하는 방식입니다.

 

이해하며 실습할수록 흥미로운 쿠버네티스입니다.

 

반응형