เบเบปเบเบชเบญเบเบเปเบญเบเปเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบเป Keycloak เปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเป Kubernetes เบเบฑเบเปเบเบตเบเปเบงเบต LDAP เบเบญเบเบเปเบฒเบเปเบฅเบฐเบเบฑเปเบเบเปเบฒเบเบฒเบเบเปเบฒเปเบเบปเปเบฒเบเบนเปเปเบเป เปเบฅเบฐเบเบธเปเบก. เบเบตเปเบเบฐเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเปเบเบเปเบฒ RBAC เบชเปเบฒเบฅเบฑเบเบเบนเปเปเบเปเบเบญเบเบเปเบฒเบเปเบฅเบฐเปเบเป auth-proxy เปเบเบทเปเบญเบเบปเบเบเปเบญเบ Kubernetes Dashboard เปเบฅเบฐเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบญเบทเปเบเปเบเบตเปเบเปเปเบฎเบนเปเบงเบดเบเบตเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบปเบงเปเบญเบ.
เบเบฒเบเบเบดเบเบเบฑเปเบ Keycloak
เบชเบปเบกเบกเบธเบเบงเปเบฒเบเปเบฒเบเบกเบตเปเบเบตเบเปเบงเบต LDAP เบขเบนเปเปเบฅเปเบง. เบกเบฑเบเบญเบฒเบเบเบฐเปเบเบฑเบ Active Directory, FreeIPA, OpenLDAP เบซเบผเบทเปเบเบเปเปเบเบฒเบก. เบเปเบฒเบเปเบฒเบเบเปเปเบกเบตเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ LDAP, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบซเบผเบฑเบเบเบฒเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบเบนเปเปเบเปเปเบเบเบเบปเบเปเบเบเบฒเบเปเบเปเบเบญเบ Keycloak, เบซเบผเบทเบเปเบฒเปเบเปเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ oidc เบชเบฒเบเบฒเบฅเบฐเบเบฐ (Google, Github, Gitlab), เบเบปเบเปเบเปเบฎเบฑเบเบเบฐเปเบเบทเบญเบเบเบทเบเบฑเบ.
เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เปเบซเปเบเบดเบเบเบฑเปเบ Keycloak เบเบปเบงเบกเบฑเบเปเบญเบ, เบเบฒเบเบเบดเบเบเบฑเปเบเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเปเบเบเบเปเบฒเบเบซเบฒเบ, เบซเบผเบทเปเบเบเบเบปเบเบเบฑเบเบเบธเปเบก Kubernetes, เบเบฒเบกเบเบปเบเบฅเบฐเบเบฝเบ, เบเปเบฒเบเปเบฒเบเบกเบตเบเบธเปเบก Kubernetes เบซเบผเบฒเบ, เบกเบฑเบเบเบฐเบเปเบฒเบเบเปเปเบเบฒเบเบเบดเบเบเบฑเปเบเบกเบฑเบเปเบเบเบเปเบฒเบเบซเบฒเบ. เปเบเบเบฒเบเบเบปเบเบเบฑเบเบเปเบฒเบก, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเปเบเปเบเบฐเบซเบผเบญเบเปเบงเบฅเบฒ
เปเบเบทเปเบญเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบ Keycloak, เบเปเบฒเบเบเบฐเบเปเบญเบเบกเบตเบเบฒเบเบเปเปเบกเบนเบ. เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบกเปเบ h2
(เบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบเบเบทเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ), เปเบเปเบงเปเบฒเบกเบฑเบเบเปเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเปเบเป postgres
, mysql
เบซเบผเบท mariadb
.
เบเปเบฒเบเปเบฒเบเบเบฑเบเบเบฑเบเบชเบดเบเปเบเบเบดเบเบเบฑเปเบ Keycloak เปเบเบเบเปเบฒเบเบซเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเบเปเบฒเปเบเบฐเบเปเบฒเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบกเปเบ
เบเบฒเบเบเบฑเปเบเบเปเบฒเบชเบฐเบซเบฐเบเบฑเบ
เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบญเบฒเบเบฒเบเบฑเบ เปเปเป. Realm เปเบกเปเบเบเบทเปเบเบเบตเปเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เปเบเปเบฅเบฐเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบชเบฒเบกเบฒเบเบกเบตเบเบทเปเบเบเบตเปเบเบญเบเบเบปเบเปเบญเบเบเบฑเบเบเบนเปเปเบเปเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบฅเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบญเบฐเบเบธเบเบฒเบ. เบญเบฒเบเบฒเบเบฑเบเบเบปเปเบเบชเบฐเบเบฑเบเบเบทเบเบเปเบฒเปเบเปเปเบเบ Keycloak เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเปเบกเบฑเบเบชเปเบฒเบฅเบฑเบเบชเบดเปเบเบญเบทเปเบเปเบกเปเบเบเบดเบเบเบฒเบ.
เบเบนเป เปเบเบตเปเบกเปเบเบ
เบเบฒเบเปเบฅเบทเบญเบ
เบกเบนเบเบเปเบฒ
เบเบทเป
kubernetes
Display Name
Kubernetes
เบเบทเปเบชเบฐเปเบเบ HTML
<img src="https://kubernetes.io/images/nav_logo.svg" width="400" >
Kubernetes เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบฐเบเบงเบเปเบเบดเปเบเบงเปเบฒเบญเบตเปเบกเบงเบเบญเบเบเบนเปเปเบเปเปเบเปเบฎเบฑเบเบเบฒเบเบขเบทเบเบขเบฑเบเบซเบผเบทเบเปเป. เปเบเบทเปเบญเบเบเบฒเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเปเบเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ LDAP เบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบญเบ, เบเบฒเบเบเบงเบเบชเบญเบเบเบตเปเบเบฐเบเบฑเบเบเบทเบเบกเบฒเปเบเบทเบญเบเบชเบฐเปเบซเบกเบต false
. เปเบซเปเบเบดเบเบเบฒเบเปเบเบฑเบเบเบปเบงเปเบเบเบเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเปเบ Kubernetes:
เบเบญเบเปเบเบเบฅเบนเบเบเปเบฒ -> Email -> เปเบเบเบเบตเป -> เบญเบตเปเบกเบฅเปเบขเบฑเปเบเบขเบทเบเปเบฅเปเบง (เบฅเบถเบ)
เปเบเบเบฑเบเบเบธเบเบฑเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบเบฑเปเบเบชเบฐเบซเบฐเบเบฑเบ, เบชเปเบฒเบฅเบฑเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบ:
เบชเบฐเบซเบฐเบเบฑเบเบเบนเปเปเบเป -> เปเบเบตเปเบกเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ... -> 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
เบเบนเบเบกเบฑเบ DN
uid=keycloak-svc,cn=users,cn=accounts,dc=example,dc=org
เบเบนเบเบกเบฑเบเบเปเปเบกเบนเบเบเบฐเบเปเบฒเบเบปเบง
<password>
เบญเบฐเบเบธเบเบฒเบเบเบฒเบเบเบดเบชเบนเบเบขเบทเบเบขเบฑเบ Kerberos:
on
เบเบทเปเบเบเบตเป Kerberos:
EXAMPLE.ORG
เบซเบผเบฑเบเปเบเบตเบเปเบงเบต:
HTTP/[email protected]
เปเบเบเบเบธเปเบก:
/etc/krb5.keytab
เบเบนเปเปเบเป keycloak-svc
เบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบชเปเบฒเบเบฅเปเบงเบเบซเบเปเบฒเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ LDAP เบเบญเบเบเบงเบเปเบฎเบปเบฒ.
เปเบเบเปเบฅเบฐเบเบตเบเบญเบ Active Directory, เบเบฝเบเปเบเปเปเบฅเบทเบญเบ เบเบนเปเบเบฒเบ: Active Directory เปเบฅเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบเปเบฒเปเบเบฑเบเบเบฐเบเบทเบเปเบชเปเปเบเบปเปเบฒเปเบเปเบเปเบเบเบเบญเบกเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ.
เบเบนเป เบเบฑเบเบเบถเบ
เบเบญเบเบเบตเปเปเบซเปเปเบฎเบปเบฒเบเปเบฒเบงเบเปเปเปเบ:
เบชเบฐเบซเบฐเบเบฑเบเบเบนเปเปเบเป -> 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
เบเบตเปเปเบฎเบฑเบเบชเปเบฒเปเบฅเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบชเบฐเบซเบฐเบเบฑเบ, เปเบซเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบงเปเบเบชเบนเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบฅเบนเบเบเปเบฒ.
เบเบฒเบโเบเบฑเปเบโเบเปเบฒโเบฅเบนเบโเบเปเบฒโ
เปเบซเปเบชเปเบฒเบเบฅเบนเบเบเปเบฒเปเบซเบกเป (เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบเบฐเบฎเบฑเบเบเบนเปเปเบเปเบเบฒเบ Keycloak). เปเบโเบเบฑเบโเปเบฅเบตเบ:
เบฅเบนเบเบเปเบฒ -> เบชเปเบฒเบ
เบเบฒเบเปเบฅเบทเบญเบ
เบกเบนเบเบเปเบฒ
ID เบฅเบนเบเบเปเบฒ
kubernetes
เบเบฐเปเบเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบ
confidenrial
URL เบฎเบฒเบ
http://kubernetes.example.org/
เบเบฒเบเบเปเบฝเบเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบเบทเบเบเปเบญเบ URIs
http://kubernetes.example.org/*
URL เบเบญเบเบเบนเปเปเบเบดเปเบเปเบเบเบฅเบฐเบเบปเบ
http://kubernetes.example.org/
เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบฐเบชเปเบฒเบเบเบญเบเปเบเบเบชเปเบฒเบฅเบฑเบเบเบธเปเบก:
เบเบญเบเปเบเบเบฅเบนเบเบเปเบฒ -> เบชเปเบฒเบ
เบเบฒเบเปเบฅเบทเบญเบ
เบกเบนเบเบเปเบฒ
เปเบกเปเปเบเบ
No template
เบเบทเป
groups
เปเบชเบฑเปเบเบเบฒเบเบเบธเปเบกเปเบเบฑเบก
false
เปเบฅเบฐโเบเบฑเปเบโเปเบเบโเบเบตเปโเบชเปเบฒโเบฅเบฑเบโเปเบเบปเบฒโเปเบเบปเปเบฒโ:
เบเบญเบเปเบเบเบฅเบนเบเบเปเบฒ -> เบเบธเปเบก -> เปเบเบเบเบตเป -> เบชเปเบฒเบ
เบเบฒเบเปเบฅเบทเบญเบ
เบกเบนเบเบเปเบฒ
เบเบทเป
groups
เบเบฐเปเบเบเปเบเบเบเบตเป
Group membership
เบเบทเปเบเบฒเบเบฎเบฝเบเบฎเปเบญเบ Token
groups
เบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบเบตเบเปเบเปเบเบฒเบเบชเปเบฒเบเปเบเบเบเบตเปเบเบธเปเบกเปเบเบเบญเบเปเบเบเบฅเบนเบเบเปเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒ:
เบฅเบนเบเบเปเบฒ -> kubernetes -> เบเบญเบเปเบเบเบฅเบนเบเบเปเบฒ -> เบเบญเบเปเบเบเบฅเบนเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ
เปเบฅเบทเบญเบ เบเบธเปเบก ะฒ เบเบญเบเปเบเบเบฅเบนเบเบเปเบฒเบเบตเปเบกเบตเบขเบนเป, เบเบปเบ เปเบเบตเปเบกเบเบตเปเปเบฅเบทเบญเบ
เบเบญเบเบเบตเปเปเบซเปเบเบฑเปเบเบเปเบฒเบเบฒเบเบเบดเบชเบนเบเบขเบทเบเบขเบฑเบเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบเบเบตเป:
เบฅเบนเบเบเปเบฒ -> kubernetes
เบเบฒเบเปเบฅเบทเบญเบ
เบกเบนเบเบเปเบฒ
เปเบเบตเบเปเบเปเบชเบดเบเบญเบฐเบเบธเบเบฒเบเปเบฅเปเบง
ON
เปเบซเปเบเบนเป save เปเบฅเบฐเบเบตเปเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเบดเบเบเบฑเปเบเบฅเบนเบเบเปเบฒเบชเปเบฒเปเบฅเบฑเบ, เบเบญเบเบเบตเปเบขเบนเปเปเบเปเบเบ
เบฅเบนเบเบเปเบฒ -> kubernetes -> Credentials
เปเบเบปเปเบฒเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบ Secret เบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเบเปเปเบกเบฒ.
เบเบณเบเบปเบเบเปเบฒ Kubernetes
เบเบฒเบเบเบฑเปเบเบเปเบฒ Kubernetes เบชเปเบฒเบฅเบฑเบเบเบฒเบเบญเบฐเบเบธเบเบฒเบ OIDC เปเบกเปเบเบเปเบญเบเบเปเบฒเบเปเบฅเบฑเบเบเปเบญเบเปเบฅเบฐเบเปเปเปเบกเปเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบชเบฑเบเบชเบปเบเบซเบผเบฒเบ. เบชเบดเปเบเบเบตเปเบเปเบฒเบเบเปเบญเบเปเบฎเบฑเบเปเบกเปเบเปเบชเปเปเบเบขเบฑเปเบเบขเบทเบ CA เบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ ODC เบเบญเบเบเปเบฒเบเปเบชเป /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
...
เบเบตเปเปเบฎเบฑเบเบชเบณเปเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบ Kubernetes. เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบเบฑเปเบเบเบญเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบทเบเปเปเปเปเบเบเบปเปเบงเบเบธเปเบก Kubernetes เบเบฑเบเปเบปเบเบเบญเบเบเปเบฒเบ.
เบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบเบทเปเบญเบเบเบปเปเบ
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบญเบเปเบซเบผเบปเปเบฒเบเบตเป, เบเปเบฒเบเบเบฐเบกเบตเบเบธเปเบก Kubernetes เบเบตเปเบกเบตเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบญเบฐเบเบธเบเบฒเบ ODC เปเบฅเปเบง. เบเบธเบเบเบฝเบงเปเบกเปเบเบงเปเบฒเบเบนเปเปเบเปเบเบญเบเบเปเบฒเบเบเบฑเบเบเปเปเบเบฑเบเบกเบตเบฅเบนเบเบเปเบฒ configured, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบ 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 token) เปเบฅเบฐเบชเปเบฒเบฅเบฑเบเบเบธเปเบกเบเบนเปเปเบเป (เบเบฒเบเบชเบฐเบซเบเบฒเบก groups
เปเบ jwt token). เบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบญเบฐเบเบธเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบธเปเบก 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 เบชเบฒเบกเบฒเบเบเบปเบเปเบเปเปเบ
เบเบฒเบเบเบดเบเบเบฑเปเบ auth-proxy
เบกเบตเปเบเบเบเบฒเบเบเบตเปเบเบฐเปเบชเบตเบ
dashboard-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