Spec-Zone.ru › Ansible

community.digitalocean.digital_ocean_kubernetes модуль — Создание и удаление кластера Kubernetes DigitalOcean

Примечание

Этот модуль входит в коллекцию community.digitalocean (версия 1.27.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.digitalocean.

Для использования в книге задач укажите: community.digitalocean.digital_ocean_kubernetes.

Новое в community.digitalocean 1.3.0

  • Описание
  • Параметры
  • Примеры
  • Возвращаемые значения

Описание

  • Создание и удаление кластера Kubernetes в DigitalOcean (и, по желанию, ожидание его запуска).

Параметры

Параметр

Комментарии

auto_upgrade

boolean

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

Варианты:

  • false ← (по умолчанию)
  • true

ha

boolean

Логическое значение, указывающее, будет ли управляющая плоскость кластера настроена в высокодоступной конфигурации.

Высокодоступные управляющие плоскости приводят к меньшему времени простоя.

Варианты:

  • false ← (по умолчанию)
  • true

maintenance_policy

dictionary

Объект, определяющий политику окна технического обслуживания для кластера Kubernetes (см. таблицу ниже).

name

string / обязательный

Наименование кластера Kubernetes, понятное для человека.

node_pools

list / элементы=dictionary

Объект, определяющий подробности рабочих узлов, доступных для кластера Kubernetes (см. таблицу ниже).

По умолчанию: [{"auto_scale": false, "count": 1, "labels": {}, "max_nodes": 0, "min_nodes": 0, "name": "worker-pool", "size": "s-1vcpu-2gb", "tags": [], "taints": []}]

auto_scale

boolean

Логическое значение, указывающее, включена ли автоматическая масштабируемость для этого пула узлов.

Варианты:

  • false
  • true

count

integer

Количество экземпляров Droplet в пуле узлов.

labels

dictionary

Объект, содержащий набор меток Kubernetes. Ключи определяются пользователем.

max_nodes

integer

Максимальное количество узлов, до которого может быть автоматически масштабирован этот пул узлов.

Значение будет 0 если auto_scale установлено на false.

min_nodes

integer

Минимальное количество узлов, до которого может быть автоматически масштабирован этот пул узлов.

Значение будет 0 если auto_scale установлено на false.

name

string

Наименование пула узлов, понятное для человека.

size

string

Идентификатор-слово для типа Droplet, используемого в качестве рабочих узлов в пуле узлов.

tags

list / элементы=string

Массив, содержащий метки, применённые к пулу узлов.

Все пулы узлов автоматически помечены "k8s", "k8s-worker", и "k8s:$K8S_CLUSTER_ID".

taints

list / элементы=dictionary

Массив пометок, которые необходимо применить ко всем узлам в пуле.

Пометки автоматически применяются ко всем существующим узлам и любым последующим узлам, добавленным в пул.

При удалении пометки она удаляется со всех узлов в пуле.

oauth_token

псевдонимы: API_TOKEN

string / обязательный

Токен DigitalOcean OAuth; может быть указан в DO_API_KEY, DO_API_TOKEN, или DO_OAUTH_TOKEN переменных окружения

project_name

псевдонимы: project

string

Проект, которому необходимо назначить ресурс (название проекта, а не UUID).

По умолчанию используется по умолчанию проект учётной записи (пустая строка).

По умолчанию: ""

region

псевдонимы: region_id

string

Идентификатор-слово региона, в котором будет создан кластер Kubernetes.

По умолчанию: "nyc1"

return_kubeconfig

boolean

Управляет тем, будет ли возвращён kubeconfig.

Варианты:

  • false ← (по умолчанию)
  • true

state

string

Обычное значение, present для создания, absent для удаления

Выбор:

  • "present" ← (по умолчанию)
  • "absent"

surge_upgrade

boolean

Булево значение, указывающее, включено/выключено ли масштабируемое обновление кластера.

Масштабируемое обновление ускоряет и делает надёжными обновления кластера, запуская новые узлы до удаления устаревших.

Выбор:

  • false ← (по умолчанию)
  • true

tags

list / elements=string

Плоский массив имён тегов в виде строк, которые нужно применить к кластеру Kubernetes.

Все кластеры будут автоматически помечены тегами “k8s” и “k8s:$K8S_CLUSTER_ID” помимо любых тегов, предоставленных пользователем.

version

string

Идентификатор-имя для версии Kubernetes, используемой для кластера. См. конечную точку /v2/kubernetes/options для доступных версий.

По умолчанию: "latest"

vpc_uuid

string

Строка, определяющая UUID VPC, к которому будет назначен кластер Kubernetes.

Если не указано, кластер будет назначен к VPC по умолчанию для вашей учётной записи в данном регионе.

wait

boolean

Подождать, пока кластер не заработает, прежде чем возвращаться.

Выбор:

  • false
  • true ← (по умолчанию)

wait_timeout

integer

Сколько времени подождать, прежде чем ожидание прекратится (в секундах), при создании кластера.

По умолчанию: 600

Примеры

- name: Create a new DigitalOcean Kubernetes cluster in New York 1
  community.digitalocean.digital_ocean_kubernetes:
    state: present
    oauth_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
    name: hacktoberfest
    region: nyc1
    node_pools:
      - name: hacktoberfest-workers
        size: s-1vcpu-2gb
        count: 3
    return_kubeconfig: true
    wait_timeout: 600
  register: my_cluster

- name: Show the kubeconfig for the cluster we just created
  debug:
    msg: "{{ my_cluster.data.kubeconfig }}"

- name: Destroy (delete) an existing DigitalOcean Kubernetes cluster
  community.digitalocean.digital_ocean_kubernetes:
    state: absent
    oauth_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
    name: hacktoberfest

- name: Create a new DigitalOcean Kubernetes cluster assigned to Project "test"
  community.digitalocean.digital_ocean_kubernetes:
    state: present
    oauth_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
    name: hacktoberfest
    region: nyc1
    node_pools:
      - name: hacktoberfest-workers
        size: s-1vcpu-2gb
        count: 3
    return_kubeconfig: true
    project: test
    wait_timeout: 600
  register: my_cluster

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие поля уникальны для данного модуля:

Ключ

Описание

data

dictionary

Кластер Kubernetes DigitalOcean (и необязательные kubeconfig)

Возвращаемое значение: changed

Пример: {"auto_upgrade": false, "cluster_subnet": "10.244.0.0/16", "created_at": "2020-09-27T00:55:37Z", "endpoint": "https://REDACTED.k8s.ondigitalocean.com", "id": "REDACTED", "ipv4": "REDACTED", "kubeconfig": "apiVersion: v1\nclusters:\n- cluster:\n    certificate-authority-data: REDACTED\n    server: https://REDACTED.k8s.ondigitalocean.com\n  name: do-nyc1-hacktoberfest\ncontexts:\n- context:\n    cluster: do-nyc1-hacktoberfest\n    user: do-nyc1-hacktoberfest-admin\n  name: do-nyc1-hacktoberfest\ncurrent-context: do-nyc1-hacktoberfest\nkind: Config\npreferences: {}\nusers:\n- name: do-nyc1-hacktoberfest-admin\n  user:\n    token: REDACTED", "maintenance_policy": {"day": "any", "duration": "4h0m0s", "start_time": "15:00"}, "name": "hacktoberfest", "node_pools": [{"auto_scale": false, "count": 1, "id": "REDACTED", "labels": null, "max_nodes": 0, "min_nodes": 0, "name": "hacktoberfest-workers", "nodes": [{"created_at": "2020-09-27T00:55:37Z", "droplet_id": "209555245", "id": "REDACTED", "name": "hacktoberfest-workers-3tdq1", "status": {"state": "running"}, "updated_at": "2020-09-27T00:58:36Z"}], "size": "s-1vcpu-2gb", "tags": ["k8s", "k8s:REDACTED", "k8s:worker"], "taints": []}], "region": "nyc1", "service_subnet": "10.245.0.0/16", "status": {"state": "running"}, "surge_upgrade": false, "tags": ["k8s", "k8s:REDACTED"], "updated_at": "2020-09-27T01:00:37Z", "version": "1.18.8-do.1", "vpc_uuid": "REDACTED"}

Авторы

  • Mark Mercado (@mamercad)

Ссылки на коллекцию

  • Система отслеживания ошибок
  • Репозиторий (источники)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/digitalocean/digital_ocean_kubernetes_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API