Spec-Zone.ru › Ansible 2.11

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

Примечание

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

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

Чтобы использовать его в книге задач, укажите: kubernetes.core.helm.

Новое в версии 0.11.0: из kubernetes.core

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

Обзор

  • Установка, обновление, удаление пакетов с помощью менеджера пакетов 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 из kubernetes.core
    Варианты:
  • нет ←
  • да
Создать пространство имен релиза, если оно отсутствует.
disable_hook
boolean
    Варианты:
  • нет ←
  • да
Опция Helm для отключения хуков при установке/обновлении/удалении.
force
boolean
    Варианты:
  • нет ←
  • да
Опция Helm для принудительной переустановки, игнорирование при новой установке.
kubeconfig
путь
Опция Helm для указания пути к файлу kubeconfig.
Если значение не указано в задаче, используется значение переменной окружения K8S_AUTH_KUBECONFIG.

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

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

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

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

псевдонимы: values
replace
boolean
добавлено в 1.11.0 из kubernetes.core
    Варианты:
  • нет ←
  • да
Использовать данное имя только если это удаленный релиз, оставшийся в истории.
Это небезопасно в рабочей среде.
update_repo_cache
boolean
    Варианты:
  • нет ←
  • да
Выполнить helm repo update перед операцией. Может быть выполнено как частью установки пакета, так и отдельным шагом.
values_files
список / элементы=строка
добавлено в 1.1.0 из kubernetes.core
Значение по умолчанию:
[]
Файлы значений для передачи диаграмме.
Пути будут читаться из файловой системы целевого хоста, а не хоста, на котором выполняется 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)
  kubernetes.core.helm:
    name: test
    chart_ref: stable/prometheus
    release_namespace: monitoring
    create_namespace: true

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

- name: Deploy latest version of Grafana chart inside monitoring namespace with values
  kubernetes.core.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
  kubernetes.core.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
  kubernetes.core.helm:
    name: test
    chart_ref: stable/grafana
    release_namespace: monitoring
    values_files:
      - /path/to/values.yaml

- name: Remove test release and waiting suppression ending
  kubernetes.core.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
  kubernetes.core.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
  kubernetes.core.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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/kubernetes/core/helm_module.html

Spec-Zone.ru

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