3. Introduction - YAML

2024. 6. 18. 03:20·Kubernetes
이 글은 아래 자료를 참고하여 작성되었습니다.

Udemy [Kubernetes For the Absolute Beginners]

 

1. YAML이란

YAML은 데이터를 표현하기 위한 인간 친화적인 데이터 직렬화 표준으로, 주로 설정 파일이나 데이터 저장 및 전송에 사용된다. 직관적이고 간단한 문법 덕분에 사람들이 읽고 쓰기 쉬운 형식으로 데이터를 표현할 수 있다. 다른 데이터 직렬화 표준으로는 JSON, XML 등이 있다.

  • YAML: 들여쓰기를 사용하여 계층 구조를 표현하고, 주석을 지원하며, 사람이 읽기 쉬운 형식이다.
  • JSON: 중괄호 {}와 대괄호 []를 사용하여 구조를 표현하며, 주석을 지원하지 않는다. 주로 웹 애플리케이션에서 데이터 전송에 사용된다.
  • XML: 태그를 사용하여 데이터를 표현하며, 확장성과 유효성 검사를 지원한다. 주로 문서 및 데이터 교환에 사용된다

 

2. 기본 구조

YAML은 들여쓰기를 사용하여 계층 구조를 나타낸다. 들여쓰기는 공백 문자(스페이스)를 사용하며, 탭 문자는 사용할 수 없다. 들여쓰기는 일관되게 유지해야 한다.

YAML의 기본 데이터 구조는 키-값 쌍이다. 키와 값은 콜론과 공백으로 구분된다.

주석은 # 문자로 시작하며, 줄의 끝까지 주석으로 처리된다

example:
  key1: value1
  key2: value2

# 이 주석은 무시됩니다
key: value # 이 주석도 무시됩니다

 

 

3. 데이터 유형

3-1. 스칼라 (Scala)

스칼라는 YAML의 기본 데이터 유형으로, 단일 값(문자열, 숫자, boolean 등)을 나타낸다. 문자열은 큰따옴표나 작은따옴표로 감싸거나, 감싸지 않을 수도 있다.

string: "Hello, World"
integer: 42
boolean: true

3-2. 리스트 (List)

리스트는 여러 값을 순서대로 나열할 때 사용하며, 각 항목은 - 기호로 시작한다.

리스트는 여러 항목을 저장할 때 사용한다. 예를 들어, 여러 과일의 정보를 저장할 때 사용할 수 있다.

리스트는 순서가 있는 컬렉션이다. 리스트의 항목 순서는 중요하다.

fruits:
  - apple
  - banana
  - cherry

3-3. 딕셔너리 (Dictionary)

딕셔너리는 키-값 쌍으로 이루어진 데이터 구조이다. 각 키는 고유해야 하며 값은 스칼라, 리스트 또는 또 다른 딕셔너리가 될 수 있다.

딕셔너리는 단일 객체의 여러 속성을 저장할 때 사용한다. 예를 들어, 사람의 정보를 저장할 때 사용할 수 있다.

딕셔너리는 순서가 없는 컬렉션이다. 딕셔너리의 속성 순서는 중요하지 않다.

person:
  name: John Doe
  age: 30
  address:
    street: 123 Main St
    city: Anytown

3-4. 복합구조

리스트는 딕셔너리를 포함할 수 있으며, 딕셔너리 역시 리스트를 포함할 수 있다.

아래에서 frunts는 리스트로, 각 항목은 딕셔너리로 구성되어 있다. 

fruits:
  - name: banana
    nutrition:
      calories: 105
      fat: 0.3
      carbs: 27
  - name: grape
    nutrition:
      calories: 62
      fat: 0.4
      carbs: 16

'Kubernetes' 카테고리의 다른 글

6. Core Concepts - pod  (0) 2024.06.24
5. Introduction - Minikube  (1) 2024.06.24
4. Introduction - Kubernetes with YAML  (1) 2024.06.24
2. Kubernetes Overview - orchestration  (0) 2024.06.16
1. Kubernetes Overview - container  (0) 2024.06.16
'Kubernetes' 카테고리의 다른 글
  • 5. Introduction - Minikube
  • 4. Introduction - Kubernetes with YAML
  • 2. Kubernetes Overview - orchestration
  • 1. Kubernetes Overview - container
SerenaDev
SerenaDev
나의 기술블로그 입니다.
  • SerenaDev
    나의 기술블로그
    SerenaDev
    • 분류 전체보기 (33)
      • FastAPI (1)
      • Iceberg (6)
      • Kubernetes (24)
      • ETC (1)
      • 독서 (1)
  • hELLO· Designed By정상우.v4.10.0
SerenaDev
3. Introduction - YAML
상단으로

티스토리툴바