Быстрый старт
Функционирование Platform V Kubernetes построено следующим образом:
-
На начальном этапе пользователь, используя REST API, предоставляемый модулем управления клиентскими кластерами, отправляет запрос на создание кластера Kubernetes с указанием желаемой конфигурации кластера, таких как:
- пользовательское имя кластера;
- идентификатор региона инфраструктуры, в котором будет развернут кластер;
- идентификатор проекта пользователя в системе OpenStack, в рамках которого будут развернуты виртуальные вычислительные мощности;
- параметры подключаемых плагинов Kubernetes (например, UI Dashboard).
-
На основе полученного запроса модуль управления клиентскими кластерами создает все необходимые объекты Kubernetes, такие как (но не ограничиваясь):
- кластер модуля Cluster API;
- секрет для хранения параметров подключения к модулю OpenStack;
- плоскость управления кластера с описанием требуемой конфигурации виртуальных машин и процесса инициализации мастер-узлов.
-
После создания объектов Kubernetes инфраструктурный провайдер OpenStack модуля Cluster API выполняет аутентификацию, используя параметры подключения в ранее созданном секрете, и передает в модуль OpenStack следующее:
- данные, необходимые для инициализации виртуальных машин;
- данные о необходимых виртуальных и физических сетях, к которым подключаются вычислительные ресурсы при загрузке;
- данные о группах безопасности, представляющих собой наборы правил фильтрации IP, которые применяются к сетевым средствам виртуальной машины.
-
После разворачивания необходимых вычислительных ресурсов bootstrap-провайдер модуля Cluster API выполняет инициализацию мастер-узлов кластера Kubernetes, разворачивая компоненты плоскости управления:
- kube-apiserver, который предоставляет API Kubernetes;
- etcd – распределенное и высоконадежное хранилище данных в формате «ключ-значение», которое используется как основное хранилище всех данных кластера в Kubernetes;
- kube-scheduler, который отслеживает созданные поды без привязанного узла и выбирает узел, на котором они должны работать;
- kube-controller-manager для управления контроллерами.
-
Platform V Kubernetes отслеживает статус развертывания плоскости управления клиентского кластера.
-
По завершению инициализации кластера пользователь отправляет запрос на создание группы рабочих узлов.
Предусловие - развернута и готова к использованию облачная инфраструктура для клиента:
- создано изолированное пространство в кластере Kubernetes;
- тестовый пользователь имеет учетную запись во FreeIPA.
Чтобы проверить доступ к сервису:
- Подключитесь к VPN стенда.
- Перейдите по общей ссылке на кластер Kubernetes, доступной в SSP или на странице "Старт работы" портала Интерактивной документации.
- Войдите под учетной записью FreeIPA. Будет отображаться только тот namespace, к которому выдан доступ данному пользователю.
Пользователю доступны для просмотра следующие разделы: Deployments, Configmaps, Secrets, Routes, Ingresses, Services.
Для создания объектов Kubernetes перейдите в требуемый namespace и добавьте необходимые сущности: Deployments, Configmaps, Secrets, Routes, Ingresses, Services.
Созданные объекты доступны для редактирования и могут быть удалены.
В секретах хранятся конфиденциальные данные (например, для обращения к БД), которые не включаются в код пользовательского приложения.
Чтобы добавить секрет, выпрлните следующее:
-
Перейдите по адресу свего namespace.
-
Создайте секрет одним из следующих способов:
- используя команду
kubectl create secret
; - создать секрет в файле формата JSON или YAML, а затем перенести этот объект с помощью команды
kubectl apply -f ./secret.yaml
; - используя
secretGenerator
в файлеkustomization.yaml
и добавить его с помощью командыkubectl apply -f
.
- используя команду
-
Определите секрет в качестве переменной окружения в коде.