ten7.digitalocean_kubeconfig

Rol de Ansible: digitalocean_kubeconfig

Obtiene el kubeconfig para un clúster de Kubernetes de DigitalOcean.

Al trabajar con Kubernetes de DigitalOcean en la automatización, necesitas un método para obtener dinámicamente el kubeconfig.yaml. Este archivo se actualiza periódicamente por parte de DigitalOcean como medida de seguridad. Este rol utiliza la API de DigitalOcean para obtener el kubeconfig de manera dinámica, lo que te permite aprovisionar los clústeres con un nuevo conjunto de credenciales cada vez.

Requisitos

  • Debes tener una clave API de DigitalOcean.
  • La API de DigitalOcean debe ser accesible.

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml).

Token API

digitalocean_api_token: '1234567890abscdefg'

Tu token API de Digital Ocean.

Obtener el kubeconfig

digitalocean_kubeconfig:
  cluster: 'mi_nombre_de_clúster'
  kubeconfig: '/ruta/para/guardar/kubeconfig.yaml'

donde:

  • cluster: El nombre del clúster
  • kubeconfig: La ruta para guardar el archivo kubeconfig.

Dependencias

Ninguna.

Ejemplo de Playbook

Un uso simple podría ser:

---
- hosts: cluster
  vars:
    digitalocean_api_token: "1234567890abscdefg"
    digitalocean_kubeconfig:
      cluster: "mi_nombre_de_clúster"
      kubeconfig: "/ruta/para/guardar/kubeconfig.yaml"
  roles:
     - socketwench.digitalocean_kubeconfig    
  tasks:
     - name: Aplicar nuestras definiciones  
       k8s:
         kubeconfig: "/ruta/para/guardar/kubeconfig.yaml"
         src: "/ruta/a/mis/definiciones_k8s.yml"

A veces, quieres escribir el kubeconfig en un archivo o directorio temporal. En ese caso, puedes utilizar include_role o import_role en Ansible 2.x, proporcionando las variables del rol dentro de la tarea de importación:

---
- hosts: cluster
  vars:
    digitalocean_api_token: '1234567890abscdefg'
  tasks:
    - name: Crear un directorio temporal para almacenar archivos necesarios para la ejecución
      tempfile:
        state: directory
      register: _run_temp_dir
    - name: Obtener el archivo kubeconfig.
      import_role:
        name: socketwench.digitalocean_kubeconfig
      vars:
        digitalocean_kubeconfig:
          cluster: "mi_nombre_de_clúster"
          kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
    - name: Aplicar nuestras definiciones  
      k8s:
        kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
        src: "/ruta/a/mis/definiciones_k8s.yml"

Licencia

GPL v3

Información del Autor

Este rol fue creado por socketwench para TEN7.

Acerca del proyecto

Gets the kubeconfig file for clusters on DigitalOcean

Instalar
ansible-galaxy install ten7.digitalocean_kubeconfig
Licencia
Unknown
Descargas
6.4k
Propietario
We are a digital agency that builds, rescues and cares for Drupal sites. Our mission is to Make Things That Matter.