freehck.k8s_join
freehck.k8s_join
Unir nodos al clúster de Kubernetes
Descripción
Este rol se aplica a todos los nodos y al maestro de Kubernetes. El host maestro debe tener k8s_join_is_master
configurado como true
.
Variables del Rol
k8s_join_command_filename
: El nombre del archivo para almacenar el token/ comando de autenticación. El valor predeterminado es k8s-join-command
.
k8s_join_is_master
: Este indicador booleano solo debe estar configurado como true
para un host específico en el clúster de Kubernetes, que es el maestro; el valor predeterminado es false
.
Ejemplo
inventario
k8s-node-0 ansible_host=10.118.19.10 k8s_is_master=true
k8s-node-1 ansible_host=10.118.19.11
k8s-node-2 ansible_host=10.118.19.12
[k8s_cluster]
k8s-node-0
k8s-node-1
k8s-node-2
playbook.yml
- hosts: k8s_cluster
become: true
vars:
# parámetros comunes
k8s_ver: "1.16.2-00"
k8s_node_ip: "{{ ansible_host }}"
# k8s_base es una dependencia implícita
k8s_base_node_ip: "{{ k8s_node_ip }}"
k8s_base_ver: "{{ k8s_ver }}"
# k8s_init es una dependencia implícita
k8s_init_cidr: "192.168.0.0/16"
k8s_init_node_ip: "{{ ansible_host }}"
k8s_init_node_name: "{{ inventory_hostname }}"
# configuración de este rol
k8s_join_is_master: "{{ k8s_is_master | default('false') }}"
roles:
- role: freehck.k8s_base
- role: freehck.k8s_init
when: k8s_join_is_master
- role: freehck.k8s_join
Notas
Como puedes ver en el ejemplo, este rol está diseñado para aplicarse tanto al maestro de Kubernetes como a los nodos. En el maestro, este rol genera un token de autenticación y lo guarda en un archivo en el controlador de Ansible. ¡No commits este archivo, caducará pronto! Luego, en los nodos, utiliza este token para unirse al clúster.
Instalación
Este rol se puede instalar desde Ansible Galaxy:
ansible-galaxy install freehck.k8s_join
Licencia
MIT
Información del Autor
Dmitrii Kashin, freehck@freehck.ru
ansible-galaxy install freehck.k8s_join