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.
ansible-galaxy install ten7.digitalocean_kubeconfig