k8s登录_如何登录kubernetes仪表板?

本文介绍了从1.7版本开始Kubernetes Dashboard的安全设置及登录方法。推荐阅读相关指南了解详细步骤。支持的认证方式包括服务帐户令牌。通过kubectl可以获取kube-system命名空间中的服务帐户,并使用其令牌登录。此外,还提到了使用HTTP部署仪表板的临时方法,以及为Dashboard服务帐户赋予管理员权限的ClusterRoleBinding配置。
摘要由CSDN通过智能技术生成

Since version 1.7 Dashboard uses more secure setup. It means, that by

default it has minimal set of privileges and can only be accessed over

HTTPS. It is recommended to read 07000

guide before performing any further steps.

As of release 1.7 Dashboard supports user authentication based on:

07001 that can be used on Dashboard 07002.

07003 that can be used on Dashboard 07002.

— 07005

代币

这里Token可以是静态令牌,服务帐户令牌,Kubernetes Authenticating的OpenID Connect Token,但不是kubeadm Bootstrap Token.

使用kubectl,我们可以获得默认情况下在kubernetes中创建的服务帐户(例如部署控制器).

$kubectl -n kube-system get secret

# All secrets with type 'kubernetes.io/service-account-token' will allow to log in.

# Note that they have different privileges.

NAME TYPE DATA AGE

deployment-controller-token-frsqj kubernetes.io/service-account-token 3 22h

$kubectl -n kube-system describe secret deployment-controller-token-frsqj

Name: deployment-controller-token-frsqj

Namespace: kube-system

Labels:

Annotations: kubernetes.io/service-account.name=deployment-controller

kubernetes.io/service-account.uid=64735958-ae9f-11e7-90d5-02420ac00002

Type: kubernetes.io/service-account-token

Data

====

ca.crt: 1025 bytes

namespace: 11 bytes

token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZXBsb3ltZW50LWNvbnRyb2xsZXItdG9rZW4tZnJzcWoiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGVwbG95bWVudC1jb250cm9sbGVyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNjQ3MzU5NTgtYWU5Zi0xMWU3LTkwZDUtMDI0MjBhYzAwMDAyIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRlcGxveW1lbnQtY29udHJvbGxlciJ9.OqFc4CE1Kh6T3BTCR4XxDZR8gaF1MvH4M3ZHZeCGfO-sw-D0gp826vGPHr_0M66SkGaOmlsVHmP7zmTi-SJ3NCdVO5viHaVUwPJ62hx88_JPmSfD0KJJh6G5QokKfiO0WlGN7L1GgiZj18zgXVYaJShlBSz5qGRuGf0s1jy9KOBt9slAN5xQ9_b88amym2GIXoFyBsqymt5H-iMQaGP35tbRpewKKtly9LzIdrO23bDiZ1voc5QZeAZIWrizzjPY5HPM1qOqacaY9DcGc7akh98eBJG_4vZqH2gKy76fMf0yInFTeNKr45_6fWt8gRM77DQmPwb3hbrjWXe1VvXX_g

Kubeconfig

kubeconfig文件中的用户需要用户名和&密码或令牌,而admin.conf只有客户端证书.

$kubectl config set-credentials cluster-admin --token=bearer_token

替代方案(不建议用于生产)

以下是绕过身份验证的两种方法,但请谨慎使用.

使用HTTP部署仪表板

$kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/alternative/kubernetes-dashboard.yaml

授予Dashboard服务帐户管理员权限

$cat <

apiVersion: rbac.authorization.k8s.io/v1beta1

kind: ClusterRoleBinding

metadata:

name: kubernetes-dashboard

labels:

k8s-app: kubernetes-dashboard

roleRef:

apiGroup: rbac.authorization.k8s.io

kind: ClusterRole

name: cluster-admin

subjects:

- kind: ServiceAccount

name: kubernetes-dashboard

namespace: kube-system

EOF

之后,您可以使用登录页面上的“跳过”选项来访问仪表板.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在Kubernetes上部署仪表板Dashboard,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Kubernetes集群,并且具有对集群的管理权限。 2. 在部署仪表盘之前,需要创建一个用于访问仪表盘的服务账户。创建一个文件 `dashboard-admin.yaml`,并将以下内容复制到文件中: ```yaml apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard ``` 保存并应用该配置文件: ``` $ kubectl apply -f dashboard-admin.yaml ``` 3. 接下来,我们需要为服务账户分配集群角色和角色绑定。创建一个文件 `dashboard-access.yaml`,并将以下内容复制到文件中: ```yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kubernetes-dashboard ``` 保存并应用该配置文件: ``` $ kubectl apply -f dashboard-access.yaml ``` 4. 现在,我们可以部署仪表盘。执行以下命令: ``` $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml ``` 5. 部署完成后,可以使用以下命令创建一个代理,以便通过本地主机访问仪表盘: ``` $ kubectl proxy ``` 6. 打开浏览器并访问 `http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/`,您将能够访问Kubernetes仪表盘。 请注意,这是一个简单的步骤,用于在Kubernetes上部署仪表盘。为了安全起见,在生产环境中,您可能需要进行更多的配置和授权。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值