Поиск по сайту:

Чтобы делать добро, надо, прежде всего, им обладать (Аристотель).

Основы YAML, которые должен знать каждый инженер DevOps3 мин для чтения

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
5 ноября 2020
Основы YAML, которые должен знать каждый инженер DevOps
YAML приобрел большую популярность за последние несколько лет, поскольку стал частью важнейших инструментов, технологий и процессов DevOps, таких как Ansible, Kubernetes, конвейеры CI/CD и т. д.

В этой статье мы охватим основы YAML, чтобы вы знали, как более плавно работать с конфигурацией инструментов DevOps.

 

Что такое YAML?

YAML означает «YAML Ain’t Markup Language», первоначально было аббревиатурой «Еще один язык разметки». YAML – это язык «сериализации данных» и, по сути, удобочитаемый формат структурированных данных.

Он разработан для удобного чтения и записи. Функция сериализации объектов YAML представляет собой реальную альтернативу JSON. YAML – это надмножество JSON с использованием области видимости на основе отступов для обозначения структуры, такой как Python.

Вот пример YAML:

--- 
 Student-ID: 314159
 First-Name: Linus
 Last-Name: Torvalds

Phone-numbers:
    - 123.456.7890
    - 098.765.4321
    - 123.455.4321

Addresses:
    - Street: Krasnay
    - City: Krasnodar
    - State: Kr
---

 

Основные правила YAML, которые вы всегда должны помнить

Если вы не хотите, чтобы при синтаксическом разборе файла YAML повторялись ошибки, вы всегда должны помнить следующее при работе с YAML:

  • Вкладки НЕ допускаются в YAML. Вы должны использовать пространство для отступа.
  • Хотя количество места не имеет значения, если отступ дочернего узла больше, чем отступ родительского узла, рекомендуется оставлять такое же количество пробелов.
  • Между различными элементами YAML должен быть пробел (объяснено позже).
  • YAML чувствителен к регистру.
  • YAML-файл должен заканчиваться расширениями вроде .yamlили .yml.
  • YAML поддерживает кодировку UTF-8, UTF-16 и UTF-32.

Давайте теперь разберемся с синтаксисом YAML.

 

Элементы файла YAML: базовый синтаксис

Файл YAML используется для описания данных. В файле YAML все содержимое представляет собой набор пар ключ-значение, где значение может быть любым, от строки до дерева.

Разберемся на примере. Это файл манифеста службы Kubernetes.

kind: Service
metadata:  
  name: web-app-svc
spec:  
  type: NodePort  
  ports:  
  - port: 8080         #Сервисный порт
    targetPort: 8080   #Порт Pod
    nodePort: 30012  #Порт узла из диапазона - 30000-32767  
  selector:    
    app: web-app

 

Это набор ключевых элементов паров значений: Name: Value.

Читать  Как добавить Шорткод в WordPress?

Как видно из файла выше, файл YAML состоит из ряда различных элементов. Вместе они могут использоваться для описания самых разных структур.

 

1. Пробелы или отступы

В YAML вы делаете отступ с помощью пробелов, а не табуляции. И между элементами ДОЛЖЕН быть пробел.

Правильная спецификация:

Kind: Service

 

Неправильная спецификация:

Kind:Service

 

Потому что в приведенном выше утверждении нет пробела после двоеточия!

 

2. Комментарии в YAML

Комментарии можно определить, поместив хеш перед элементом ‘#’. Комментарии могут быть сделаны в начале строки в любом месте строки.

Если вы просматриваете наш файл конфигурации YAML, у нас есть три встроенных комментария, таких как «#service port» и т. д.

 

3. Скаляр (пара “ключ-значение”)

Скаляры – это строки и числа, из которых состоят данные на странице. Проще говоря, это пары ключ-значение.

kind: Service
metadata:  
  name: web-app-svc

 

4. Коллекции и списки

Элементы или элементы списка и коллекции – это строки, которые начинаются на одном уровне отступа, начиная с тире, за которым следует пробел.

- web-app-prod 
- prod-deployments 
- prom-monitored

 

Это базовый список, в котором каждый элемент находится в отдельной строке с открывающим тире.

 

5. Вложенные коллекции

Если вы хотите создать вложенную последовательность с элементами и подпунктами, вы можете сделать это, поместив один пробел перед каждым тире в подпунктах.

- 
 - web-app-prod 
 - prod-deployments 
 - prom-monitored
-  
 - web-app-test 
 - staging-deployments 
 - not-monitored

 

6. Словари

Словари представляют собой формат key: value с отступом содержимого.

ports:    
- port: 8080         #Сервисный порт
  targetPort: 8080   #Порт Pod
  nodePort: 30012  #Порт узла из диапазона - 30000-32767

 

Вы можете объединять и смешивать коллекции списков и словарей следующим образом:

ports:    
- port: 8080         #порт service
  targetPort: 8080   #порт Pod
  nodePort:       
  - 30012       
  - 30013       
  - 30014

 

Это очень простые концепции YAML, но они необходимы инженеру DevOps.

Для YAML не нужен специальный редактор. Ваш любимый текстовый редактор уже должен поддерживать YAML или при необходимости использовать плагин.

 

Читать  Обзор Xiaomi Mi Wifi Router 4A (Гигабитный маршрутизатор) 2020

Есть много вещей, которые вы можете изучить глубже. Для этого вы всегда можете обратиться к официальной документации YAML.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close
Яндекс.Метрика