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.
Примечание
Данный модуль имеет соответствующий плагин действий.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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 строка |
| Желаемое состояние релиза. псевдонимы: состояние |
| 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