Skip to content

10. YAML


1. 기본 문법

1) 들여쓰기(Indent)

  • 들여쓰기는 기본적으로 2칸 또는 4칸을 지원함


1] 2칸 들여쓰기 (추천)

person:
  name: Chungsub Kim
  job: Developer
  skills:
    - docker
    - kubernetes


2] 4칸 들여쓰기

person:
  name: Chungsub Kim
  job: Developer
  skills:
    - docker
    - kubernetes


2) 데이터 정의(Map)

  • 데이터는 key:value 형식으로 정의함


apiVersion: v1
kind: Pod
metadata:
  name: echo
  labels:
    type: app
{
  "apiVersion": "v1",
  "kind": "Pod",
  "metadata": {
    "name": "echo",
    "labels": {
      "type": "app"
    }
  }
}


3) 배열 정의(Array)

  • 배열은 -로 표시함


person:
  name: Chungsub Kim
  job: Developer
  skills:
    - docker
    - kubernetes
{
  "person": {
    "name": "Chungsub Kim",
    "job": "Developer",
    "skills": ["docker", "kubernetes"]
  }
}


4) 주석(Comment)

  • 주석은 #으로 표시함


# 전체 라인 주석처리
person:
  name: Chungsub Kim
  job: Developer
  skills:
    - docker
    - kubernetes
person:
  name: Chungsub Kim # 일부 주석처리
  job: Developer
  skills:
    - docker
    - kubernetes


5) 참/거짓, 숫자 표현

  • 참/거짓은 true, false 외에 yes, no를 지원함


study_hard: yes
give_up: no
hello: True
world: TRUE
manual: false


  • 정수 또는 실수를 따옴표 없이 사용하면 숫자로 인식함


# number
version: 1.2

# string
version: "1.2"


6) 줄바꿈(Newline)

  • | 지시어는 마지막 줄바꿈이 포함


newlines_sample: |
  number one line

  second line

  last line
{
  "newlines_sample": "number one line\n\nsecond line\n\nlast line\n"
}


  • |- 지시어는 마지막 줄바꿈을 제외


newlines_sample: |-
  number one line

  second line

  last line
{
  "newlines_sample": "number one line\n\nsecond line\n\nlast line"
}


  • > 지시어는 중간에 들어간 빈줄을 제외


newlines_sample: >
  number one line

  second line

  last line
{
  "newlines_sample": "number one line\nsecond line\nlast line\n"
}


2. 주의 사항

1) 띄어쓰기

  • keyvalue 사이에는 반드시 빈칸이 필요함


# error (not key-value, string)
key:value

# ok
key: value


2) 문자열 따옴표

  • 대부분의 문자열을 따옴표 없이 사용할 수 있지만 :가 들어간 경우는 반드시 따옴표가 필요함


# error
windows_drive: c:

# ok
windows_drive: "c:"
windows_drive: 'c:'

References