Zurück zu Projekten

RKE2 Ansible Rolle

Eine Ansible-Rolle zum Deployment und zur Verwaltung von RKE2-Kubernetes-Clustern mit Hochverfügbarkeitsunterstützung via kube-vip.

Technologie-Stack

Ansible Kubernetes RKE2 kube-vip Calico

Ü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 kubectl und calicoctl auf 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 auf server (Control Plane) oder agent (Worker)
  • first_node_install: Setzen Sie auf true für den initialen Bootstrap-Node
  • cni_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!