РАЗРАБОТКА

Kubernetes представил KYAML — новый стандарт для YAML

Kubernetes внедряет KYAML — строгий стандарт для YAML, упрощая работу с манифестами и снижая риски ошибок.

✍️ Редакция iTech News | 14.09.2025 | ⏱ 2 мин | Источник: Kubernetes Blog

Kubernetes представил KYAML — строгое подмножие YAML, упрощающее создание манифестов. Новый формат поможет избежать распространённых ошибок, связанных с неявным приведением типов и чувствительностью к пробелам, что критично для разработчиков.

Проблемы стандартного YAML

Проблемы с YAML известны многим разработчикам, которые сталкиваются с недочётами в шаблонах и конфигурациях. Например, неправильный отступ может сделать файл валидным, но нарушить его логику. Также необязательное заключение строк в кавычки может привести к неожиданным ошибкам, как в случае с классической «Norway Bug», где значение «NO» интерпретируется как булевый false, а не строка.

К тому же, JSON, хоть и более строгий, не даёт возможности добавления комментариев и требует кавычек для каждого ключа, что также усложняет создание конфигураций. KYAML был разработан, чтобы устранить эти недостатки, сделав структуру и типы данных более явными.

Что такое KYAML и как его использовать

KYAML не требует изменений в экосистеме Kubernetes — он лишь ограничивает выбор, который делают разработчики, что приводит к единообразию и снижению ошибок. В нём:

  • Структура не зависит от пробелов и отступов.
  • Всё значение строк заключены в кавычки, устраняя неявное приведение типов.
  • Мапы и структуры оформлены в фигурных скобках, а списки — в квадратных.
  • Поддержка комментариев и завершающих запятых, чего нет в JSON.
  • Имеется заголовок «---», позволяющий легко отличить KYAML от JSON.

Вынашивая KYAML, команда Kubernetes добавила поддержку нового формата в kubectl начиная с версии 1.34. Для получения манифеста в формате KYAML можно использовать команду:

kubectl get deployment my-app -o kyaml

Практическое значение для разработчиков

Для разработчиков это нововведение открывает новые горизонты. Теперь можно избежать многих распространённых сценариев, ведущих к ошибкам, которые могут упустить из виду. KYAML создаёт более организованный и понятный код, снижая время на поиск и исправление ошибок.

Если вы разрабатываете инфраструктуру на Kubernetes, обращайте внимание на KYAML. Это может существенно повысить стабильность ваших манифестов и облегчить их поддержку.

Следующий шаг — ожидание дальнейших улучшений и обновлений в поддержке KYAML в новых версиях Kubernetes.

Поделиться: Telegram X LinkedIn