OpenID Connect 身份验证
可以配置 minikube 中的 kube-apiserver
以支持 OpenID Connect 身份验证。
在此处阅读有关 Kubernetes 的 OpenID Connect 身份验证的更多信息: https://kubernetes.ac.cn/zh-cn/docs/reference/access-authn-authz/authentication/#openid-connect-tokens
配置 API 服务器
可以使用 minikube start
命令上的 --extra-config
标志将配置值传递给 API 服务器。有关更多详细信息,请参阅 configuring_kubernetes.md。
以下示例配置您的 Minikube 集群以支持 RBAC 和 OIDC
minikube start \
--extra-config=apiserver.authorization-mode=RBAC \
--extra-config=apiserver.oidc-issuer-url=https://example.com \
--extra-config=apiserver.oidc-username-claim=email \
--extra-config=apiserver.oidc-client-id=kubernetes-local
请注意,如 Kubernetes 文档中所述,对于 --extra-config=apiserver.oidc-issuer-url
标志,仅接受使用 https://
方案的 URL。否则 kube-apiserver
将不会启动。
配置 kubectl
您可以使用 kubectl oidc
身份验证器创建 kubeconfig,如 Kubernetes 文档所示: https://kubernetes.ac.cn/zh-cn/docs/reference/access-authn-authz/authentication/#option-1-oidc-authenticator
minikube start
已经创建了一个包含 cluster
的 kubeconfig,为了将其与您的 oidc
身份验证器 kubeconfig 一起使用,您可以运行
kubectl config set-context kubernetes-local-oidc --cluster=minikube --user username@example.com
Context "kubernetes-local-oidc" created.
kubectl config use-context kubernetes-local-oidc
为了使新上下文正常工作,您至少需要在集群中创建 Role
和 RoleBinding
,以授予 oidc-username-claim
中包含的 subjects
权限。