digitalocean_kubeconfig

Ansible Роль: digitalocean_kubeconfig

Получает kubeconfig для Kubernetes кластера на DigitalOcean.

При работе с Kubernetes на DigitalOcean в автоматизации вам нужен способ динамически получать kubeconfig.yaml. Этот файл периодически обновляется DigitalOcean как мера безопасности. Эта роль использует API DigitalOcean для динамического получения kubeconfig, позволяя вам развертывать кластеры с новым набором учетных данных каждый раз.

Требования

  • У вас должен быть ключ API DigitalOcean.
  • API DigitalOcean должен быть доступен.

Переменные Роли

Доступные переменные перечислены ниже вместе с значениями по умолчанию (см. defaults/main.yml).

API токен

digitalocean_api_token: '1234567890abscdefg'

Ваш токен API DigitalOcean.

Получение kubeconfig

digitalocean_kubeconfig:
  cluster: 'my_cluster_name'
  kubeconfig: '/path/to/save/kubeconfig.yaml'

где:

  • cluster: Имя кластера
  • kubeconfig: Путь для сохранения файла kubeconfig.

Зависимости

Нет.

Пример Playbook

Простое использование будет следующим:

---
- hosts: cluster
  vars:
    digitalocean_api_token: "1234567890abscdefg"
    digitalocean_kubeconfig:
      cluster: "my_cluster_name"
      kubeconfig: "/path/to/save/kubeconfig.yaml"
  roles:
     - socketwench.digitalocean_kubeconfig    
  tasks:
     - name: Применить наши определения  
       k8s:
         kubeconfig: "/path/to/save/kubeconfig.yaml"
         src: "/path/to/my/k8s_definitions.yml"

Иногда вам нужно записать kubeconfig во временный файл или каталог. В этом случае вы можете воспользоваться include_role или import_role в Ansible 2.x, указав переменные роли в задаче импорта:

---
- hosts: cluster
  vars:
    digitalocean_api_token: '1234567890abscdefg'
  tasks:
    - name: Создать временный каталог для хранения файлов, необходимых для выполнения
      tempfile:
        state: directory
      register: _run_temp_dir
    - name: Получить файл kubeconfig.
      import_role:
        name: socketwench.digitalocean_kubeconfig
      vars:
        digitalocean_kubeconfig:
          cluster: "my_cluster_name"
          kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
    - name: Применить наши определения  
      k8s:
        kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
        src: "/path/to/my/k8s_definitions.yml"

Лицензия

GPL v3

Информация об авторе

Эта роль была создана socketwench для TEN7.

О проекте

Gets the kubeconfig file for clusters on DigitalOcean

Установить
ansible-galaxy install ten7/ansible-role-digitalocean-kubeconfig
Лицензия
Unknown
Загрузки
6432
Владелец
We are a digital agency that builds, rescues and cares for Drupal sites. Our mission is to Make Things That Matter.