我想使用 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 文档