1.051
Bearbeitungen
KKeine Bearbeitungszusammenfassung |
|||
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 98: | Zeile 98: | ||
</syntaxhighlight>'''Hinweise:''' | </syntaxhighlight>'''Hinweise:''' | ||
'' | ''Bei Keycloak kann es vorkommen, dass mehr als 4 kb Daten über den Header gesendet werden.'' | ||
'' | ''Wenn der Header zu groß wird, bekommt man einen Fehler (502).'' | ||
''Dieses kann man als Standard direkt in der Config für Ingress-Nginx hinerlegen oder später im Ingress.'' | ''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.'' | |||
''Dieses kann man als Standard, direkt in der Config für Ingress-Nginx hinerlegen oder später im Ingress definieren.'' | |||
'''Tipp:''' | |||
Wenn man bei <code>default-ssl-certificate</code> ein Wildcard-Zertifikat (z.B. *.my-cluster.host) für den Cluster hinterlegt, | |||
kann für jeden Ingress einfach eine Sub-Domain vergeben, die dann automatisch ein gültiges Zertifikat hat. | |||
Installation starten: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
helm upgrade --install ingress-nginx ingress-nginx \ | helm upgrade --install ingress-nginx ingress-nginx \ | ||
Zeile 113: | 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 143: | 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 149: | 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 168: | 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 223: | Zeile 244: | ||
path: /oauth2 | path: /oauth2 | ||
pathType: Prefix | pathType: Prefix | ||
</syntaxhighlight><syntaxhighlight lang="bash"> | |||
kubectl apply -f ingress.yaml | |||
</syntaxhighlight> | </syntaxhighlight> |