首页 新闻 会员 周边

kubernetes dashboard 如何实现 oauth 登录

0
悬赏园豆:30 [待解决问题]

想通过园子的账号直接登录 kubernetes dashboard,请问如何实现?

k8s
dudu的主页 dudu | 高人七级 | 园豆:30994
提问于:2023-05-13 09:38
< >
分享
所有回答(3)
0

Kubernetes Dashboard 是 Kubernetes 集群的管理界面,它提供了一个简单易用的界面来管理 Kubernetes 集群。要在 Kubernetes Dashboard 中实现 OAuth 登录,可以尝试按照以下步骤进行操作:
1.在 Kubernetes Dashboard 中创建一个新的 OAuth 登录页面。可以通过点击 "Create New" 按钮来创建一个新页面,或者使用 Kubernetes Dashboard 的 UI 工具栏中的 "+" 和 "Create New" 按钮来手动创建。
2.在新创建的 OAuth 登录页面中,配置 OAuth 认证相关的参数。包括用户名、密码、身份验证协议、授权码等信息。
3.在 Kubernetes Dashboard 中,为 OAuth 登录页面绑定一个 OAuth 认证服务。可以通过点击 "Dashboard" 选项卡,然后选择 "OAuth" 选项卡,再点击 "Create OAuth Service" 按钮来创建一个新的 OAuth 服务。
4.在 OAuth 服务页面中,配置 OAuth 认证服务的相关参数。包括服务名称、服务地址、认证方式、认证密钥等信息。
5.在 Kubernetes Dashboard 中,启用 OAuth 认证服务。可以通过点击 "Dashboard" 选项卡,然后选择 "OAuth" 选项卡,再点击 "Enable OAuth Service" 按钮来启用 OAuth 服务。
6.在 Kubernetes Dashboard 中,配置 OAuth 登录页面的登录路由。可以通过点击 "Dashboard" 选项卡,然后选择 "OAuth" 选项卡,再点击 "Configure OAuth" 按钮来配置登录路由。
7.在 Kubernetes Dashboard 中,测试 OAuth 登录功能。可以通过点击 "Dashboard" 选项卡,然后选择 "OAuth" 选项卡,再点击 "Test OAuth Login" 按钮来测试 OAuth 登录功能。
需要注意的是,OAuth 认证服务需要在 Kubernetes 集群中进行配置,因此需要先创建一个 Kubernetes 集群。同时,OAuth 认证服务的配置需要在 Kubernetes Dashboard 中进行操作,因此需要在 Kubernetes Dashboard 中启用 OAuth 认证服务。
其它有关如何配置仪表板的身份验证和授权的详细说明,请参阅Kubernetes官方帮助文档。

lanedm | 园豆:2378 (老鸟四级) | 2023-05-13 10:14

感谢 lanedm!感谢 ChatGPT!我找时间试试

支持(0) 反对(0) dudu | 园豆:30994 (高人七级) | 2023-05-13 10:21
0

6啊...

LiveCoding | 园豆:497 (菜鸟二级) | 2023-05-13 13:20
0

Kubernetes Dashboard 提供了多种登录方式,包括基于令牌、基于 kubeconfig 文件、基于 OpenID Connect 等。你可以通过以下步骤,通过园子的账号直接登录 Kubernetes Dashboard:

创建服务账号和令牌:可以使用以下 YAML 文件创建一个名为 garden-user 的服务账号和令牌:

yaml
Copy code
apiVersion: v1
kind: ServiceAccount
metadata:
name: garden-user
namespace: kube-system

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: garden-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:

  • kind: ServiceAccount
    name: garden-user
    namespace: kube-system
    保存为 garden-user.yaml 文件,并使用以下命令创建服务账号和令牌:

sql
Copy code
kubectl apply -f garden-user.yaml
kubectl get secret $(kubectl get serviceaccount garden-user -n kube-system -o jsonpath="{.secrets[0].name}") -n kube-system -o go-template='{{.data.token | base64decode}}'
运行第二条命令可以获取到生成的令牌,将其复制保存到本地文本文件中,后面需要用到。

配置 Kubernetes Dashboard:在 Kubernetes Dashboard 运行时的 kube-system 命名空间下创建一个 dashboard-auth ConfigMap,用于配置身份验证方式。

sql
Copy code
kubectl create configmap dashboard-auth -n kube-system --from-literal=token=$(cat path/to/token.txt)
上述命令中,path/to/token.txt 是第一步中获取到的令牌保存在本地的路径,dashboard-auth 是 ConfigMap 名称,--from-literal 参数用于从命令行传递令牌。

启动 Kubernetes Dashboard:使用以下命令启动 Kubernetes Dashboard:

Copy code
kubectl proxy
执行以上命令后,可以在浏览器中访问 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/,此时浏览器会提示你输入用户名和密码,这里输入任意用户名,密码输入第一步中获取到的令牌即可。

注意:这种方式存在安全隐患,因为令牌可以被复制并重复使用。如果你的 Kubernetes 集群是开放的、公共的或者包含敏感信息,建议使用其他更加安全的身份验证方式。

Technologyforgood | 园豆:5675 (大侠五级) | 2023-05-14 22:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册