freehck.k8s_join
freehck.k8s_join
Dołączanie węzłów do klastra Kubernetes
Opis
Ta rola jest stosowana do wszystkich węzłów oraz do mastera Kubernetes. Host master musi mieć ustawione k8s_join_is_master
na true
.
Zmienne roli
k8s_join_command_filename
: Nazwa pliku do przechowywania tokenu autoryzacyjnego/komendy, domyślnie jest to k8s-join-command
.
k8s_join_is_master
: Ta flaga boolean musi być ustawiona na true
tylko dla jednego konkretnego hosta w klastrze Kubernetes, który jest masterem; domyślnie to false
.
Przykład
inwentarz
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:
# wspólne parametry
k8s_ver: "1.16.2-00"
k8s_node_ip: "{{ ansible_host }}"
# k8s_base jest zależnością implicit
k8s_base_node_ip: "{{ k8s_node_ip }}"
k8s_base_ver: "{{ k8s_ver }}"
# k8s_init jest zależnością implicit
k8s_init_cidr: "192.168.0.0/16"
k8s_init_node_ip: "{{ ansible_host }}"
k8s_init_node_name: "{{ inventory_hostname }}"
# konfiguracja tej roli
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
Uwagi
Jak widać w przykładzie, ta rola jest zaprojektowana do zastosowania zarówno na masterze Kubernetes, jak i na węzłach. Na masterze ta rola generuje token autoryzacyjny i zapisuje go w pliku na kontrolerze ansible. Nie zapisuj tego pliku, ponieważ wygasnie po pewnym czasie! Następnie na węzłach używa się tego tokenu, aby mogły dołączyć do klastra.
Instalacja
Tę rolę można zainstalować z Ansible Galaxy:
ansible-galaxy install freehck.k8s_join
Licencja
MIT
Informacje o autorze
Dmitrii Kashin, freehck@freehck.ru
ansible-galaxy install freehck.k8s_join