it-wiki:kubernetes:role_rolebinding_authobjects
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| it-wiki:kubernetes:role_rolebinding_authobjects [2023/04/18 06:22] – [extraieren der Konfig in unsere lokalen Konfigurationsdatei] marko | it-wiki:kubernetes:role_rolebinding_authobjects [2024/03/13 12:02] (aktuell) – marko | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Anlegen von Authentifizierungs Objekten (User), Rollen, Cluster-Rollen und die Bindings ====== | ====== Anlegen von Authentifizierungs Objekten (User), Rollen, Cluster-Rollen und die Bindings ====== | ||
| + | ===== Der richtig schnelle Weg ===== | ||
| + | <code bash> | ||
| + | kubeadm kubeconfig user -h | ||
| + | sudo kubeadm kubeconfig user \ | ||
| + | --client-name myuser \ | ||
| + | > kubeconfig-user.yaml | ||
| + | </ | ||
| ===== Erstellen eines Authentifizierung Objektes (User) mit Hilfe von OpenSSL Schlüssel und Zertifikat ===== | ===== Erstellen eines Authentifizierung Objektes (User) mit Hilfe von OpenSSL Schlüssel und Zertifikat ===== | ||
| ==== Schlüssel und Zertifikat erstellen ==== | ==== Schlüssel und Zertifikat erstellen ==== | ||
| Zeile 15: | Zeile 22: | ||
| ==== Erstellen eines Kubernetes CSR Objektes ==== | ==== Erstellen eines Kubernetes CSR Objektes ==== | ||
| - | < | + | < |
| apiVersion: certificates.k8s.io/ | apiVersion: certificates.k8s.io/ | ||
| kind: CertificateSigningRequest | kind: CertificateSigningRequest | ||
| Zeile 76: | Zeile 83: | ||
| \\ | \\ | ||
| \\ | \\ | ||
| - | ===== Anlegen einer eigenen kubeconfig auf Basis eines eigenen Rollenobjektes | + | ===== Keycloak / OAuth mit kubernetes (kube-apiserver) |
| - | **Erstellen einer eigenen kubeconfig auf Basis eines eigenen Zertifikates durch ein Clusterrollbinding-Objekt (bofh:admin)** | + | ==== Einen Client anlegen ==== |
| + | Lege ein neues Client Objekt vom Type " | ||
| + | |||
| + | ==== Den kube-apiserver konfigurieren ==== | ||
| + | Als nächstes muss der kube-apiserver Konfiguriert werden. Je nachdem wie Eurer Kubernetes deployt wurde passt Ihr folgende Dateien an | ||
| + | |||
| + | **kubeadm**\\ | ||
| + | / | ||
| + | <code yaml> | ||
| + | spec: | ||
| + | containers: | ||
| + | - command: | ||
| + | - kube-apiserver | ||
| + | - --advertise-address=10.6.6.22 | ||
| + | - --allow-privileged=true | ||
| + | ... | ||
| + | ... | ||
| + | - --tls-cert-file=/ | ||
| + | - --tls-private-key-file=/ | ||
| + | - --oidc-issuer-url=https://< | ||
| + | - --oidc-client-id=kube-api-server-prod | ||
| + | </ | ||
| + | |||
| + | **rke2** \\ | ||
| + | / | ||
| <code bash> | <code bash> | ||
| - | sudo kubeadm | + | write-kubeconfig-mode: 644 |
| + | disable: | ||
| + | | ||
| + | cni: calico | ||
| + | cluster-cidr: " | ||
| + | service-cidr: " | ||
| + | kube-apiserver-arg: | ||
| + | | ||
| + | - oidc-client-id=kube-api-server-test | ||
| </ | </ | ||
| - | (IMPORTANT) Entferne die erste Zeile aus der **kubeconfig.yaml** Datei | + | Beim rke2 muss zusätzlich noch der rke2-server.service mittels systemctl neu gestartet werden. |
| + | ==== kubectl (Clientseite) konfigurieren ==== | ||
| + | Wir werden uns mittels krew das oidc-login Plugin für kubectl installieren. Dazu muss man sich [[https:// | ||
| - | **Erstellen des Clusterrollbindings** | + | Im Anschluss installiert man sich oidc-login |
| <code bash> | <code bash> | ||
| - | sudo kubectl --kubeconfig / | + | kubectl |
| </ | </ | ||
| + | |||
| + | Für die restliche Konfiguration folgt man einfach den Anweisungen von oidc-login | ||
it-wiki/kubernetes/role_rolebinding_authobjects.1681798932.txt.gz · Zuletzt geändert: von marko