freehck.k8s_join
freehck.k8s_join
Knoten zum Kubernetes-Cluster hinzufügen
Beschreibung
Diese Rolle wird auf alle Knoten und auf den Kubernetes-Master angewendet. Der Master-Host muss k8s_join_is_master
auf true
gesetzt haben.
Rollenvariablen
k8s_join_command_filename
: Der Dateiname zur Speicherung des Auth-Tokens/Befehls, Standard ist k8s-join-command
.
k8s_join_is_master
: Dieses boolesche Flag darf nur für einen spezifischen Host im Kubernetes-Cluster, nämlich den Master, auf true
gesetzt werden; Standard ist false
.
Beispiel
inventory
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:
# gemeinsame Parameter
k8s_ver: "1.16.2-00"
k8s_node_ip: "{{ ansible_host }}"
# k8s_base ist eine implizite Abhängigkeit
k8s_base_node_ip: "{{ k8s_node_ip }}"
k8s_base_ver: "{{ k8s_ver }}"
# k8s_init ist eine implizite Abhängigkeit
k8s_init_cidr: "192.168.0.0/16"
k8s_init_node_ip: "{{ ansible_host }}"
k8s_init_node_name: "{{ inventory_hostname }}"
# Konfiguration dieser Rolle
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
Hinweise
Wie im Beispiel zu sehen ist, wurde diese Rolle entwickelt, um sowohl auf dem Kubernetes-Master als auch auf den Knoten angewendet zu werden. Auf dem Master generiert diese Rolle ein Auth-Token und speichert es in einer Datei auf dem Ansible-Controller. Diese Datei nicht speichern, da sie bald abläuft! Anschließend wird dieses Token auf den Knoten verwendet, damit sie dem Cluster beitreten können.
Installation
Diese Rolle kann von Ansible Galaxy installiert werden:
ansible-galaxy install freehck.k8s_join
Lizenz
MIT
Autoreninformationen
Dmitrii Kashin, freehck@freehck.ru
ansible-galaxy install freehck.k8s_join