반응형

K8s는 object(Pods, Replicas, Deployments, Service, etc)를 생성하기 위해 YAML File을 사용한다. 

 * Yaml 파일이 무엇인지 이해가 안된다면 이전 게시글 참고!

Udemy K8s absolute beginner course
https://www.containerlabs.kubedaily.com/Kubernetes/fundamentals/Pod.html

각 Object들은 모두 비슷한 형식을 따르는데, k8s definition 파일에는 항상 아래 4개의 상위 속성을 포함해야한다.

- apiVersion: object를 만들기 위해 사용할 k8s API version (예시는 두 번쨰 그림 속 kind/version 참고)

- kind: object type (pod, service, deployment, ...)

 

Udemy K8s absolute beginner course

- metadata: 이름, label과 같은 오브젝트의 data. 

  . label은 나중에 pod가 여러 개 생겼을 때, 이를 묶어줄 수 있는 역할을 한다. tag라고 보면 쉬울듯!

   label 밑에는 추가적인 key들을 작성해도 되지만, metaData 밑에는 key를 추가할 수 없다.

- spec: specification.

  . 위 3개를 보면, 그래서 어떤 containers를, 어떤 image파일로 만들건데! 하는 정보가 없다.  

     그래서 containers 및 image 정보를 작성하고, multiple-containers가 될 경우 list로 써줄 수도 있다.

 

* 각 Key값 뒤 Value를 입력할 땐, 콜론(:) 뒤 띄어쓰기(space)하는 것 잊지말기

 

 

이후 k8s definition.yaml 파일을 작성 후엔,

kubectl create -f definition.yaml

kubectl apply -f definition.yaml 로 pod를 만들 수 있고, 아래와 같이 상세 조회도 가능하다.

* kubectl edit pod [pod명]을 하면, 현재 running된 pod의 config값을 변경할 수 있다.

 

이렇게 yaml파일을 vi를 통해 만들 수도 있지만, Visual Studio Code를 사용하면 더 쉽게 만들 수 있다.

아래와 같이 들여쓰기도 스스로 해줄 뿐더러, 첨삭(내가 뭘 틀렸는지 혹은 어떻게 입력해야하는지) 가이드라인도

제공해주기 때문이다.

https://cloud.google.com/code/docs/vscode/yaml-editing?hl=ko

 

그런데 검색하다보니, 구글에서도 google cloud Code를 제공한다..

즉, 별도의 프로그램 다운이 필요없는 것이다. 갓 구글 ㄷ ㄷ

https://cloud.google.com/code/docs/vscode/yaml-editing?hl=ko 

 

Google Cloud 및 Kubernetes YAML 작업  |  VS Code용 Cloud Code

의견 보내기 Google Cloud 및 Kubernetes YAML 작업 Cloud Code는 구조 및 유효한 값 모두에 대한 스키마를 린트하고 자세한 오류를 제공하여 Kubernetes 및 Cloud Build 구성을 쉽게 만들 수 있도록 설계되어 있습

cloud.google.com

 

 

출처)

자료의 기반은 모두 Udemy의 'Kubernetes for the Absolute Beginners - Hands-on' Course 입니다!

반응형

+ Recent posts