Spec-Zone.ru › Ansible 2.10

community.kubernetes.helm – Управляет пакетами Kubernetes с помощью менеджера пакетов Helm

Примечание

Этот плагин входит в состав коллекции community.kubernetes (версия 1.1.1).

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

Для использования в плейбуке укажите: community.kubernetes.helm.

Новое в версии 0.11.0: от community.kubernetes

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

Обзор

  • Установка, обновление, удаление пакетов с помощью менеджера пакетов Helm.

Примечание

Данный модуль имеет соответствующий плагин действий.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • helm (https://github.com/helm/helm/releases)
  • yaml (https://pypi.org/project/PyYAML/)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
atomic
boolean
    Варианты:
  • нет ←
  • да
Если установлено, процесс установки удаляет установку при ошибке.
binary_path
путь
Путь к бинарному файлу helm.
chart_ref
путь
ссылка на карту в репозитории карт.
путь к упакованной карте.
путь к распакованной папке с картой.
абсолютный URL.
Требуется, когда release_state установлено в present.
chart_repo_url
строка
URL репозитория карт, где находится необходимая карта.
chart_version
строка
Версия карты для установки. Если не указана, устанавливается последняя версия.
context
строка
Параметр Helm для указания контекста kubeconfig, который следует использовать.
Если значение не указано в задаче, будет использовано значение переменной среды K8S_AUTH_CONTEXT.

псевдонимы: kube_context
create_namespace
boolean
добавлено в 0.11.1 от community.kubernetes
    Варианты:
  • нет ←
  • да
Создать пространство имён релиза, если оно отсутствует.
disable_hook
boolean
    Варианты:
  • нет ←
  • да
Параметр Helm для отключения хуков при установке/обновлении/удалении.
force
boolean
    Варианты:
  • нет ←
  • да
Параметр Helm для принудительной переустановки, игнорирование при новой установке.
kubeconfig
путь
Параметр Helm для указания пути к файлу kubeconfig.
Если значение не указано в задаче, будет использовано значение переменной среды K8S_AUTH_KUBECONFIG.

псевдонимы: kubeconfig_path
purge
boolean
    Варианты:
  • нет
  • да ←
Удалить релиз из хранилища и освободить его имя для дальнейшего использования.
release_name
строка / требуется
Имя релиза для управления.

псевдонимы: имя
release_namespace
строка / требуется
Пространство имён Kubernetes, в котором должна быть установлена карта.

псевдонимы: пространство_имён
release_state
строка
    Варианты:
  • present ←
  • absent
Желаемое состояние релиза.

псевдонимы: состояние
release_values
словарь
Значение по умолчанию:
{}
Значение, передаваемое карте.

псевдонимы: значения
replace
boolean
добавлено в 1.11.0 от community.kubernetes
    Варианты:
  • нет ←
  • да
Использовать заданное имя только в том случае, если это удалённый релиз, который остался в истории.
Это небезопасно в производственной среде.
update_repo_cache
boolean
    Варианты:
  • нет ←
  • да
Выполнить helm repo update перед операцией. Может быть выполнено как частью установки пакета, так и как отдельная операция.
values_files
список / элементы=строка
добавлено в 1.1.0 от community.kubernetes
Значение по умолчанию:
[]
Файлы значений, передаваемые карте.
Пути будут считываться из файловой системы целевого хоста, а не хоста, на котором запущен Ansible.
Параметр values_files обрабатывается перед параметром values, если оба используются.
Пути обрабатываются в порядке их указания.
wait
boolean
    Варианты:
  • нет ←
  • да
Ожидать, пока все Pod, PVC, Service и минимальное количество Pod развертывания будут в состоянии готовности, прежде чем отмечать релиз как успешный.
wait_timeout
строка
Таймаут, когда активен параметр wait (helm2 — количество секунд, helm3 — продолжительность).

Примеры

- name: Deploy latest version of Prometheus chart inside monitoring namespace (and create it)
  community.kubernetes.helm:
    name: test
    chart_ref: stable/prometheus
    release_namespace: monitoring
    create_namespace: true

# From repository
- name: Add stable chart repo
  community.kubernetes.helm_repository:
    name: stable
    repo_url: "https://kubernetes-charts.storage.googleapis.com"

- name: Deploy latest version of Grafana chart inside monitoring namespace with values
  community.kubernetes.helm:
    name: test
    chart_ref: stable/grafana
    release_namespace: monitoring
    values:
      replicas: 2

- name: Deploy Grafana chart on 5.0.12 with values loaded from template
  community.kubernetes.helm:
    name: test
    chart_ref: stable/grafana
    chart_version: 5.0.12
    values: "{{ lookup('template', 'somefile.yaml') | from_yaml }}"

- name: Deploy Grafana chart using values files on target
  community.kubernetes.helm:
    name: test
    chart_ref: stable/grafana
    release_namespace: monitoring
    values_files:
      - /path/to/values.yaml

- name: Remove test release and waiting suppression ending
  community.kubernetes.helm:
    name: test
    state: absent
    wait: true

# From git
- name: Git clone stable repo on HEAD
  ansible.builtin.git:
    repo: "http://github.com/helm/charts.git"
    dest: /tmp/helm_repo

- name: Deploy Grafana chart from local path
  community.kubernetes.helm:
    name: test
    chart_ref: /tmp/helm_repo/stable/grafana
    release_namespace: monitoring

# From url
- name: Deploy Grafana chart on 5.0.12 from url
  community.kubernetes.helm:
    name: test
    chart_ref: "https://kubernetes-charts.storage.googleapis.com/grafana-5.0.12.tgz"
    release_namespace: monitoring

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

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

Ключ Возвращаемое значение Описание
command
строка
всегда
Полная команда `helm`, сгенерированная этим модулем, в случае, если вы хотите повторно запустить команду вне модуля или отладить проблему.

Пример:
helm upgrade ...
status
сложный
при успехе Создание/Обновление/Уже развернуто
Словарь со статусом вывода.

appversion
строка
всегда
Версия развернутого приложения

chart
строка
всегда
Название и версия карты

name
строка
всегда
Имя релиза

namespace
строка
всегда
Пространство имён, в котором развернут релиз

revision
строка
всегда
Номер обновления релиза

status
строка
всегда
Статус релиза (может быть DEPLOYED, FAILED, ...)

updated
строка
всегда
Дата последнего обновления

values
строка
всегда
Словарь значений, используемых для развертывания

stderr
строка
всегда
Полный вывод ошибки `helm`, в случае необходимости отображения или изучения журнала событий

stdout
строка
всегда
Полный вывод `helm`, в случае необходимости отображения или изучения журнала событий



Авторы

  • Lucas Boisserie (@LucasBoisserie)
  • Matthieu Diehr (@d-matt)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/kubernetes/helm_module.html

Spec-Zone.ru

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