ನಿಮ್ಮ LDAP ಸರ್ವರ್ಗೆ Kubernetes ಅನ್ನು ಸಂಪರ್ಕಿಸಲು ಮತ್ತು ಬಳಕೆದಾರರು ಮತ್ತು ಗುಂಪುಗಳ ಆಮದನ್ನು ಹೊಂದಿಸಲು ಕೀಕ್ಲೋಕ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದರ ಕುರಿತು ಒಂದು ಸಣ್ಣ ಟ್ಯುಟೋರಿಯಲ್. ಇದು ನಿಮ್ಮ ಬಳಕೆದಾರರಿಗೆ RBAC ಅನ್ನು ಹೊಂದಿಸಲು ಮತ್ತು ಕುಬರ್ನೆಟ್ಸ್ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಮತ್ತು ತಮ್ಮನ್ನು ಹೇಗೆ ಅಧಿಕೃತಗೊಳಿಸಬೇಕೆಂದು ತಿಳಿದಿಲ್ಲದ ಇತರ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ರಕ್ಷಿಸಲು ದೃಢೀಕರಣ-ಪ್ರಾಕ್ಸಿಯನ್ನು ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಕೀಕ್ಲೋಕ್ ಸ್ಥಾಪನೆ
ನೀವು ಈಗಾಗಲೇ LDAP ಸರ್ವರ್ ಅನ್ನು ಹೊಂದಿರುವಿರಿ ಎಂದು ಭಾವಿಸೋಣ. ಇದು ಸಕ್ರಿಯ ಡೈರೆಕ್ಟರಿ, ಫ್ರೀಐಪಿಎ, ಓಪನ್ಎಲ್ಡಿಎಪಿ ಅಥವಾ ಯಾವುದಾದರೂ ಆಗಿರಬಹುದು. ನೀವು LDAP ಸರ್ವರ್ ಅನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ತಾತ್ವಿಕವಾಗಿ ನೀವು ಕೀಕ್ಲೋಕ್ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ನೇರವಾಗಿ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಬಹುದು ಅಥವಾ ಸಾರ್ವಜನಿಕ oidc ಪೂರೈಕೆದಾರರನ್ನು (Google, Github, Gitlab) ಬಳಸಬಹುದು, ಫಲಿತಾಂಶವು ಬಹುತೇಕ ಒಂದೇ ಆಗಿರುತ್ತದೆ.
ಮೊದಲನೆಯದಾಗಿ, ಕೀಕ್ಲೋಕ್ ಅನ್ನು ಸ್ಥಾಪಿಸೋಣ, ಅನುಸ್ಥಾಪನೆಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಅಥವಾ ನೇರವಾಗಿ ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ಗೆ ನಿರ್ವಹಿಸಬಹುದು, ನಿಯಮದಂತೆ, ನೀವು ಹಲವಾರು ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಅದನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಸ್ಥಾಪಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ. ಮತ್ತೊಂದೆಡೆ, ನೀವು ಯಾವಾಗಲೂ ಬಳಸಬಹುದು
ಕೀಕ್ಲೋಕ್ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು, ನಿಮಗೆ ಡೇಟಾಬೇಸ್ ಅಗತ್ಯವಿದೆ. ಡೀಫಾಲ್ಟ್ ಆಗಿದೆ h2
(ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ), ಆದರೆ ಅದನ್ನು ಬಳಸಲು ಸಹ ಸಾಧ್ಯವಿದೆ postgres
, mysql
ಅಥವಾ mariadb
.
ನೀವು ಇನ್ನೂ ಕೀಕ್ಲೋಕ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಸ್ಥಾಪಿಸಲು ನಿರ್ಧರಿಸಿದರೆ, ನೀವು ಹೆಚ್ಚು ವಿವರವಾದ ಸೂಚನೆಗಳನ್ನು ಕಾಣಬಹುದು
ಒಕ್ಕೂಟದ ಸ್ಥಾಪನೆ
ಮೊದಲಿಗೆ, ನಾವು ಹೊಸ ಕ್ಷೇತ್ರವನ್ನು ರಚಿಸೋಣ. ಕ್ಷೇತ್ರವು ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಸ್ಥಳವಾಗಿದೆ. ಪ್ರತಿಯೊಂದು ಅಪ್ಲಿಕೇಶನ್ ವಿಭಿನ್ನ ಬಳಕೆದಾರರು ಮತ್ತು ದೃಢೀಕರಣ ಸೆಟ್ಟಿಂಗ್ಗಳೊಂದಿಗೆ ತನ್ನದೇ ಆದ ಕ್ಷೇತ್ರವನ್ನು ಹೊಂದಬಹುದು. ಮಾಸ್ಟರ್ ಕ್ಷೇತ್ರವನ್ನು ಕೀಕ್ಲೋಕ್ ಸ್ವತಃ ಬಳಸುತ್ತಾರೆ ಮತ್ತು ಅದನ್ನು ಬೇರೆ ಯಾವುದಕ್ಕೂ ಬಳಸುವುದು ತಪ್ಪು.
ಪುಶ್ ಕ್ಷೇತ್ರವನ್ನು ಸೇರಿಸಿ
ಆಯ್ಕೆ
ಮೌಲ್ಯ
ಹೆಸರು
kubernetes
ಪ್ರದರ್ಶನ ಹೆಸರು
Kubernetes
HTML ಪ್ರದರ್ಶನ ಹೆಸರು
<img src="https://kubernetes.io/images/nav_logo.svg" width="400" >
Kubernetes ಡೀಫಾಲ್ಟ್ ಆಗಿ ಬಳಕೆದಾರರ ಇಮೇಲ್ ದೃಢೀಕರಿಸಲ್ಪಟ್ಟಿದೆಯೇ ಅಥವಾ ಇಲ್ಲವೇ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ನಾವು ನಮ್ಮ ಸ್ವಂತ LDAP ಸರ್ವರ್ ಅನ್ನು ಬಳಸುತ್ತಿರುವುದರಿಂದ, ಈ ಚೆಕ್ ಯಾವಾಗಲೂ ಹಿಂತಿರುಗುತ್ತದೆ false
. ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಈ ಸೆಟ್ಟಿಂಗ್ನ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸೋಣ:
ಗ್ರಾಹಕ ವ್ಯಾಪ್ತಿಗಳು -> ಮಿಂಚಂಚೆ -> ನಕ್ಷೆಗಳು -> ಇಮೇಲ್ ಪರಿಶೀಲಿಸಲಾಗಿದೆ (ಅಳಿಸಿ)
ಈಗ ನಾವು ಒಕ್ಕೂಟವನ್ನು ಸ್ಥಾಪಿಸೋಣ, ಇದಕ್ಕಾಗಿ ನಾವು ಹೋಗುತ್ತೇವೆ:
ಬಳಕೆದಾರರ ಒಕ್ಕೂಟ -> ಒದಗಿಸುವವರನ್ನು ಸೇರಿಸಿ... -> ldap
FreeIPA ಗಾಗಿ ಒಂದು ಉದಾಹರಣೆ ಸೆಟಪ್ ಇಲ್ಲಿದೆ:
ಆಯ್ಕೆ
ಮೌಲ್ಯ
ಕನ್ಸೋಲ್ ಪ್ರದರ್ಶನ ಹೆಸರು
freeipa.example.org
ಮಾರಾಟಗಾರ
Red Hat Directory Server
UUID LDAP ಗುಣಲಕ್ಷಣ
ipauniqueid
ಸಂಪರ್ಕ URL
ldaps://freeipa.example.org
ಬಳಕೆದಾರ DN
cn=users,cn=accounts,dc=example,dc=org
ಬೈಂಡ್ ಡಿಎನ್
uid=keycloak-svc,cn=users,cn=accounts,dc=example,dc=org
ಬೈಂಡ್ ರುಜುವಾತು
<password>
Kerberos ದೃಢೀಕರಣವನ್ನು ಅನುಮತಿಸಿ:
on
ಕೆರ್ಬರೋಸ್ ಸಾಮ್ರಾಜ್ಯ:
EXAMPLE.ORG
ಸರ್ವರ್ ಪ್ರಿನ್ಸಿಪಾಲ್:
HTTP/[email protected]
ಕೀ ಟ್ಯಾಬ್:
/etc/krb5.keytab
ಬಳಕೆದಾರ keycloak-svc
ನಮ್ಮ LDAP ಸರ್ವರ್ನಲ್ಲಿ ಮುಂಚಿತವಾಗಿ ರಚಿಸಬೇಕು.
ಸಕ್ರಿಯ ಡೈರೆಕ್ಟರಿಯ ಸಂದರ್ಭದಲ್ಲಿ, ಸರಳವಾಗಿ ಆಯ್ಕೆಮಾಡಿ ಮಾರಾಟಗಾರ: ಸಕ್ರಿಯ ಡೈರೆಕ್ಟರಿ ಮತ್ತು ಅಗತ್ಯ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಫಾರ್ಮ್ಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ.
ಪುಶ್ ಉಳಿಸಿ
ಈಗ ನಾವು ಮುಂದುವರಿಯೋಣ:
ಬಳಕೆದಾರರ ಒಕ್ಕೂಟ -> freeipa.example.org -> ನಕ್ಷೆಗಳು -> ಮೊದಲ ಹೆಸರು
ಆಯ್ಕೆ
ಮೌಲ್ಯ
Ldap ಗುಣಲಕ್ಷಣಗಳು
givenName
ಈಗ ಗುಂಪು ಮ್ಯಾಪಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ:
ಬಳಕೆದಾರರ ಒಕ್ಕೂಟ -> freeipa.example.org -> ನಕ್ಷೆಗಳು -> ರಚಿಸಿ
ಆಯ್ಕೆ
ಮೌಲ್ಯ
ಹೆಸರು
groups
ಮ್ಯಾಪರ್ ಪ್ರಕಾರ
group-ldap-mapper
LDAP ಗುಂಪುಗಳು DN
cn=groups,cn=accounts,dc=example,dc=org
ಬಳಕೆದಾರರ ಗುಂಪು ಹಿಂಪಡೆಯುವ ತಂತ್ರ
GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE
ಇದು ಫೆಡರೇಶನ್ ಸೆಟಪ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ, ಕ್ಲೈಂಟ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಾವು ಹೋಗೋಣ.
ಕ್ಲೈಂಟ್ ಸೆಟಪ್
ಹೊಸ ಕ್ಲೈಂಟ್ ಅನ್ನು ರಚಿಸೋಣ (ಕೀಕ್ಲೋಕ್ನಿಂದ ಬಳಕೆದಾರರನ್ನು ಸ್ವೀಕರಿಸುವ ಅಪ್ಲಿಕೇಶನ್). ಹೋಗೋಣ:
ಗ್ರಾಹಕರು -> ರಚಿಸಿ
ಆಯ್ಕೆ
ಮೌಲ್ಯ
ಗ್ರಾಹಕ ID
kubernetes
ಪ್ರವೇಶ ಪ್ರಕಾರ
confidenrial
ಮೂಲ URL
http://kubernetes.example.org/
ಮಾನ್ಯ ಮರುನಿರ್ದೇಶನ URI ಗಳು
http://kubernetes.example.org/*
ನಿರ್ವಾಹಕ URL
http://kubernetes.example.org/
ನಾವು ಗುಂಪುಗಳಿಗೆ ಸ್ಕೋಪ್ ಅನ್ನು ಸಹ ರಚಿಸುತ್ತೇವೆ:
ಗ್ರಾಹಕ ವ್ಯಾಪ್ತಿಗಳು -> ರಚಿಸಿ
ಆಯ್ಕೆ
ಮೌಲ್ಯ
ಟೆಂಪ್ಲೇಟು
No template
ಹೆಸರು
groups
ಸಂಪೂರ್ಣ ಗುಂಪು ಮಾರ್ಗ
false
ಮತ್ತು ಅವರಿಗೆ ಮ್ಯಾಪರ್ ಅನ್ನು ಹೊಂದಿಸಿ:
ಗ್ರಾಹಕ ವ್ಯಾಪ್ತಿಗಳು -> ಗುಂಪುಗಳು -> ನಕ್ಷೆಗಳು -> ರಚಿಸಿ
ಆಯ್ಕೆ
ಮೌಲ್ಯ
ಹೆಸರು
groups
ಮ್ಯಾಪರ್ ಪ್ರಕಾರ
Group membership
ಟೋಕನ್ ಹಕ್ಕು ಹೆಸರು
groups
ಈಗ ನಾವು ನಮ್ಮ ಕ್ಲೈಂಟ್ ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಗುಂಪು ಮ್ಯಾಪಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬೇಕಾಗಿದೆ:
ಗ್ರಾಹಕರು -> ಕುಬರ್ನೆಟ್ -> ಗ್ರಾಹಕ ವ್ಯಾಪ್ತಿಗಳು -> ಡೀಫಾಲ್ಟ್ ಕ್ಲೈಂಟ್ ವ್ಯಾಪ್ತಿಗಳು
ಆಯ್ಕೆಮಾಡಿ ಗುಂಪುಗಳು в ಲಭ್ಯವಿರುವ ಕ್ಲೈಂಟ್ ವ್ಯಾಪ್ತಿಗಳು, ಒತ್ತಿ ಆಯ್ಕೆಮಾಡಿದ ಸೇರಿಸಿ
ಈಗ ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ದೃಢೀಕರಣವನ್ನು ಹೊಂದಿಸೋಣ, ಇಲ್ಲಿಗೆ ಹೋಗಿ:
ಗ್ರಾಹಕರು -> ಕುಬರ್ನೆಟ್
ಆಯ್ಕೆ
ಮೌಲ್ಯ
ದೃಢೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ
ON
ನಾವು ತಳ್ಳೋಣ ಉಳಿಸು ಮತ್ತು ಇದು ಕ್ಲೈಂಟ್ ಸೆಟಪ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ, ಈಗ ಟ್ಯಾಬ್ನಲ್ಲಿದೆ
ಗ್ರಾಹಕರು -> ಕುಬರ್ನೆಟ್ -> ರುಜುವಾತುಗಳು
ನೀವು ಪಡೆಯಬಹುದು ಸೀಕ್ರೆಟ್ ನಾವು ನಂತರ ಬಳಸುತ್ತೇವೆ.
ಕುಬರ್ನೆಟ್ಸ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುತ್ತಿದೆ
OIDC ದೃಢೀಕರಣಕ್ಕಾಗಿ Kubernetes ಅನ್ನು ಹೊಂದಿಸುವುದು ತುಂಬಾ ಕ್ಷುಲ್ಲಕವಾಗಿದೆ ಮತ್ತು ತುಂಬಾ ಸಂಕೀರ್ಣವಾದ ವಿಷಯವಲ್ಲ. ನೀವು ಮಾಡಬೇಕಾಗಿರುವುದು ನಿಮ್ಮ OIDC ಸರ್ವರ್ನ CA ಪ್ರಮಾಣಪತ್ರವನ್ನು ಹಾಕುವುದು /etc/kubernetes/pki/oidc-ca.pem
ಮತ್ತು kube-apiserver ಗೆ ಅಗತ್ಯವಾದ ಆಯ್ಕೆಗಳನ್ನು ಸೇರಿಸಿ.
ಇದನ್ನು ಮಾಡಲು, ನವೀಕರಿಸಿ /etc/kubernetes/manifests/kube-apiserver.yaml
ನಿಮ್ಮ ಎಲ್ಲಾ ಯಜಮಾನರ ಮೇಲೆ:
...
spec:
containers:
- command:
- kube-apiserver
...
- --oidc-ca-file=/etc/kubernetes/pki/oidc-ca.pem
- --oidc-client-id=kubernetes
- --oidc-groups-claim=groups
- --oidc-issuer-url=https://keycloak.example.org/auth/realms/kubernetes
- --oidc-username-claim=email
...
ಮತ್ತು ಅಪ್ಡೇಟ್ ಸಮಯದಲ್ಲಿ ಈ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳದಂತೆ ಕ್ಲಸ್ಟರ್ನಲ್ಲಿ kubeadm ಸಂರಚನೆಯನ್ನು ನವೀಕರಿಸಿ:
kubectl edit -n kube-system configmaps kubeadm-config
...
data:
ClusterConfiguration: |
apiServer:
extraArgs:
oidc-ca-file: /etc/kubernetes/pki/oidc-ca.pem
oidc-client-id: kubernetes
oidc-groups-claim: groups
oidc-issuer-url: https://keycloak.example.org/auth/realms/kubernetes
oidc-username-claim: email
...
ಇದು ಕುಬರ್ನೆಟ್ಸ್ ಸೆಟಪ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ. ನಿಮ್ಮ ಎಲ್ಲಾ ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ಗಳಲ್ಲಿ ನೀವು ಈ ಹಂತಗಳನ್ನು ಪುನರಾವರ್ತಿಸಬಹುದು.
ಆರಂಭಿಕ ಅಧಿಕಾರ
ಈ ಹಂತಗಳ ನಂತರ, ನೀವು ಈಗಾಗಲೇ OIDC ದೃಢೀಕರಣವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿರುವ ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಹೊಂದಿರುವಿರಿ. ಒಂದೇ ಅಂಶವೆಂದರೆ ನಿಮ್ಮ ಬಳಕೆದಾರರು ಇನ್ನೂ ಕ್ಲೈಂಟ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿಲ್ಲ, ಹಾಗೆಯೇ ಅವರ ಸ್ವಂತ kubeconfig. ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು, ಯಶಸ್ವಿ ದೃಢೀಕರಣದ ನಂತರ ಬಳಕೆದಾರರಿಗೆ kubeconfig ನ ಸ್ವಯಂಚಾಲಿತ ವಿತರಣೆಯನ್ನು ನೀವು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.
ಇದನ್ನು ಮಾಡಲು, ನೀವು ಬಳಕೆದಾರರನ್ನು ದೃಢೀಕರಿಸಲು ಮತ್ತು ನಂತರ ಸಿದ್ಧಪಡಿಸಿದ kubeconfig ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸುವ ವಿಶೇಷ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಬಳಸಬಹುದು. ಅತ್ಯಂತ ಅನುಕೂಲಕರವಾದದ್ದು
Kuberos ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು, kubeconfig ಗಾಗಿ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ವಿವರಿಸಲು ಮತ್ತು ಕೆಳಗಿನ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ ಅದನ್ನು ಚಲಾಯಿಸಲು ಸಾಕು:
kuberos https://keycloak.example.org/auth/realms/kubernetes kubernetes /cfg/secret /cfg/template
ಹೆಚ್ಚಿನ ವಿವರಗಳಿಗಾಗಿ ನೋಡಿ
ಬಳಸಲು ಸಹ ಸಾಧ್ಯವಿದೆ
ಪರಿಣಾಮವಾಗಿ kubeconfig ಅನ್ನು ಸೈಟ್ನಲ್ಲಿ ಪರಿಶೀಲಿಸಬಹುದು users[].user.auth-provider.config.id-token
ನಿಮ್ಮ kubeconfig ನಿಂದ ಸೈಟ್ನಲ್ಲಿರುವ ಫಾರ್ಮ್ಗೆ ಮತ್ತು ಈಗಿನಿಂದಲೇ ಪ್ರತಿಲೇಖನವನ್ನು ಪಡೆಯಿರಿ.
RBAC ಸೆಟಪ್
RBAC ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವಾಗ, ನೀವು ಬಳಕೆದಾರಹೆಸರು ಎರಡನ್ನೂ ಉಲ್ಲೇಖಿಸಬಹುದು (ಕ್ಷೇತ್ರ name
jwt ಟೋಕನ್ನಲ್ಲಿ) ಮತ್ತು ಬಳಕೆದಾರರ ಗುಂಪಿಗೆ (ಕ್ಷೇತ್ರ groups
jwt ಟೋಕನ್ನಲ್ಲಿ). ಗುಂಪಿಗೆ ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿಸುವ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ kubernetes-default-namespace-admins
:
kubernetes-default-namespace-admins.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: default-admins
namespace: default
rules:
- apiGroups:
- '*'
resources:
- '*'
verbs:
- '*'
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: kubernetes-default-namespace-admins
namespace: default
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: default-admins
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: kubernetes-default-namespace-admins
RBAC ಗಾಗಿ ಹೆಚ್ಚಿನ ಉದಾಹರಣೆಗಳನ್ನು ಕಾಣಬಹುದು
ದೃಢೀಕರಣ-ಪ್ರಾಕ್ಸಿಯನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
ಅದ್ಭುತ ಯೋಜನೆ ಇದೆ
ಡ್ಯಾಶ್ಬೋರ್ಡ್-proxy.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kubernetes-dashboard-proxy
spec:
replicas: 1
template:
metadata:
labels:
app: kubernetes-dashboard-proxy
spec:
containers:
- args:
- --listen=0.0.0.0:80
- --discovery-url=https://keycloak.example.org/auth/realms/kubernetes
- --client-id=kubernetes
- --client-secret=<your-client-secret-here>
- --redirection-url=https://kubernetes-dashboard.example.org
- --enable-refresh-tokens=true
- --encryption-key=ooTh6Chei1eefooyovai5ohwienuquoh
- --upstream-url=https://kubernetes-dashboard.kube-system
- --resources=uri=/*
image: keycloak/keycloak-gatekeeper
name: kubernetes-dashboard-proxy
ports:
- containerPort: 80
livenessProbe:
httpGet:
path: /oauth/health
port: 80
initialDelaySeconds: 3
timeoutSeconds: 2
readinessProbe:
httpGet:
path: /oauth/health
port: 80
initialDelaySeconds: 3
timeoutSeconds: 2
---
apiVersion: v1
kind: Service
metadata:
name: kubernetes-dashboard-proxy
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: kubernetes-dashboard-proxy
type: ClusterIP
ಮೂಲ: www.habr.com