it-wiki:kubernetes:role_rolebinding_authobjects
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
it-wiki:kubernetes:role_rolebinding_authobjects [2023/04/18 06:06] – angelegt 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 73: | Zeile 80: | ||
kubectl config use-context myuser | kubectl config use-context myuser | ||
</ | </ | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | ===== Keycloak / OAuth mit kubernetes (kube-apiserver) ===== | ||
+ | ==== 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> | ||
+ | write-kubeconfig-mode: | ||
+ | disable: | ||
+ | - rke2-ingress-nginx | ||
+ | cni: calico | ||
+ | cluster-cidr: | ||
+ | service-cidr: | ||
+ | kube-apiserver-arg: | ||
+ | - oidc-issuer-url=https://< | ||
+ | - oidc-client-id=kube-api-server-test | ||
+ | </ | ||
+ | |||
+ | 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:// | ||
+ | |||
+ | Im Anschluss installiert man sich oidc-login | ||
+ | <code bash> | ||
+ | kubectl krew install oidc-login | ||
+ | </ | ||
+ | |||
+ | Für die restliche Konfiguration folgt man einfach den Anweisungen von oidc-login |
it-wiki/kubernetes/role_rolebinding_authobjects.1681798000.txt.gz · Zuletzt geändert: 2023/04/18 06:06 von marko