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.
decort-ansible/wiki/5.2.6/модуль-decort_k8s.md

12 KiB

03.10 Модуль decort_k8s

Обзор модуля decort_k8s

Модуль decort_k8s предназначен для выполнения следующих действий над кластерами Kubernetes, созданными в облачной платформе DECORT:

  • Создание/удаление кластера Kubernetes.
  • Enable/Disable кластера Kubernetes.
  • Запуск/Остановка кластера Kubernetes
  • Модификация кластера Kubernetes
  • Получение идентификатора образа Kubernetes по имени образа.

Параметры модуля decort_k8s

Ниже приведен полный список параметров для модуля decort_k8s:

Параметр Тип, допустимые значения Описание
app_id (string) Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_APP_ID.
app_secret (string) Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения DECORT_APP_SECRET.
authenticator Значения:
legacy
oauth2
jwt <- default
Режим аутентификации при подключении к контроллеру облачной платформы DECORT.
controller_url (string) URL контроллера, соответствующего экземпляру облачной платформы DECORT, в рамках которого должен быть создан (или уже существует) данный виртуальный сервер. Данный параметр является обязательным.
jwt (string) JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме authenticator: jwt Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения DECORT_JWT.
oauth2_url (string) URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_OAUTH2_URL.
verify_ssl (bool) Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах.
workflow_callback (string) URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль будет оперативно передавать информацию о своем статусе и текущей фазе исполнения. Данный параметр является опциональным. Функциональность callbacks в текущей версии модуля не реализована.
workflow_context (string) Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к workflow_callback URL. Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов workflow_callback данные со своим внутренним состоянием и отслеживать инициированные им задачи. Параметр является опциональным и имеет значение только при условии, что также задан workflow_callback. Функциональность callbacks в текущей версии модуля не реализована.
account_id (int) Уникальный целочисленный идентификатор аккаунта, к которому привязан кластер.
account_name (string) Имя аккаунта, к которому привязан кластер.
annotation (string) Аннотации для рабочих групп в кластере Kubernetes.
quotas (dict) Библиотека, содержащая квоты.
state (string) Состояние кластера. Поддерживаемые состояния: absent, disabled, enabled, present,check.
permanent (bool) Параметр, отвечающий за полное удаление кластера. При значениие True кластер будет полностью удалён, при значении False кластер будет перемещён в корзину.
started (bool) Параметр, отвечающий за запуск кластера после создания. При значении True, после создания кластер будет автоматически запущен.
name (string) Имя кластера Kubernetes.
id (int) Уникальный целочисленный идентификатор кластера Kubernetes, позволяющий удалять, изменять и получать сведения о кластере Kubernetes.
getConfig (bool) Параметр, передающий конфигурационный файл кластера Kubernetes, при значении True.
rg_id (int) Уникальный целочисленный идентификатор ресурсной группы, в которой находится кластер Kubernetes.
rg_name (int) Имя ресурсной группы, в которой находится кластер Kubernetes.
k8ci_id (int) Уникальный целочисленный идентификатор образа кластера Kubernetes.
wg_name (string) Имя рабочей группы. В кластере может быть несколько рабочих групп.
master_count (int) Количество master узлов в рабочей группе. По умолчанию: 1
master_cpu (int) Количество ядер процессора на каждом master узле. По умолчанию: 2
master_ram_mb (int) Объём оперативной памяти на каждом master узле. По умолчанию: 2048
master_disk_gb (int) Объём жесткого диска на каждом master узле. По умолчанию: 10
worker_count (int) Количество worker узлов в рабочей группе. По умолчанию: 1
worker_cpu (int) Количество ядер процессора на каждом worker узле. По умолчанию: 1
worker_ram_mb (int) Объём оперативной памяти на каждом worker узле. По умолчанию: 1024
worker_disk_gb (int) Объём жесткого диска на каждом worker узле. По умолчанию: 10
workers (dict) Библиотека, в которой необходимо указывать рабочие группы и их параметры. См. пример 13.4
extnet_id (int) Уникальный целочисленный идентификатор внешней сети, к которой будет подключен кластер при создании. По умолчанию: 0
description (string) Описание кластера. По умолчанию: Created by decort ansible module
with_lb (bool) Отвечает за создание Load Balancer при создании кластера. По умолчанию: True

Возвращаемые значения модуля decort_k8s

Модуль decort_k8s возвращает информацию о кластере в виде словаря facts со следующими ключами:

Ключ Тип данных Описание
id int Уникальный целочисленный идентификатор данного кластера.
name string Имя данного кластера.
techStatus string Технический статус кластера. Возможные технические статусы кластера: STARTED, DELETED, STOPPED, CREATED, , DISABLED, ENABLED, RESTORED, MODELED.
state string Текущий статус кластера. Поддерживаемые состояния: absent, disabled, enabled, present,check.
rg_id int Уникальный целочисленный идентификатор ресурсной группы, в которой находится данный кластер.
account_id int Уникальный целочисленный идентификатор аккаунта, к которому привязан данный кластер.

Пример использования модуля decort_k8s

Пример создания кластера Kubernetes с названием cluster-test.

  - name: create a cluster named cluster-test
    decort_k8s:
      state: present
      started: True
      getConfig: True
      authenticator: jwt
      jwt: "{{ token.jwt }}"
      controller_url: "https://ds1.digitalenergy.online"
      name: "cluster-test"
      rg_id:  125
      k8ci_id: 18
      workers:
        - name: wg1
          ram: 1024
          cpu: 10
          disk: 10
          num: 1
        - name: wg2
          ram: 1024
          cpu: 10
          disk: 10
          num: 2
      verify_ssl: false
    delegate_to: localhost
    register: kube