OpenID Connect 认证
minikube 中的 kube-apiserver
可以配置为支持 OpenID Connect 认证。
在此处阅读更多关于 Kubernetes 的 OpenID Connect 认证信息:https://kubernetes.ac.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/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
权限。