Kubernetes Dashboard mit Keycloak OIDC: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
K
keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 103: Zeile 103:


''Deswegen erhöhen wir diesen direkt während der Installation auf 8 kb.''
''Deswegen erhöhen wir diesen direkt während der Installation auf 8 kb.''




''Für TLS benötigen wir ein 'Secret" mit dem "Privat Key" und dem "Public Certificate" für die Domain, die später für das Dashboard genutzt werden soll.''
''Für TLS benötigen wir ein 'Secret" mit dem "Privat Key" und dem "Public Certificate" für die Domain, die später für das Dashboard genutzt werden soll.''


''Dieses kann man als Standard direkt in der Config für Ingress-Nginx hinerlegen oder später im Ingress definieren.''
''Dieses kann man als Standard, direkt in der Config für Ingress-Nginx hinerlegen oder später im Ingress definieren.''




Zeile 114: Zeile 115:
Wenn man bei <code>default-ssl-certificate</code> ein Wildcard-Zertifikat (z.B. *.my-cluster.host) für den Cluster hinterlegt,  
Wenn man bei <code>default-ssl-certificate</code> ein Wildcard-Zertifikat (z.B. *.my-cluster.host) für den Cluster hinterlegt,  


kann man für jeden Ingress einfach eine Sub-Domain vergeben, die dann automatisch ein gültiges Zertifikat hat.
kann für jeden Ingress einfach eine Sub-Domain vergeben, die dann automatisch ein gültiges Zertifikat hat.




Zeile 129: Zeile 130:
=== OAUTH2 Proxy installieren ===
=== OAUTH2 Proxy installieren ===
Authentifizierung gegen Keyclok und Token Weiterleitung an Dashboard
Authentifizierung gegen Keyclok und Token Weiterleitung an Dashboard
values.yaml
values.yaml
<syntaxhighlight lang="yaml" line="1">
<syntaxhighlight lang="yaml" line="1">
Zeile 159: Zeile 161:


''Der Parameter <code>cookie-refresh</code> sollte kleiner als die "Access Token Lifespan" in Keycloak sein ("Realm Settings->Token").''
''Der Parameter <code>cookie-refresh</code> sollte kleiner als die "Access Token Lifespan" in Keycloak sein ("Realm Settings->Token").''
Installation starten:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Zeile 165: Zeile 170:
   --namespace kubernetes-dashboard \
   --namespace kubernetes-dashboard \
   -f values.yaml
   -f values.yaml
</syntaxhighlight>''
</syntaxhighlight>


=== Dem Keycloak Benutzer die Admin Rolle zuweisen ===
===Dem Keycloak Benutzer die Admin Rolle zuweisen===
oidc-role.yaml
oidc-role.yaml
<syntaxhighlight lang="yaml">
<syntaxhighlight lang="yaml">
Zeile 184: Zeile 189:
</syntaxhighlight>'''''Hinweis:'''''
</syntaxhighlight>'''''Hinweis:'''''


Der Benutzername (subjects.name) entspricht dem <code>oidc-username-claim</code> aus der "kube-apiserver.yaml".
''Der Benutzername (subjects.name) entspricht dem'' <code>oidc-username-claim</code> ''aus der "kube-apiserver.yaml".''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
kubectl apply -f oidc-role.yaml
kubectl apply -f oidc-role.yaml
</syntaxhighlight>
</syntaxhighlight>


=== Ingress erstellen ===
===Ingress erstellen===
<syntaxhighlight lang="yaml" line="1">
<syntaxhighlight lang="yaml" line="1">
apiVersion: networking.k8s.io/v1
apiVersion: networking.k8s.io/v1
Zeile 239: Zeile 244:
         path: /oauth2
         path: /oauth2
         pathType: Prefix
         pathType: Prefix
</syntaxhighlight><syntaxhighlight lang="bash">
kubectl apply -f ingress.yaml
</syntaxhighlight>
</syntaxhighlight>

Navigationsmenü