freehck.k8s_join
freehck.k8s_join
Rejoindre des nœuds au cluster Kubernetes
Description
Ce rôle est appliqué à tous les nœuds et au maître Kubernetes. L'hôte maître doit avoir k8s_join_is_master
défini sur true
.
Variables du rôle
k8s_join_command_filename
: Le nom du fichier pour stocker le token/authentification, par défaut c'est k8s-join-command
.
k8s_join_is_master
: Ce drapeau booléen doit être uniquement défini sur true
pour un hôte spécifique dans le cluster Kubernetes, c’est celui qui est maître ; par défaut, c'est false
.
Exemple
inventaire
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:
# paramètres communs
k8s_ver: "1.16.2-00"
k8s_node_ip: "{{ ansible_host }}"
# k8s_base est une dépendance implicite
k8s_base_node_ip: "{{ k8s_node_ip }}"
k8s_base_ver: "{{ k8s_ver }}"
# k8s_init est une dépendance implicite
k8s_init_cidr: "192.168.0.0/16"
k8s_init_node_ip: "{{ ansible_host }}"
k8s_init_node_name: "{{ inventory_hostname }}"
# configuration de ce rôle
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
Notes
Comme vous pouvez le voir dans l'exemple, ce rôle est conçu pour être appliqué à la fois au maître Kubernetes et aux nœuds. Sur le maître, ce rôle génère un token d'authentification et le sauvegarde dans un fichier sur le contrôleur Ansible. Ne commettez pas ce fichier, il expirera après un certain temps ! Ensuite, sur les nœuds, il utilise ce token pour rejoindre le cluster.
Installation
Ce rôle peut être installé depuis Ansible Galaxy :
ansible-galaxy install freehck.k8s_join
Licence
MIT
Informations sur l'auteur
Dmitrii Kashin, freehck@freehck.ru
ansible-galaxy install freehck.k8s_join