Создание кластера Kubernetes
Кластер Kubernetes состоит из набора машин, так называемых узлов (nodes), которые запускают контейнеризированные приложения. Кластер должен иметь как минимум один рабочий узел.
На рабочих узлах размещены поды (Pods), являющиеся компонентами приложения. Внутренние сервисы Kubernetes управляют рабочими узлами и подами в кластере. В промышленных инсталляциях управляющие сервисы обычно запускается на нескольких компьютерах, а кластер, как правило, разворачивается на нескольких узлах, гарантируя отказоустойчивость и высокую надёжность.
Топология кластеров в Платформе включает в себя понятие master-узлов, на которых располагаются управляющие сервисы и группы рабочих узлов (Node Group), на которых запущены приложения пользователя. Каждый кластер Kubernetes может содержать несколько групп рабочих узлов, каждая из которых создана на базе определенного шаблона виртуальной машины.
Чтобы создать кластер при помощи Портала самообслуживания:
- Выполните подготовительные операции (см. раздел Портал самообслуживания).
- В меню слева перейдите в раздел «Контейнеры», на страницу «Кластеры Kubernetes».
- Нажмите на кнопку «Добавить» или «Создать кластер».
- Настройте конфигурацию кластера.
- Настройте параметры инстанса кластера.
- Настройте группы узлов.
Кластер будет создан в течение 5-20 минут.
Текущий статус кластеров отображается в Портале самообслуживания слева от названия кластера с помощью значков:
- Зеленый кружок — инстанс запущен.
- Зелёная стрелка — создание или масштабирование кластера.
- Красная стрелка — удаление кластера.
- Красный треугольник — ошибка.
-
Укажите конфигурацию кластера (см. рисунок 1):
- «Конфигурация кластера Kubernetes»:
- «Dev среда» — среда для разработки.
- «Staging среда» — промежуточная среда для тестирования.
- «Production» — среда для работы с конечными пользователями.
- «Другое» — среда без окружения для разработки.
- «Предустановленные сервисы»:
- Prometheus — система мониторинга на базе Prometheus Operator и Grafana.
- Nginx Ingress Controller, для которого дополнительно создается балансировщик нагрузки.
- «Конфигурация кластера Kubernetes»:
-
Нажмите на кнопку «Следующий шаг».
-
Укажите параметры инстанса кластера (см. рисунок 2):
-
«Имя кластера» — наименование создаваемого кластера.
-
«Тип виртуальной машины Master» — тип ВМ из списка типов, доступных в проекте (см. раздел Типы инстансов кластеров).
-
«Зона доступности» — зона доступности ВМ из списка зон.
-
«Тип диска» — автоматический выбор диска или диск ВМ из списка дисков.
-
«Количество узлов Master» — количество создаваемых Master-узлов.
-
«Размер диска на Master-узле» — объём диска на каждом Master-узле в ГБ.
-
«Сеть» — подсеть, в которой будут создаваться Master и Worker node. Для назначения внешнего IP выберите сеть с доступом в интернет.
-
«Использовать сеть Load Balancer» — настроить использование сети балансировщика нагрузки. При активации переключателя появляется поле «Сеть Load Balancer» с выбором подсети, в которой будут создаваться балансировщики нагрузки.
-
«Использовать подсеть пода» — настроить использование подсети для подов. При активации переключателя появляется поле «Подсеть пода» с выбором подсети, в которой будут создаваться поды. Не должна пересекаться с подсетью нод кластера. По умолчанию используется значение
10.100.0.0/16. -
«Доверенные Docker Registry» — доверенные репозитории Docker Registry, у которых не проверяется TLS при загрузке образов. Чтобы добавить адрес репозитория, нажмите на кнопку «Добавить адрес репозитория» и введите значение в появившееся поле. Примеры значений:
172.24.4.3,172.24.4.3:5000,example.com. -
«Ключ виртуальной машины» — ключ SSH для доступа к кластеру (см. раздел Ключевые пары).
-
-
Нажмите на кнопку «Следующий шаг».
-
Укажите параметры групп узлов (см. рисунок 3):
- «Название группы» — название группы узлов кластера.
- «Тип Node-узлов» — тип ВМ из списка типов, доступных в проекте (см. раздел Типы инстансов кластеров).
- «Зона доступности» — зона доступности ВМ.
- «Тип диска» — тип диска ВМ.
- «Размер диска» — объём диска узла в ГБ.
- «Количество узлов Node» — количество разворачиваемых Node-узлов.
- «Включить автомасштабирование» — при выборе пункта размер кластера увеличится за счет добавления нового узла в кластер. Расширение кластера выполняется, если не могут запуститься новые поды из-за нехватки ресурсов. После падения нагрузки узел удалится. При включении появляются поля:
- «Минимальное количество узлов» — минимально возможное количество узлов при автомасштабировании.
- «Максимальное количество узлов» — максимально возможное количество узлов при автомасштабировании.
- «Kubernetes labels» — пары «ключ-значение», которые добавляются к объектам как поды. Чтобы добавить метку, нажмите на кнопку «Добавить label» и заполните соответствующие поля.
- «Node taints» — параметр ноды, который не допускает запуска пода на определённой ноде. Чтобы добавить параметр, нажмите на кнопку «Добавить taint» и заполните соответствующие поля.
-
При необходимости добавьте дополнительную группу узлов, нажав на кнопку «Добавить группу узлов» и заполнив поля, описанные выше.
-
Нажмите на кнопку «Создать кластер».