Spec-Zone.ru › Ansible

Модуль kubernetes.core.helm — управление пакетами Kubernetes с помощью пакетного менеджера Helm

Примечание

Этот модуль входит в коллекцию kubernetes.core (версия 6.4.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install kubernetes.core. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.

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

Добавлено в kubernetes.core 0.11.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

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

Примечание

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

Требования

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

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

Параметры

Параметр

Комментарии

api_key

строка

добавлено в kubernetes.core 1.2.0

Токен для аутентификации в API. Также можно указать с помощью переменной окружения K8S_AUTH_API_KEY.

atomic

логическое значение

Если параметр включен, при сбое установки она удаляется.

Варианты:

  • false ← (по умолчанию)
  • true

binary_path

путь

Путь к используемому двоичному файлу Helm.

ca_cert

псевдонимы: ssl_ca_cert

путь

добавлено в kubernetes.core 1.2.0

Путь к сертификату CA для аутентификации в API. Чтобы избежать ошибок проверки сертификата, необходимо указать всю цепочку сертификатов. Также можно указать с помощью переменной окружения K8S_AUTH_SSL_CA_CERT.

chart_ref

путь

Ссылка на чарт в репозитории чартов.

Путь к упакованному чарту.

Путь к каталогу с распакованным чартом.

Абсолютный URL.

Обязательный параметр, если для release_state задано значение present.

chart_repo_url

строка

URL репозитория чартов, в котором следует найти запрошенный чарт.

chart_version

строка

Версия устанавливаемого чарта. Если не указана, устанавливается последняя версия.

context

псевдонимы: kube_context

строка

Параметр Helm, задающий контекст kubeconfig для использования.

Если значение не указано в задаче, вместо него используется значение переменной окружения K8S_AUTH_CONTEXT.

create_namespace

логическое значение

добавлено в kubernetes.core 0.11.1

Создать пространство имён релиза, если оно отсутствует.

Варианты:

  • false ← (по умолчанию)
  • true

dependency_update

псевдонимы: dep_up

логическое значение

добавлено в kubernetes.core 2.4.0

Выполнить отдельную команду helm dependency update CHART перед операцией.

Выполнить встроенную команду --dependency-update с командой helm install. Эта функция пока не поддерживается командой helm upgrade.

Поэтому при указании chart_repo_url рекомендуется использовать параметр dependency_update вместе с включённым параметром replace.

Для параметра dependency_update необходимо добавить блок dependencies в файл Chart.yaml/requirements.yaml.

Дополнительные сведения см. на странице https://helm.sh/docs/helm/helm_dependency/

Варианты:

  • false ← (по умолчанию)
  • true

disable_hook

логическое значение

Параметр Helm, отключающий хуки при установке, обновлении или удалении.

Варианты:

  • false ← (по умолчанию)
  • true

force

логическое значение

Параметр Helm для принудительной переустановки; при новой установке игнорируется.

Варианты:

  • false ← (по умолчанию)
  • true

history_max

целое число

добавлено в kubernetes.core 2.2.0

Ограничивает максимальное количество сохраняемых ревизий для каждого релиза.

Взаимоисключающий параметр с replace.

host

строка

добавлено в kubernetes.core 1.2.0

Указывает URL для доступа к API. Также можно указать с помощью переменной окружения K8S_AUTH_HOST.

insecure_skip_tls_verify

псевдонимы: skip_tls_certs_check

логическое значение

добавлено в kubernetes.core 5.3.0

Отключить проверку TLS-сертификатов при загрузке чарта.

Не путайте этот параметр с параметром validate_certs.

Этот параметр доступен только для helm >= 3.16.0.

Варианты:

  • false ← (по умолчанию)
  • true

kubeconfig

псевдонимы: kubeconfig_path

любой тип

Параметр Helm, задающий путь к используемому файлу kubeconfig.

Если значение не указано в задаче, вместо него используется значение переменной окружения K8S_AUTH_KUBECONFIG.

Конфигурацию можно передать в виде словаря. Добавлено в версии 2.4.0.

plain_http

логическое значение

добавлено в kubernetes.core 6.1.0

Использовать HTTP вместо HTTPS при работе с реестрами OCI.

Требуется Helm >= 3.13.0.

Варианты:

  • false ← (по умолчанию)
  • true

post_renderer

строка

добавлено в kubernetes.core 2.4.0

Путь к исполняемому файлу для постобработки рендеринга.

purge

логическое значение

Удалить релиз из хранилища и освободить его имя для последующего использования.

Варианты:

  • false
  • true ← (по умолчанию)

release_name

псевдонимы: name

строка / обязательный

Имя управляемого релиза.

release_namespace

псевдонимы: namespace

строка / обязательный

Пространство имён Kubernetes, в которое следует установить чарт.

release_state

псевдонимы: state

строка

Требуемое состояние релиза.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

release_values

псевдонимы: values

словарь

Значения, передаваемые чарту.

По умолчанию: {}

replace

логическое значение

добавлено в kubernetes.core 1.11.0

Повторно использовать заданное имя, только если оно принадлежит удалённому релизу, запись о котором сохранилась в истории.

Использование этого параметра в производственной среде небезопасно.

Взаимоисключающий параметр с history_max.

Варианты:

  • false ← (по умолчанию)
  • true

reset_then_reuse_values

логическое значение

добавлено в kubernetes.core 6.0.0

При обновлении пакета сбросить значения до встроенных в чарт, применить значения последнего релиза и объединить их с переопределениями параметров release_values, values_files или set_values.

Если для reset_values или reuse_values задано значение True, этот параметр игнорируется.

Для этой функции требуется helm diff >= 3.9.12.

Варианты:

  • false ← (по умолчанию)
  • true

reset_values

логическое значение

добавлено в kubernetes.core 3.0.0

При обновлении пакета сбросить значения до встроенных в чарт.

Варианты:

  • false
  • true ← (по умолчанию)

reuse_values

логическое значение

добавлено в kubernetes.core 3.0.0

При обновлении пакета указывает, следует ли повторно использовать значения последнего релиза и объединить их с переопределениями параметров release_values, values_files или set_values.

Если для reset_values задано значение True, этот параметр игнорируется.

Варианты:

  • false
  • true

set_values

список / элементы=словарь

добавлено в kubernetes.core 2.4.0

Значения, передаваемые в конфигурацию чарта.

value

строка / обязательный

Значение, передаваемое в конфигурацию чарта (например, phase=prod).

value_type

строка

Используйте raw, чтобы задать отдельное значение.

Используйте string, чтобы принудительно задать для отдельного значения строковый тип.

Используйте file, чтобы задавать отдельные значения из файла, если само значение слишком длинное для командной строки или генерируется динамически.

Используйте json, чтобы задавать значения JSON (скаляры, объекты, массивы). Для этой функции требуется helm >= 3.10.0.

Варианты:

  • "raw" ← (по умолчанию)
  • "string"
  • "json"
  • "file"

skip_crds

логическое значение

добавлено в kubernetes.core 1.2.0

Не устанавливать определения пользовательских ресурсов при установке или обновлении.

Варианты:

  • false ← (по умолчанию)
  • true

skip_schema_validation

логическое значение

добавлено в kubernetes.core 6.2.0

Отключает проверку схемы JSON для чарта и значений.

Для этой функции требуется helm >= 3.16.0.

Варианты:

  • false ← (по умолчанию)
  • true

take_ownership

логическое значение

добавлено в kubernetes.core 6.1.0

Helm пропустит проверку аннотаций Helm и примет в управление существующие ресурсы.

Для этой функции требуется helm >= 3.17.0.

Варианты:

  • false ← (по умолчанию)
  • true

timeout

строка

добавлено в kubernetes.core 2.3.0

Значение длительности Go (описано здесь: https://pkg.go.dev/time#ParseDuration), задающее время ожидания завершения команд Kubernetes. По умолчанию — 5m0s.

Аналогично wait_timeout, но для использования не требуется активировать wait.

Взаимоисключающий параметр с wait_timeout.

update_repo_cache

логическое значение

Выполнить helm repo update перед операцией. Команду можно выполнить в рамках установки пакета или отдельным шагом (см. примеры).

Варианты:

  • false ← (по умолчанию)
  • true

validate_certs

псевдонимы: verify_ssl

логическое значение

добавлено в kubernetes.core 1.2.0

Проверять ли SSL-сертификаты сервера API. Также можно указать с помощью переменной окружения K8S_AUTH_VERIFY_SSL.

Варианты:

  • false
  • true ← (по умолчанию)

values_files

список / элементы=строка

добавлено в kubernetes.core 1.1.0

Файлы значений, передаваемые чарту.

Пути будут прочитаны из файловой системы целевого хоста, а не хоста, на котором выполняется Ansible.

Если используются оба параметра, параметр values_files обрабатывается перед параметром values.

Пути обрабатываются в указанном порядке.

По умолчанию: []

wait

логическое значение

Если для release_state задано значение present, ожидать перехода всех подов, PVC и сервисов, а также минимального количества подов развертывания в состояние готовности, прежде чем пометить релиз как успешно установленный.

Если для release_state задано значение absent, ожидать удаления всех ресурсов перед возвратом. Ожидание будет продолжаться не дольше значения wait_timeout. Для этой функции требуется helm >= 3.7.0. Добавлено в версии 2.3.0.

Варианты:

  • false ← (по умолчанию)
  • true

wait_timeout

строка

Время ожидания при включённом параметре 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

- name: Deploy Bitnami's MongoDB latest chart from OCI registry
  kubernetes.core.helm:
    name: test
    chart_ref: "oci://registry-1.docker.io/bitnamicharts/mongodb"
    release_namespace: database

# 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`, сформированная этим модулем, на случай, если вы захотите повторно выполнить её вне модуля или отладить проблему.

Возвращается: всегда

Пример: "helm upgrade ..."

status

complex

Словарь с данными о состоянии

Возвращается: при успешном создании, обновлении или при уже существующем развёртывании

appversion

string

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

Возвращается: всегда

chart

string

Имя и версия чарта

Возвращается: всегда

name

string

Имя релиза

Возвращается: всегда

namespace

string

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

Возвращается: всегда

release_values

dictionary

добавлено в kubernetes.core 6.3.0

Словарь значений, использованных для развёртывания.

Возвращается: всегда

revision

string

Количество обновлений релиза

Возвращается: всегда

status

string

Состояние релиза (может быть DEPLOYED, FAILED, …)

Возвращается: всегда

updated

string

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

Возвращается: всегда

values

dictionary

Словарь значений, использованных для развёртывания.

Это возвращаемое значение объявлено устаревшим и будет удалено в одном из выпусков после 2027-01-08. Вместо него используйте status.release_values.

Возвращается: всегда

stderr

string

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

Возвращается: всегда

Пример: ""

stdout

string

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

Возвращается: всегда

Пример: ""

Авторы

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

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

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

Spec-Zone.ru

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