Rancher Kubernetes Cluster Management
Sobald der Rancher Management Kubernetes-Cluster, beispielsweise rke2, installiert ist, wird die Rancher-Software als Container-Workload eingerichtet. Diese wird von SUSE/Rancher Labs als Helm-Chart bereitgestellt.
Rancher bietet folgende Optionen für TLS-Zertifikate an:
- Rancher erstellt und verwaltet ein selbstsigniertes TLS-Zertifikat (benötigt cert-manager)
- Zertifikat wird von einer Public Key Infrastructure (PKI) (wie LetsEncrypt) mithilfe des ACME-Protokolls bereitgestellt, benötigt cert-manager
- Bereitstellung eines TLS-Zertifikats mit Schlüssel und der passenden rootCA
Für diese Anleitung nutzen wir die Methode „Bereitstellung eines TLS-Zertifikats mit Schlüssel und passender rootCA“. Das dazu passende Secret muss als erstes in den Cluster ausgerollt werden. Dazu sollte im Vorfeld der Namespace „cattle-system“ eingerichtet werden.
k create secret generic tls-ca --from-file=cacerts.pem=$HOME/Uebungen/cert-manager/tls.crt -n cattle-system
Das Secret muss zwingend tls-ca heißen und im cattle-system Namespace liegen
Das hier erwähnte Zertifikat kann das self-signed rootCA Zertifikate aus dem cert-manager oder die eigene rootCA welche über den cert-manager die Cluster Zertifikate verwaltet sein.
/usr/local/share/ca-certificates/ update-ca-certificates
Rancher Installation
values.yaml
hostname: rancher.training.lab replicas: 1 # per default werden 3 replicas deployt, hier nur zum testen 1 ingress: ingressClassName: "traefik" extraAnnotations: cert-manager.io/cluster-issuer: "tuxnetlan-clusterissuer" # der cluster-issuer vom cert-manager tls: source: secret secretName: tls-rancher-ingress privateCA: true
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable helm repo update helm install rancher rancher-stable/rancher --namespace=cattle-system -f rancher-values.yml