개발 지식

Yaml 문법

devsim 2023. 1. 14. 04:01

📕 K8s / DockerCompose / Stack을 사용하면서 yaml문법을 많이 사용합니다.  따라서 Yaml 파일의 문법에 대해서 정리해 보려고 합니다.

 

 

Indent(들여쓰기)

기본적으로 2 / 4칸을 지원합니다.

 

 

 Saclars( 스트링 , 넘버)

ex) version "3.7"

 

 

 Sequences

 각각의 아이템을 리스트 / 배열 형태로 표현합니다.

 

ex) volumes:

          - ./mydata:/var/lib/sim

          - ./todoweb:/usr/share/nginx/

 

 

Mapping

 키- 벨류 값 매핑 형태입니다. 시퀀스와 같이 사용 가능합니다.

(:)콜론을 통해 매핑합니다

 

ex) image: diamol/ch07-to-list

 

 

 

아래는 stack 배포용 yaml파일입니다.

본문 내용과 비교해 보면서 문법을 이해할수 있습니다.

version: "3.7"

services:
  todo-web:
    image: diamol/ch06-todo-list
    ports:
      - 8080:80
    configs:
      - source: todo-list-config
        target: /app/config/config.json
    secrets:
      - source: todo-list-secret
        target: /app/config/secrets.json
    deploy:
      replicas: 1
      resources:
        limits:
          cpus: "0.50"
          memory: 100M
    networks:
      - app-net

  todo-db:
    image: diamol/postgres:11.5
    deploy:
      replicas: 1
      resources:
        limits:
          cpus: "0.50"
          memory: 500M
    networks:
      - app-net

configs:
  todo-list-config:
    external: true

secrets:
  todo-list-secret:
    external: true

networks:
  app-net:

 

```