ten7.digitalocean_kubeconfig

Rôle Ansible : digitalocean_kubeconfig

Récupère le kubeconfig pour un cluster Kubernetes sur DigitalOcean.

Lorsque vous travaillez avec Kubernetes sur DigitalOcean dans le cadre de l'automatisation, vous avez besoin d'une méthode pour obtenir dynamiquement le fichier kubeconfig.yaml. Ce fichier est régulièrement réinitialisé par DigitalOcean pour des raisons de sécurité. Ce rôle utilise l'API de DigitalOcean pour obtenir le kubeconfig de manière dynamique, vous permettant d'approvisionner des clusters avec un nouvel ensemble de credentials à chaque fois.

Exigences

  • Vous devez disposer d'une clé API DigitalOcean.
  • L'API DigitalOcean doit être accessible.

Variables de Rôle

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut (voir defaults/main.yml).

Jeton API

digitalocean_api_token: '1234567890abscdefg'

Votre jeton API Digital Ocean.

Obtention du kubeconfig

digitalocean_kubeconfig:
  cluster: 'nom_de_mon_cluster'
  kubeconfig: '/chemin/pour/sauvegarder/kubeconfig.yaml'

où :

  • cluster : Le nom du cluster
  • kubeconfig : Le chemin pour sauvegarder le fichier kubeconfig.

Dépendances

Aucune.

Exemple de Playbook

Une utilisation simple serait :

---
- hosts: cluster
  vars:
    digitalocean_api_token: "1234567890abscdefg"
    digitalocean_kubeconfig:
      cluster: "nom_de_mon_cluster"
      kubeconfig: "/chemin/pour/sauvegarder/kubeconfig.yaml"
  roles:
     - socketwench.digitalocean_kubeconfig    
  tasks:
     - name: Appliquer nos définitions  
       k8s:
         kubeconfig: "/chemin/pour/sauvegarder/kubeconfig.yaml"
         src: "/chemin/vers/mes_definitions_k8s.yml"

Parfois, vous souhaitez écrire le kubeconfig dans un fichier ou un répertoire temporaire. Dans ce cas, vous pouvez utiliser include_role ou import_role dans Ansible 2.x, en fournissant les variables du rôle dans la tâche d'importation :

---
- hosts: cluster
  vars:
    digitalocean_api_token: '1234567890abscdefg'
  tasks:
    - name: Créer un répertoire temporaire pour stocker les fichiers nécessaires à l'exécution
      tempfile:
        state: directory
      register: _run_temp_dir
    - name: Obtenir le fichier kubeconfig.
      import_role:
        name: socketwench.digitalocean_kubeconfig
      vars:
        digitalocean_kubeconfig:
          cluster: "nom_de_mon_cluster"
          kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
    - name: Appliquer nos définitions  
      k8s:
        kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
        src: "/chemin/vers/mes_definitions_k8s.yml"

Licence

GPL v3

Informations sur l'Auteur

Ce rôle a été créé par socketwench pour TEN7.

À propos du projet

Gets the kubeconfig file for clusters on DigitalOcean

Installer
ansible-galaxy install ten7.digitalocean_kubeconfig
Licence
Unknown
Téléchargements
6.4k
Propriétaire
We are a digital agency that builds, rescues and cares for Drupal sites. Our mission is to Make Things That Matter.