ten7.digitalocean_kubeconfig
Ansible Rolle: digitalocean_kubeconfig
Erhält die kubeconfig für einen DigitalOcean Kubernetes-Cluster.
Bei der Arbeit mit DigitalOcean Kubernetes in der Automatisierung benötigen Sie eine Methode, um das kubeconfig.yaml dynamisch zu erhalten. Diese Datei wird regelmäßig von DigitalOcean aus Sicherheitsgründen neu erstellt. Diese Rolle verwendet die DigitalOcean API, um die kubeconfig dynamisch zu beziehen, sodass Sie jedes Mal mit einem neuen Satz von Anmeldeinformationen auf Cluster zugreifen können.
Anforderungen
- Sie müssen einen DigitalOcean API-Schlüssel haben.
- Die DigitalOcean API muss zugänglich sein.
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml
).
API Token
digitalocean_api_token: '1234567890abscdefg'
Ihr DigitalOcean API-Token.
Erhalt der kubeconfig
digitalocean_kubeconfig:
cluster: 'mein_cluster_name'
kubeconfig: '/pfad/zum/speichern/kubeconfig.yaml'
wo:
- cluster: Der Name des Clusters
- kubeconfig: Der Pfad zum Speichern der kubeconfig-Datei.
Abhängigkeiten
Keine.
Beispiel-Playbook
Eine einfache Anwendung wäre:
---
- hosts: cluster
vars:
digitalocean_api_token: "1234567890abscdefg"
digitalocean_kubeconfig:
cluster: "mein_cluster_name"
kubeconfig: "/pfad/zum/speichern/kubeconfig.yaml"
roles:
- socketwench.digitalocean_kubeconfig
tasks:
- name: Wenden Sie unsere Definitionen an
k8s:
kubeconfig: "/pfad/zum/speichern/kubeconfig.yaml"
src: "/pfad/zu/meinen/k8s_definitions.yml"
Manchmal möchten Sie die kubeconfig in eine temporäre Datei oder ein temporäres Verzeichnis schreiben. In diesem Fall können Sie in Ansible 2.x include_role oder import_role verwenden und die Rollenvariablen innerhalb der Import-Aufgabe angeben:
---
- hosts: cluster
vars:
digitalocean_api_token: '1234567890abscdefg'
tasks:
- name: Erstellen Sie ein temporäres Verzeichnis zum Speichern der benötigten Dateien
tempfile:
state: directory
register: _run_temp_dir
- name: Die kubeconfig-Datei abrufen.
import_role:
name: socketwench.digitalocean_kubeconfig
vars:
digitalocean_kubeconfig:
cluster: "mein_cluster_name"
kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
- name: Wenden Sie unsere Definitionen an
k8s:
kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
src: "/pfad/zu/meinen/k8s_definitions.yml"
Lizenz
GPL v3
Autoreninformationen
Diese Rolle wurde von socketwench für TEN7 erstellt.
ansible-galaxy install ten7.digitalocean_kubeconfig