我们的数据中心有库伯奈特斯的部署。我刚刚完成了Dex的pods部署,配置了与我们的LDAP服务器连接以允许通过Dex进行基于LDAP的身份验证,运行了测试,并能够检索用于身份验证的OpenID连接令牌。
现在,我想更改我们的k8s服务器启动参数,以启用OIDC并将其指向Dex容器。
如何在不中断k8s集群的情况下对API服务器启动命令启用OIDC?正在读取此文档https://kubernetes.io/docs/reference/access-authn-authz/authentication/,但该站点只表示“启用所需的标志”而不需要步骤。
谢谢!
发布于 2020-07-15 06:14:43
几个月前,我在由kubeadmn安装的集群上安装了Dex+ Active Directory Integration。
让我们假设Dex现在正在运行,它可以通过https://dex.example.com访问。
在这种情况下..。
在API服务器级别启用ODIC有三个步骤:
这些步骤必须在每个Kubernetes主节点上执行。
1- SSH到主节点.
$ ssh root@master-ip2-编辑Kubernetes API配置.
添加OIDC参数并相应地修改颁发者URL。
$ sudo vim /etc/kubernetes/manifests/kube-apiserver.yaml
...
command:
- /hyperkube
- apiserver
- --advertise-address=x.x.x.x
...
- --oidc-issuer-url=https://dex.example.com # <-- Please focus here
- --oidc-client-id=oidc-auth-client # <-- Please focus here
- --oidc-username-claim=email # <-- Please focus here
- --oidc-groups-claim=groups # <-- Please focus here
...3- Kubernetes API将自行重新启动.
我还建议查看像这个图托这样的完整指南。
发布于 2020-07-15 05:28:28
OIDC标志用于Kubernetes API Server。你没有提到你是如何在prem上安装Kubernetes的。理想情况下,您应该有多个主节点以LoadBalancer为前端。
因此,您将禁用负载平衡器到一个主节点的通信,并登录到该主节点,并在/etc/kubernetes/manifests中编辑api服务器的清单,并添加OIDC标志。一旦您更改了清单api服务器,pod将自动重新启动。
您对所有主节点重复相同的过程,因为在任何给定的时间点上,至少有一个主节点可用,因此不应该有任何停机时间。
https://stackoverflow.com/questions/62907941
复制相似问题