You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 KiB
16 KiB
Модуль decort_k8s
Обзор модуля decort_k8s
Модуль decort_k8s предназначен для выполнения следующих действий над кластерами Kubernetes:
- создать
- получить информацию
- отключить/включить/запустить
- изменить группы Worker-узлов
- удалить (в корзину или безвозвратно)
- восстановить из корзины
Параметры модуля decort_k8s
Ниже приведен полный список параметров для модуля decort_k8s:
Параметр | Тип, допустимые значения | Описание |
---|---|---|
account_id | (int) | Идентификатор аккаунта. |
account_name | (string) | Имя аккаунта. |
additionalSANs | (list) | Список дополнительных SAN (Subject Alternative Names) для использования в процессе автоматического выписывания сертификата Кластера Kubernetes. Можно использовать IP-адреса и доменные имена. |
app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2 . Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_APP_ID . |
app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2 . Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения DECORT_APP_SECRET . |
authenticator | (str) Значения: oauth2 jwt |
Режим аутентификации при подключении к контроллеру облачной платформы DECORT. Обязательный параметр. |
cluster_conf | (dict) | Словарь с глобальными настройками и конфигурацией для всего кластера. Включает в себя такие настройки, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации всего кластера. |
controller_url | (string) | URL контроллера, соответствующего экземпляру облачной платформы DECORT. Данный параметр является обязательным. |
description | (string) Default: Created by decort ansible module |
Описание кластера. |
extnet_id | (int) Default: 0 |
Идентификатор внешней сети. Если задан 0 , то внешняя сеть выбирается автоматически. Если задан параметр vins_id , то значение данного параметра будет проигнорировано. Если задан extnet_only: false , то внешняя сеть будет подключена к создаваемой внутренней сети, а если extnet_only: true , то либо напрямую к каждому узлу кластера (если with_lb: false ), либо напрямую к балансировщику нагрузки (если with_lb: true ). |
extnet_only | (bool) Default: false |
Не использовать внутреннюю сеть, подключать напрямую к внешней. |
getConfig | (bool) Default: false |
Получить данные конфигурации для доступа к кластеру Kubernetes. |
ha_lb | (bool) Default: false |
Использовать схему высокой доступности для создаваемого балансировщика нагрузки (если with_lb: true ). |
id | (int) | Идентификатор кластера Kubernetes. |
init_conf | (dict) | Словарь для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере. Позволяет настраивать такие процессы, как регистрация узла, настройка сети и другие задачи инициализации. |
join_conf | (dict) | Словарь для настройки поведения и параметров присоединения узла к кластеру. Включает в себя такие параметры, как control-plane-endpoint кластера, токен и certificate-key. |
jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме authenticator: jwt . Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения DECORT_JWT . |
k8ci_id | (int) | Идентификатор конфигурации кластера Kubernetes. |
kubeproxy_conf | (dict) | Словарь для настройки поведения и настроек Kube-proxy, отвечающего за сетевое проксирование и балансировку нагрузки внутри кластера. Включает в себя такие параметры, как режим прокси, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy. |
kublet_conf | (dict) | Словарь для настройки поведения и настроек Kubelet, который является агентом основного узла, работающим на каждом узле кластера. Включает в себя такие параметры, как IP-адрес узла, распределение ресурсов, политики вытеснения модулей и другие конфигурации, специфичные для Kubelet. |
master_count | (int) Default: 1 |
Количество Master-узлов. |
master_cpu | (int) Default: 2 |
Количество виртуальных процессоров на Master-узле. |
master_disk | (int) Default: 10 |
Объём загрузочного диска на Master-узле. |
master_pool | (str) | Пул СХД, заданной параметром master_sepid . |
master_ram | (int) Default: 2048 |
Объём оперативной памяти на Master-узле. |
master_sepid | (int) | Идентификатор СХД для Master-узла. Если не задан, то используется СХД образа Master-узла. |
name | (string) | Имя кластера Kubernetes. |
network_plugin | (str) Значения: flannel calico weavenet Default: flannel |
CNI plugin (модуль для управления сетевыми интерфейсами контейнера). Возможные значения могут быть ограничены в используемой конфигурации кластера Kubernetes (параметр k8ci_id ) |
oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме authenticator: oauth2 . Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_OAUTH2_URL . |
oidc_cert | (raw) | Сертификат X.509 для OIDC-провайдера. |
permanent | (bool) Default: false |
Если выполняется удаление, то выполнить безвозвратное удаление (минуя корзину). |
rg_id | (int) | Идентификатор ресурсной группы. |
rg_name | (str) | Имя ресурсной группы. |
started | (bool) Default: true |
Запустить кластер. Используется только для существующего кластера. |
state | (string) Значения: present absent enabled disabled check Default: present |
Целевое состояние кластера. |
verify_ssl | (bool) Default: true |
Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
vins_id | (int) | Идентификатор внутренней сети. Если не задан, то будет создана новая внутренняя сеть. Если задан, то заданная внутренняя сеть должна иметь подключение к внешней сети. Если задано extnet_only: true , то параметр игнорируется. |
with_lb | (bool) Default: true |
Создание кластера Kubernetes с размещением Master-узлов за балансировщиком нагрузки. В ином случае каждый узел получит отдельный адрес из внешней сети. |
workers | (list) | Список словарей, описывающих группы Worker-узлов. Ключи словаря: • annotations (list) (необязательный) - список строк с annotations в формате: key1=value1 • ci_user_data (dict) (необязательный) - конфигурация для cloud-init• cpu (int) (необязательный) - количество виртуальных процессоров на узле; обязателен при создании группы• disk (int) (необязательный) - объём загрузочного диска на узле; обязателен при создании группы• labels (list) (необязательный) - список строк с labels в формате: label1=value1 • name (string) (обязательный) - имя группы Worker-узлов• num (int) (необязательный) - количество узлов; обязателен при создании группы• pool (str) (необязательный) - пул СХД, заданной ключом sep_id ; если не задан, то пул будет выбран платформой• ram (int) (необязательный) - объём оперативной памяти на узле; обязателен при создании группы• sep_id (int) (необязательный) - идентификатор СХД; если не задан, то используется СХД образа узла• taints (list) (необязательный) - список строк с taints в формате: key1=value1:NoSchedule |
Возвращаемые значения модуля decort_k8s
Модуль decort_k8s возвращает информацию о кластере в виде словаря facts
со следующими ключами:
Ключ | Тип данных | Описание |
---|---|---|
account_id | int | Идентификатор аккаунта. |
config | str | Kuber config кластера. |
id | int | Идентификатор кластера. |
k8s_Masters | dict | Словарь с информацией о группе Master-узлов. Ключи словаря: • cpu (int) - количество виртуальных процессоров• detailedInfo (list) - список словарей с информацией об узлах; ключи словаря: id (int) - идентификатор ВМ, name (str) - имя ВМ, status (str) - статус ВМ, techStatus (str) - технический статус ВМ• disk (int) - объём загрузочного диска• id (int) - идентификатор группы• name (str) - имя группы• num (int) - количество узлов• ram (int) - объём оперативной памяти |
k8s_Workers | dict | Список словарей с информацией о группах Worker-узлов. Ключи словаря: • cpu (int) - количество виртуальных процессоров• detailedInfo (list) - список словарей с информацией об узлах; ключи словаря: id (int) - идентификатор ВМ, name (str) - имя ВМ, status (str) - статус ВМ, techStatus (str) - технический статус ВМ• disk (int) - объём загрузочного диска• id (int) - идентификатор группы• labels (list) - список строк с labels• name (str) - имя группы• num (int) - количество узлов• ram (int) - объём оперативной памяти• taints (list) - список строк с taints |
name | string | Имя кластера. |
rg_id | int | Идентификатор ресурсной группы. |
state | string | Статус кластера. |
techStatus | string | Технический статус кластера. |
vins_id | int | Идентификатор внутренней сети кластера. |
Пример использования модуля decort_k8s
Пример создания кластера Kubernetes с именем cluster-test
с получением Kuber config.
- name: Create a k8s cluster named cluster-test
decort_k8s:
authenticator: jwt
controller_url: "https://ds1.digitalenergy.online"
getConfig: true
jwt: "{{ token.jwt }}"
k8ci_id: 18
name: cluster-test
rg_id: 125
workers:
- cpu: 10
disk: 10
name: wg1
num: 1
pool: null
ram: 1024
sep_id: null
- cpu: 10
disk: 10
name: wg2
num: 2
pool: null
ram: 1024
sep_id: null
register: k8s_cluster