带有 keycloak 的 microk8s OIDC

带有 keycloak 的 microk8s OIDC

我想使用 OIDC 保护身份服务器(keycloak)后面的 microk8s。

我必须在哪里设置配置才能将我的 keycloak 服务器用作 Kubernetes 身份服务器?

答案1

我尝试使用 microk8s (1.21/stable),在为 oidc 配置 apiserver 后,在我的情况下为 dex,kubelite 无法启动:

 vi /var/snap/microk8s/2210/args/kube-apiserver
 #Added these oidc parameters:
--oidc-issuer=https://oidc-url.example.com
--oidc-auth-client=oidc-auth-client 
--oidc-username-claim=email 
--oidc-groups-claim=groups 
--oidc-ca-file=/etc/ssl/certs/ca.pem

之后,我重新启动了 kubelite,我想从 1.20 开始,所有带有 apiserver 和 db 的 kubernetes 控制器都是由 kubelite 提供的,但它并没有启动。

systemctl stop snap.microk8s.daemon-kubelite.service
systemctl start snap.microk8s.daemon-kubelite.service  
journactl -u  snap.microk8s.daemon-kubelite.service 
mag 19 18:41:29 microk8s-test-01 microk8s.daemon-kubelite[599787]: Error: 
unknown flag: --oidc-issuer
mag 19 18:41:29 microk8s-test-01 microk8s.daemon-kubelite[599787]: F0519 18:41:29.537492  599787 daemon.go:67] API Server exited unknown flag: --oidc-issuer
mag 19 18:41:29 microk8s-test-01 systemd[1]: snap.microk8s.daemon-kubelite.service: Main process exited, code=exited, status=255/EXCEPTION
mag 19 18:41:29 microk8s-test-01 systemd[1]: snap.microk8s.daemon-kubelite.service: Failed with result 'exit-code'.

从上面的日志来看,apiserver 无法识别 oidc-issuer 参数。

最好的

斯蒂法诺

答案2

miccrok8s snap 包将其配置文件存储在 $SNAP_DATA 目录中,该目录通常指向/var/snap/microk8s/current (文档)

您需要编辑 kube-apiserver 配置。添加所需的标志,如kubernetes 文档

相关内容