Tag Archives: Mimbolovek8s
![k8s](https://www.itworkroom.com/wp-content/uploads/k8s.png)
Метки представляют собой функциональное средство для организации не только модулей, но и других ресурсов Kubernetes. Метка – это произвольная пара «ключ-значение», присоединяемая к ресурсу, которая затем используется при отборе ресурсов с помощью селекторов меток (ресурсы фильтруются на основе того, включают они метку, указанную в селекторе, или нет). Ресурс может иметь несколько меток, если ключи этих меток уникальны в пределах данного ресурса. Метки обычно прикрепляются к ресурсам при их создании, но можно также добавлять дополнительные метки или даже изменять значения существующих меток позже без необходимости повторного создания ресурса.
Модуль обозначается с помощью 2 меток:
app, указывает, к какому приложению, компоненту или микросервису принадлежит модуль;
rel, показывает, является ли приложение, запущенное в модуле, стабильной, бета- или канареечной версией.
Канареечный релиз – это новая версия приложения рядом со стабильной версией, только небольшая часть пользователей попадает в новую версию, чтобы увидеть, как она себя ведет, прежде чем развернуть ее для всех пользователей. Это препятствует доступу слишком большого числа пользователей к плохим релизам.
Добавив эти две метки, вы, по существу, организовали свои модули в двух измерениях (горизонтально по приложениям и вертикально по релизам). (далее…)
![pod k8s](https://www.itworkroom.com/wp-content/uploads/pod.png)
Создание модулей (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: [метаданные – включают имя, пространство имен, метки и другую информацию о модуле]
… (далее…)
1