Category Archives: k8s

Создание контроллера репликации (ReplicationController) в Kubernetes

Автор Itworkroom

Создание контроллера репликации.

Контроллер репликации (ReplicationController) – это ресурс Kubernetes, который обеспечивает поддержание постоянной работы его модулей. Если модуль исчезает по любой причине, например, в случае исчезновения узла из кластера или потому, что модуль был вытеснен из узла, контроллер репликации замечает отсутствующий модуль и создает сменный модуль.

Контроллер репликации состоит из трех основных частей:

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

Подобно модулям и другим ресурсам Kubernetes, создается контроллер репликации при помощи отправки дескриптора JSON или YAML на сервер API Kubernetes ($ kubectl create -f kubia-rc.yaml). Содержимое файла kubia-rc.yaml: (далее…)

Пространства имен Kubernetes

Автор Itworkroom
namespace

Пространства имен (Namespace) Kubernetes предоставляют область видимости для имен объектов. Чтобы все ресурсы небыли в одном пространстве имен Kubernetes, можно разбить их на несколько пространств имен, что также позволяет использовать одни и те же имена ресурсов несколько раз (в разных пространствах имен Kubernetes).
Использование нескольких пространств имен позволяет разбить сложные системы со множеством компонентов на более мелкие отдельные группы. Они могут использоваться для разделения ресурсов в мультитенантной среде, разбивая ресурсы на среды рабочего окружения, среды разработки и контроля качества. Имена ресурсов должны быть уникальными только в пределах пространства имен. Но хотя большинство типов ресурсов организовано в пространства имен, некоторые из них – нет. Одним из них является ресурс узла (Node), который является глобальным и не привязан к одному пространству имен.
Два разных пространства имен могут содержать ресурсы с одинаковыми именами. Если несколько пользователей или групп пользователей используют один кластер Kubernetes и каждый из них управляет своим собственным набором ресурсов, каждый из них должен использовать собственное пространство имен. (далее…)

Создание модулей (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: [метаданные – включают имя, пространство имен, метки и другую информацию о модуле]
(далее…)