Search

YAML in Kubernetes

Created
2023/09/29 01:55
Tags
k8s
CKA
Mumshad Mannambeth
Core Concept
apiVersion: kind: metadata: # ... spec: # ...
YAML
복사
쿠버네티스의 모든 객체는 YAML 파일을 이용하여 정의할 수 있고, 기본적으로는 위 4개의 필드를 포함해야 해서 대체로 객체들 간의 정의가 비슷한 구조를 가짐

apiVersion

이는 쿠버네티스의 객체를 생성할 때 사용하는 쿠버네티스 API 버전을 의미
만들려는 객체에 따라 쿠버네티스 API 버전이 달라질 수 있음

kind

생성하려는 쿠버네티스 객체의 유형을 의미
Pod, Service, Deployment 등이 올 수 있음

metadata

생성하려는 쿠버네티스 객체를 지칭하는 데이터를 의미
이름, 라벨 등이 포함될 수 있으며, 라벨의 경우 딕셔너리 형태를 가짐
라벨의 경우 app, type 등을 통해 객체들의 분류를 해내기가 쉬워지고, 객체 식별에 유용하게 사용됨
YAML 파일 내에서 다른 필드들과 달리 라벨은 딕셔너리 형태를 갖기 때문에 원하는 키-값을 자유롭게 추가할 수 있음

spec

생성하려는 객체가 기반으로하는 Container의 사양을 정의
어떤 이미지를 사용하려는지를 명시함과 동시에 생성하려는 객체의 종류에 따라 사양 정의가 각자 다름