ten7.digitalocean_kubeconfig

Rola Ansible: digitalocean_kubeconfig

Pobiera kubeconfig dla klastra Kubernetes na DigitalOcean.

Podczas pracy z Kubernetes na DigitalOcean w automatyzacji, potrzebujesz sposobu na dynamiczne uzyskanie pliku kubeconfig.yaml. Plik ten jest okresowo aktualizowany przez DigitalOcean jako środek bezpieczeństwa. Ta rola wykorzystuje API DigitalOcean do dynamicznego pobierania kubeconfig, co pozwala na provisionowanie klastra z nowym zestawem poświadczeń za każdym razem.

Wymagania

  • Musisz mieć klucz API DigitalOcean.
  • API DigitalOcean musi być dostępne.

Zmienne Roli

Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (patrz defaults/main.yml).

Token API

digitalocean_api_token: '1234567890abscdefg'

Twój token API DigitalOcean.

Pobieranie kubeconfig

digitalocean_kubeconfig:
  cluster: 'moje_nazwa_klastra'
  kubeconfig: '/sciezka/do/zapisu/kubeconfig.yaml'

gdzie:

  • cluster: Nazwa klastra
  • kubeconfig: Ścieżka do zapisu pliku kubeconfig.

Zależności

Brak.

Przykład Playbooka

Prosty przypadek użycia:

---
- hosts: cluster
  vars:
    digitalocean_api_token: "1234567890abscdefg"
    digitalocean_kubeconfig:
      cluster: "moje_nazwa_klastra"
      kubeconfig: "/sciezka/do/zapisu/kubeconfig.yaml"
  roles:
     - socketwench.digitalocean_kubeconfig    
  tasks:
     - name: Zastosuj nasze definicje  
       k8s:
         kubeconfig: "/sciezka/do/zapisu/kubeconfig.yaml"
         src: "/sciezka/do/moich/definicji_k8s.yml"

Czasami chcesz zapisać kubeconfig w tymczasowym pliku lub katalogu. W takim przypadku możesz skorzystać z include_role lub import_role w Ansible 2.x, podając zmienne roli w zadaniu importu:

---
- hosts: cluster
  vars:
    digitalocean_api_token: '1234567890abscdefg'
  tasks:
    - name: Utwórz tymczasowy katalog do przechowywania plików potrzebnych do działania
      tempfile:
        state: directory
      register: _run_temp_dir
    - name: Pobierz plik kubeconfig.
      import_role:
        name: socketwench.digitalocean_kubeconfig
      vars:
        digitalocean_kubeconfig:
          cluster: "moje_nazwa_klastra"
          kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
    - name: Zastosuj nasze definicje  
      k8s:
        kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
        src: "/sciezka/do/moich/definicji_k8s.yml"

Licencja

GPL v3

Informacje o Autorze

Ta rola została stworzona przez socketwench dla TEN7.

O projekcie

Gets the kubeconfig file for clusters on DigitalOcean

Zainstaluj
ansible-galaxy install ten7.digitalocean_kubeconfig
Licencja
Unknown
Pobrania
6.4k
Właściciel
We are a digital agency that builds, rescues and cares for Drupal sites. Our mission is to Make Things That Matter.