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: 2023/04/18 06:22 von marko