RKE2 Ansible Rolle
Eine Ansible-Rolle zum Deployment und zur Verwaltung von RKE2-Kubernetes-Clustern mit Hochverfügbarkeitsunterstützung via kube-vip.
Technologie-Stack
Überblick
Diese Ansible-Rolle vereinfacht das Deployment von RKE2 Kubernetes-Clustern. RKE2 ist Ranchers Kubernetes-Distribution der nächsten Generation mit Fokus auf Sicherheit und Compliance. Diese Rolle automatisiert den gesamten Cluster-Lebenszyklus vom Bootstrap bis zur Skalierung.
Verfügbar auf Ansible Galaxy für einfache Installation.
Features
- Cluster Bootstrap: Initialisieren Sie eine neue RKE2 Control Plane mit einem einzigen Befehl
- Multi-Node-Unterstützung: Fügen Sie zusätzliche Control-Plane-Nodes und Worker-Nodes hinzu
- Hochverfügbarkeit: Konfigurieren Sie kube-vip für eine schwebende virtuelle IP auf der Control Plane (ARP-Modus)
- Dual-Stack-Networking: Volle IPv4/IPv6 Dual-Stack-Cluster-Unterstützung
- CNI-Flexibilität: Calico als Standard-CNI mit konfigurierbaren Alternativen
- Tooling: Optionale Installation von
kubectlundcalicoctlauf allen Nodes - Kubeconfig-Management: Automatischer Abruf der kubeconfig auf Ihren lokalen Rechner
Installation
Installation von Ansible Galaxy:
ansible-galaxy install mtze.rke2
Oder Installation der neuesten Version direkt von GitHub:
ansible-galaxy install git+https://github.com/Mtze/rke2-ansible.git,main
Schnellstart
Bootstrap eines neuen Clusters
Führen Sie zunächst die Rolle auf einem einzelnen Node aus, um den Cluster zu initialisieren:
- hosts: server-node-1.example.com
roles:
- role: mtze.rke2
vars:
first_node_install: true
Dann fügen Sie die verbleibenden Nodes hinzu:
- hosts: all_nodes
roles:
- role: mtze.rke2
Hochverfügbarkeit mit kube-vip
Für Produktionsdeployments aktivieren Sie kube-vip für eine hochverfügbare Control Plane:
- hosts: control_plane
roles:
- role: mtze.rke2
vars:
control_plane_vip: 10.20.30.1
control_plane_vip_hostname: k8s.example.com
control_plane_vip_interface: eth0
Konfiguration
Wichtige Variablen:
rke2_node_type: Setzen Sie aufserver(Control Plane) oderagent(Worker)first_node_install: Setzen Sie auftruefür den initialen Bootstrap-Nodecni_plugin: CNI-Plugin-Auswahl (Standard:calico)fetch_kube_config: Automatischer Abruf der kubeconfig (Standard:true)cluster_cidr/service_cidr: Netzwerkkonfiguration für Dual-Stack-Unterstützung
Alle verfügbaren Optionen finden Sie im defaults-Ordner.
Lizenz
MIT-Lizenz — Beiträge und Issues sind willkommen!