Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-wiki:kubernetes:role_rolebinding_authobjects

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
it-wiki:kubernetes:role_rolebinding_authobjects [2023/08/31 09:24] – [Anlegen einer eigenen kubeconfig auf Basis eines eigenen Rollenobjektes] markoit-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
 +</code>
 ===== 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 ====
-<code bash>+<code yaml>
 apiVersion: certificates.k8s.io/v1 apiVersion: certificates.k8s.io/v1
 kind: CertificateSigningRequest kind: CertificateSigningRequest
Zeile 76: Zeile 83:
 \\ \\
 \\ \\
 +===== Keycloak / OAuth mit kubernetes (kube-apiserver) =====
 +==== Einen Client anlegen ====
 +Lege ein neues Client Objekt vom Type "OpenID Connect" in Keycloak an und notiere die Client ID und den Client secret.
 +
 +==== 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**\\
 +/etc/kubernetes/manifests/kube-apiserver.yaml
 +<code yaml>
 +spec:
 +  containers:
 +  - command:
 +    - kube-apiserver
 +    - --advertise-address=10.6.6.22
 +    - --allow-privileged=true
 +    ...
 +    ...
 +    - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
 +    - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
 +    - --oidc-issuer-url=https://<ip(fqdn)keycloak>/realms/<realms>
 +    - --oidc-client-id=kube-api-server-prod
 +</code>
 +
 +**rke2** \\
 +/etc/rancher/rke2/config.yaml
 +<code bash>
 +write-kubeconfig-mode: 644
 +disable:
 +  - rke2-ingress-nginx
 +cni: calico
 +cluster-cidr: "172.20.0.0/16"
 +service-cidr: "172.30.0.0/16"
 +kube-apiserver-arg:
 +  - oidc-issuer-url=https://<ip(fqdn)keycloak>/realms/<realms>
 +  - oidc-client-id=kube-api-server-test
 +</code>
 +
 +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://github.com/kubernetes-sigs/krew|krew von github]] holen.
 +
 +Im Anschluss installiert man sich oidc-login
 +<code bash>
 +kubectl krew install oidc-login
 +</code>
  
 +Für die restliche Konfiguration folgt man einfach den Anweisungen von oidc-login
it-wiki/kubernetes/role_rolebinding_authobjects.1693473889.txt.gz · Zuletzt geändert: 2023/08/31 09:24 von marko