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