Spec-Zone.ru › Ansible 2.11

Использование плагина динамического инвентаризации Kubernetes

  • Плагин динамического инвентаризации Kubernetes

    • Требования
  • Использование зашифрованных файлов конфигурации

Плагин динамического инвентаризации Kubernetes

Лучший способ взаимодействия с вашими Pod — использование плагина динамического инвентаризации Kubernetes, который динамически запрашивает API Kubernetes с помощью kubectl команды, доступной на узле контроллера, и сообщает Ansible, какие Pod могут быть управляемы.

Требования

Для использования плагинов динамического инвентаризации Kubernetes необходимо установить Kubernetes Python client, kubectl и OpenShift Python client на вашем контрольном узле (хосте, на котором работает Ansible).

$ pip install kubernetes openshift

Обратитесь к официальной документации Kubernetes для установки kubectl на заданных операционных системах.

Для использования этого плагина динамического инвентаризации Kubernetes необходимо его сначала включить, указав следующее в файле ansible.cfg:

[inventory]
enable_plugins = community.kubernetes.k8s

Затем создайте файл, который заканчивается на .k8s.yml или .k8s.yaml в вашей рабочей директории.

Плагин инвентаризации community.kubernetes.k8s принимает ту же информацию об аутентификации, что и другие модули Kubernetes.

Вот пример допустимого файла инвентаризации:

plugin: community.kubernetes.k8s

Выполнение ansible-inventory --list -i <filename>.k8s.yml создаст список Pod, готовых к настройке с помощью Ansible.

Вы также можете указать пространство имён для сбора информации о конкретных Pod из заданного пространства имён. Например, для сбора информации о Pod в пространстве имён test вы укажете параметр namespaces:

plugin: community.kubernetes.k8s
connections:
- namespaces:
    - test

Использование зашифрованных файлов конфигурации

Поскольку файл конфигурации инвентаризации содержит конфиденциальную информацию, связанную с Kubernetes, в открытом тексте, что представляет собой угрозу безопасности, вы можете зашифровать весь файл конфигурации инвентаризации.

Вы можете зашифровать допустимый файл конфигурации инвентаризации следующим образом:

$ ansible-vault encrypt <filename>.k8s.yml
  New Vault password:
  Confirm New Vault password:
  Encryption successful

$ echo "MySuperSecretPassw0rd!" > /path/to/vault_password_file

И вы можете использовать этот зашифрованный файл конфигурации инвентаризации с помощью:

$ ansible-inventory -i <filename>.k8s.yml --list --vault-password-file=/path/to/vault_password_file

См. также

Kubernetes Python client

Страница GitHub Kubernetes Python client

Kubernetes Python client - Трекер ошибок

Трекер проблем Kubernetes Python client

OpenShift Python client

Страница GitHub OpenShift Dynamic API client

OpenShift Python client - Трекер ошибок

Трекер проблем OpenShift Dynamic API client

Установка Kubectl

Руководство по установке Kubectl

Работа с playbook

Введение в playbook

Использование зашифрованных переменных и файлов

Использование Vault в playbook

© 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/scenario_guides/kubernetes_scenarios/k8s_inventory.html

Spec-Zone.ru

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