RKE2 Cheatsheet

RKE2 CheatsheetKapitel 05 von 11

RKE2 Security und Hardening

Stand RKE2 1.37 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

CIS-Profil

profile: cis in der config.yaml aktiviert die CIS-Benchmark-Härtung: PSA restricted als Default (außer kube-system, compliance-operator-system, tigera-operator), strenge Datei-Rechte, NetworkPolicies nur in kube-system, kube-public, default. Für eigene Namespaces Policies selbst anlegen und darin den Ingress-Controller zulassen. Self-Assessment: CIS 2.0 für 1.35 bis 1.37, CIS 1.12 für 1.34.

Host-Prereqs: etcd-User (useradd -r -M -U -s /sbin/nologin etcd) und rke2-cis-sysctl.conf (/usr/share/rke2/ bei RPM, /usr/local/share/rke2/ bei Tarball) nach /etc/sysctl.d/60-rke2-cis.conf kopieren: RKE2 legt die Datei ab, aktiviert sie aber nicht. profile setzt protect-kernel-defaults: true: fehlen die Sysctls, beendet sich RKE2 beim Start mit Fehler. systemd-sysctl nur auf frischen Nodes neu starten (CNIs setzen eigene Sysctls).

Weitere Defaults

Secrets-Encryption at rest: standardmäßig an (AES-CBC, alternativ secrets-encryption-provider: secretbox), verwaltet via rke2 secrets-encrypt. SELinux: unterstützt (selinux: true + rke2-selinux Policy).

Security Responder (ab 1.37, Default an): CronJob rke2-security-responder in kube-system, alle 8h. Sendet Cluster-Metadaten (K8s-Version, kube-system-UID, OS/Kernel, CNI, Ingress, Node-Zahlen) an SUSE (security-responder.version.rke2.io, HTTPS), meldet CVEs der laufenden Version. Ohne Egress scheitert der Lauf folgenlos für den Cluster, nichts wird gepuffert. Reduzieren: mode: minimal per HelmChartConfig. Kein Datenabfluss: disable: [rke2-security-responder].

rke2 secrets-encrypt status
rke2 secrets-encrypt rotate-keys   # Key-Rotation
# HA: reencrypt_finished abwarten, dann Neustarts
kubectl get --raw='/readyz?verbose'

Zertifikate & Tokens

Node-Zertifikate gelten 365 Tage und werden nur beim Start erneuert, wenn sie unter 120 Tage Restlaufzeit haben (Event CertificateExpirationWarning). Ein Node ohne Neustart über ein Jahr läuft in abgelaufene Zertifikate. CAs gelten 10 Jahre, ohne Auto-Renew (rke2 certificate rotate-ca).

Agents per eigenem agent-token joinen lassen. Nach token rotate alle Nodes mit dem neuen Token neu starten.

rke2 certificate check --output table
systemctl stop rke2-server
rke2 certificate rotate
systemctl start rke2-server
rke2 token rotate --token <alt> --new-token <neu>