YAML

_wiwater·2022년 10월 23일
0

클라우드

목록 보기
1/4
post-thumbnail
post-custom-banner
  • 실습 전 yaml 다운로드

  1. YAML이란?
  • 데이터 표현 양식의 한 종류

  • 인간친화적인 형태 -> 인간이 보고 이해하기 쉬운 형태를 가지고 있음

    	#YAML
    	Servers:
    	 - name: Server1
           administrator: Kim
           created: 20050103132749
           status: active
    	 - name: Server2
           administrator: Lee
           created: 20210101000000
    	   status: active

    -> 기본적으로 들여쓰기(indent)를 원칙으로 하며 데이터는 Map(key-value) 형식으로 작성

  • 데이터 직렬화

    • 직렬화란 컴퓨터에서 데이터를 파일이나, 메모리, 데이터베이스처럼 특정 공간에 저장하는 과정
    • 다양한 프로그래밍 언어로 만들어진 앱들이 서로 통신할 때 원활한 데이터 전달을 위해 사용된 표준이 필요, 이러한 역할을 하는 언어가 바로 Data Serialization Language
      --> 대표적으로 YAML, Json
  1. YAML vs Json
  • JSON

    • java script object notation의 약자로, 아주 가벼운 데이터 통신 양식

    • 웹 어플리케이션에서 매우 손쉽게 해석될 수 있고, 단순한 모양과 규칙으로 거의 모든 프로그래밍 언어에서 JSON을 해석, 저장하는 것이 지원되고 있음

    • Json의 시작과 끝이 중괄호로 이루어져 있음

    • key와 value는 ""를 사용하고, 배열은 대괄호로, Value는 ,로 구분하고 있음

    • 또한 엔터가 아닌 ,로 value를 구분하고 있기 때문에 무한대로 한줄표현 가능

    • 쉼표로 value를 구분하다 보니 주석(comment)를 처리할 공간이나 기호가 없음

    • 중괄호{}가 아닌 대괄호[]로 시작하여 배열문으로 표현할 수 있음

    • 큰따옴표와 쉼표가 필연적으로 문법오류를 일으키기 쉬움

  • YAML과 JSON 둘 다 쉽게 읽을 수 있다는 장점이 있음
  • YAML과 JSON 둘 다 많은 대다수의 프로그래밍 언어에서 지원함 -> 범용적임
  1. Yaml in Kubernetes
  • kubernetes는 수많은 리소스로 구성되어 있고, 모든 리소스는 Yaml로 표현 가능
  • Yaml로 표현된 리소스를 그대로 생성할 수 있음
  • 이 모든 리소스를 선언형으로 관리하는 것이 Kubernetes의 특성
    -> 선언형 관리 ? YAML 파일로 선언한대로 쿠버네티스가 관리한다는 것
    -> 선언형으로 관리하면 YAML파일을 통해 쉽게 자원을 생성 및 삭제 가능
  1. 기본문법
    1) 들여쓰기
    • 들여쓰기는 기본적으로 2칸 또는 4칸을 지원

    • 2칸을 추천

      2) 데이터 정의 (map)

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

  2. Yaml 구조 및 문법

4-1. Dictionary

http://www.yamllint.com/
-> 작성한 Yaml에 대해서 맞는지 문법적으로 체크 가능

  • Null 표현할 때는

  • 참/거짓 표현할 때는

4-2. Array

-> yq

post-custom-banner

0개의 댓글