Модуль kubernetes.core.helm – Управление пакетами Kubernetes с помощью менеджера пакетов Helm
Примечание
Этот модуль является частью коллекции kubernetes.core (версия 3.2.0).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install kubernetes.core. Для использования этого модуля требуются дополнительные зависимости, см. Требования для получения подробностей.
Чтобы использовать его в книге задач, укажите: kubernetes.core.helm.
Новое в kubernetes.core 0.11.0
Описание
- Установка, обновление, удаление пакетов с помощью менеджера пакетов Helm.
Примечание
Этот модуль имеет соответствующий плагин действий.
Требования
Ниже перечислены требования, необходимые на узле, на котором выполняется этот модуль.
Параметры
Параметр | Комментарии |
|---|---|
api_key string added in kubernetes.core 1.2.0 | Токен, используемый для аутентификации с API. Может быть также указан через переменную среды |
atomic boolean | Если установлено, процесс установки удаляет установку в случае сбоя. Варианты:
|
binary_path path | Путь к исполняемому файлу helm. |
ca_cert aliases: ssl_ca_cert path added in kubernetes.core 1.2.0 | Путь к сертификату CA, используемому для аутентификации с API. Для предотвращения ошибок проверки сертификатов необходимо указать полную цепочку сертификатов. Может быть также указан через переменную среды |
chart_ref path | Ссылка на chart в репозитории. Путь к упакованному chart. Путь к распакованной директории chart. Абсолютный URL. Обязательно, когда release_state установлен в |
chart_repo_url string | URL репозитория chart, где находится запрашиваемый chart. |
chart_version string | Версия chart для установки. Если не указано, устанавливается последняя версия. |
context aliases: kube_context string | Параметр Helm для указания контекста kubeconfig для использования. Если значение не указано в задаче, вместо него будет использовано значение переменной среды |
create_namespace boolean added in kubernetes.core 0.11.1 | Создать пространство имен для релиза, если оно отсутствует. Варианты:
|
dependency_update aliases: dep_up boolean added in kubernetes.core 2.4.0 | Выполнить Выполнить Поэтому следует использовать параметр dependency_update с включенным параметром replace при указании chart_repo_url. Для параметра dependency_update требуется добавить блок Для получения дополнительной информации посетите https://helm.sh/docs/helm/helm_dependency/ Варианты:
|
disable_hook boolean | Параметр Helm для отключения хука при установке/обновлении/удалении. Варианты:
|
force boolean | Параметр Helm для принудительной переустановки, игнорируется при новой установке. Варианты:
|
history_max integer added in kubernetes.core 2.2.0 | Ограничение максимального количества сохраненных ревизий на релиз. взаимоисключающий с |
host string added in kubernetes.core 1.2.0 | Укажите URL для доступа к API. Может быть также указан через переменную среды |
kubeconfig aliases: kubeconfig_path any | Параметр Helm для указания пути к kubeconfig для использования. Если значение не указано в задаче, вместо него будет использовано значение переменной среды Конфигурация может быть предоставлена в виде словаря. Добавлено в версии 2.4.0. |
post_renderer string added in kubernetes.core 2.4.0 | Путь к исполняемому файлу, который будет использоваться для постобработки. |
purge boolean | Удалить релиз из хранилища и освободить его имя для последующего использования. Варианты:
|
имя_релиза псевдонимы: имя строка / обязательно | Имя релизной версии для управления. |
пространство_имен_релиза псевдонимы: пространство_имен строка / обязательно | Пространство имен Kubernetes, в котором должен быть установлен шаблон. |
состояние_релиза псевдонимы: состояние строка | Желаемое состояние релиза. Выборы:
|
значения_релиза псевдонимы: значения словарь | Значения для передачи шаблону. По умолчанию: |
заменить логическое добавлен в kubernetes.core 1.11.0 | Использовать заданное имя только в том случае, если это имя удалённого релиза, которое сохранилось в истории. Это небезопасно в производственной среде. Исключительно с Выборы:
|
сбросить_значения логическое добавлен в kubernetes.core 2.5.0 | При обновлении пакета сбросить значения на те, что встроены в шаблон. Выборы:
|
использовать_значения логическое добавлен в kubernetes.core 2.5.0 | При обновлении пакета указывает, нужно ли использовать значения последнего релиза и объединить любые переопределения из параметров значения_релиза, файлы_значений или установить_значения. Если сбросить_значения установлено в Выборы:
|
установить_значения список / элементы=словарь добавлен в kubernetes.core 2.4.0 | Значения для передачи конфигурации шаблона |
|
значение строка / обязательно |
Значение для передачи конфигурации шаблона (например, фаза=prod). |
|
тип_значения строка |
Используйте Используйте Используйте Используйте Выборы:
|
пропустить_crds логическое добавлен в kubernetes.core 1.2.0 | Пропустить пользовательские определения ресурсов при установке или обновлении. Выборы:
|
тайм-аут строка добавлен в kubernetes.core 2.3.0 | Значение Go duration (описано здесь https://pkg.go.dev/time#ParseDuration) для ожидания завершения команд Kubernetes. По умолчанию 5m0s. Аналогично Взаимоисключительно с |
обновить_кеш_репозитория логическое | Запуск Выборы:
|
валидировать_сертификаты псевдонимы: проверять_ssl логическое добавлен в kubernetes.core 1.2.0 | Нужно ли проверять SSL-сертификаты API-сервера. Также можно указать через Выборы:
|
файлы_значений список / элементы=строка добавлен в kubernetes.core 1.1.0 | Файлы значений для передачи шаблону. Пути будут считываться с файловой системы целевого хоста, а не хоста, на котором запущен Ansible. Параметр values_files обрабатывается до параметра values, если оба используются. Пути обрабатываются в порядке их указания. По умолчанию: |
wait boolean | Когда release_state установлено в Когда release_state установлено в Варианты:
|
wait_timeout string | Таймаут при включенном параметре wait (helm2 — количество секунд, helm3 — продолжительность). Использование wait_timeout для ожидания завершения команд Kubernetes устарело и будет удалено после 2022-12-01. |
Примечания
Примечание
- Проверка идемпотентности по умолчанию может не обнаруживать изменения, когда
release_stateустановлено вpresentиchart_repo_urlопределено. Установите helm diff >= 3.4.1 для лучших результатов.
Примеры
- 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.github.io/ingress-nginx"
- 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
- name: Separately update the repository cache
kubernetes.core.helm:
name: dummy
namespace: kube-system
state: absent
update_repo_cache: true
- name: Deploy Grafana chart using set values on target
kubernetes.core.helm:
name: test
chart_ref: stable/grafana
release_namespace: monitoring
set_values:
- value: phase=prod
value_type: string
# 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.6.0 from url
kubernetes.core.helm:
name: test
chart_ref: "https://github.com/grafana/helm-charts/releases/download/grafana-5.6.0/grafana-5.6.0.tgz"
release_namespace: monitoring
# Using complex Values
- name: Deploy new-relic client chart
kubernetes.core.helm:
name: newrelic-bundle
chart_ref: newrelic/nri-bundle
release_namespace: default
force: True
wait: True
replace: True
update_repo_cache: True
disable_hook: True
values:
global:
licenseKey: "{{ nr_license_key }}"
cluster: "{{ site_name }}"
newrelic-infrastructure:
privileged: True
ksm:
enabled: True
prometheus:
enabled: True
kubeEvents:
enabled: True
logging:
enabled: True
# Deploy latest version
- name: Deploy latest version of Grafana chart using reuse_values
kubernetes.core.helm:
name: test
chart_ref: stable/grafana
release_namespace: monitoring
reuse_values: true
values:
replicas: 2
version: 3e8ec0b2dffa40fb97d5342e4af887de95faa8c61a62480dd7f8aa03dffcf533
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
command string | Полная команда `helm`, сгенерированная этим модулем. В случае необходимости повторного запуска команды вне модуля или при отладке проблемы. Возвращается: всегда Пример: |
status complex | Словарь выходных данных статуса Возвращается: при успешном создании/обновлении/уже развернутом |
|
appversion string |
Версия развернутого приложения Возвращается: всегда |
|
chart string |
Название и версия шаблона Возвращается: всегда |
|
name string |
Имя релиза Возвращается: всегда |
|
namespace string |
Пространство имён, где развернут релиз Возвращается: всегда |
|
revision string |
Номер обновления релиза Возвращается: всегда |
|
status string |
Статус релиза (может быть DEPLOYED, FAILED, …) Возвращается: всегда |
|
updated string |
Дата последнего обновления Возвращается: всегда |
|
values string |
Словарь значений, используемых для развертывания Возвращается: всегда |
stderr string | Полный вывод стандартного потока ошибок `helm` в случае необходимости отображения или проверки журнала событий Возвращается: всегда Пример: |
stdout string | Полный вывод стандартного потока вывода `helm` в случае необходимости отображения или проверки журнала событий Возвращается: всегда Пример: |
Ссылки на сборку
© 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/kubernetes/core/helm_module.html