Tag Archives: Mimbolovek8s

Метки в Kubernetes

Автор Itworkroom
k8s

Метки представляют собой функциональное средство для организации не только модулей, но и других ресурсов Kubernetes. Метка – это произвольная пара «ключ-значение», присоединяемая к ресурсу, которая затем используется при отборе ресурсов с помощью селекторов меток (ресурсы фильтруются на основе того, включают они метку, указанную в селекторе, или нет). Ресурс может иметь несколько меток, если ключи этих меток уникальны в пределах данного ресурса. Метки обычно прикрепляются к ресурсам при их создании, но можно также добавлять дополнительные метки или даже изменять значения существующих меток позже без необходимости повторного создания ресурса.

Модуль обозначается с помощью 2 меток:

app, указывает, к какому приложению, компоненту или микросервису принадлежит модуль;
rel, показывает, является ли приложение, запущенное в модуле, стабильной, бета- или канареечной версией.

Канареечный релиз – это новая версия приложения рядом со стабильной версией, только небольшая часть пользователей попадает в новую версию, чтобы увидеть, как она себя ведет, прежде чем развернуть ее для всех пользователей. Это препятствует доступу слишком большого числа пользователей к плохим релизам.
Добавив эти две метки, вы, по существу, организовали свои модули в двух измерениях (горизонтально по приложениям и вертикально по релизам). (далее…)

Создание модулей (POD) из дескрипторов YAML или JSON

Автор Itworkroom
pod k8s

Создание модулей (POD).

Существуют неуправляемые модули, создаваемые напрямую и управляемые модули, которые создаются и управляются контроллерами репликации (ReplicationController) или развертываниями (Deployment).
Модули и другие ресурсы Kubernetes обычно создаются путем публикации манифеста JSON и YAML в конечной точке API REST Kubernetes или командой kubectl run. Определение объектов Kubernetes из файлов YAML позволяет хранить их в системе управления версиями.

Команда для получения полного определения дескриптора YAML существующего модуля:

$ kubectl get po имя_модуля -o yaml

Структура файла YAML развернутого модуля:
apiVersion: v1 [Версия API Kubernetes, используемая в этом дескрипторе YAML]
kind: Pod [Тип объекта/ресурса Kubernetes]
metadata: [метаданные – включают имя, пространство имен, метки и другую информацию о модуле]
(далее…)