k8s配置dashboard长期token
时间: 2023-11-30 20:02:15 浏览: 168
要配置Kubernetes Dashboard的长期token,可以按照以下步骤进行操作:
1. 创建一个ServiceAccount,用于访问Dashboard:
```shell
kubectl create serviceaccount dashboard-admin-sa -n kube-system
```
2. 将该ServiceAccount绑定到cluster-admin ClusterRole上:
```shell
kubectl create clusterrolebinding dashboard-admin-sa --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin-sa
```
3. 获取该ServiceAccount的token:
```shell
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep dashboard-admin-sa | awk '{print $1}')
```
4. 将输出的token复制下来,然后在Dashboard登录页面选择“Token”方式登录,并将token粘贴到输入框中即可。
相关问题
k8s部署dashboard windows
### 如何在 Windows 上部署和配置 Kubernetes (k8s) Dashboard
#### 创建并启动本地 Minikube 环境
为了简化开发环境搭建过程,在 Windows 平台上推荐使用 Minikube 来创建单节点的 Kubernetes 集群。Minikube 支持多种 Hypervisor,如 Hyper-V 或者 VirtualBox。
```powershell
minikube start --vm-driver=hyperv # 如果使用Hyper-V作为虚拟机驱动程序
```
#### 启用 Ingress 控制器以便外部访问
为了让 Kubernetes Dashboard 可以外部访问,启用 ingress 插件可以提供 HTTP(S) 访问路径:
```powershell
minikube addons enable ingress
```
#### 下载并应用官方 YAML 文件来安装 Dashboard 组件
通过下载最新的稳定版 Kubernetes Dashboard 的 manifest 文件来进行资源定义,并将其应用于当前上下文中运行的集群内。
```bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
```
#### 设置管理员权限的服务账号与角色绑定关系
为确保安全性和功能性,需建立具有适当授权策略的服务账户以及相应的 ClusterRoleBinding 对象关联起来授予足够的操作许可权给用户界面组件。
```yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system
```
执行上述 YAML 内容以完成设置:
```powershell
kubectl apply -f dashboard-adminuser.yaml
```
#### 获取 Token 进行身份验证登录
最后一步是从 Secret 中提取 token 字符串供后续浏览器端认证时使用。
```powershell
$secretName = $(kubectl get sa/admin-user -n kube-system -o jsonpath="{.secrets[0].name}")
$k8sToken = $(kubectl get secret/$secretName -n kube-system -o jsonpath="{.data.token}" | base64 --decode)
echo "Bearer $k8sToken"
```
#### 开启代理服务允许 Web 浏览器连接到 API Server
开启 kubectl proxy 实例使得前端页面能够顺利请求后端接口数据交互正常工作。
```powershell
start http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
kubectl proxy
```
此时应该可以在默认浏览器里打开指定 URL 地址看到已成功加载出来的 Kubernetes Dashboard 登录页签入提示框了[^1]。
k8s搭建dashboard可视化界面
### 安装配置部署Kubernetes Dashboard可视化管理界面
#### Kubernetes Dashboard简介
Kubernetes Dashboard是一个通用的、基于Web的UI平台,用于管理和监控Kubernetes集群。通过该仪表板可以轻松地部署应用程序、排除故障并管理集群资源。它提供了直观的操作方式来处理各种Kubernetes对象,并能展示详细的集群健康状况和错误信息[^2]。
#### 准备工作
在开始之前,需确认当前Kubernetes环境处于正常运作状态:
- **检查节点状态**
使用命令`kubectl get nodes`验证所有的工作节点是否都处于就绪(Ready)状态[^1]。
- **操作系统兼容性**
确认服务器操作系统的版本满足最低要求,通常建议使用较新的Linux发行版以获得更好的支持和服务稳定性。
#### 部署YAML文件准备
为了启动Dashboard服务,需要先准备好相应的配置文件:
- **下载官方提供的最新稳定版YAML模板**
可前往GitHub仓库或其他可信源获取最新的部署脚本,保存为`.yaml`格式文件。
- **自定义参数调整**
打开下载好的YAML文档,在必要处按照实际需求修改镜像标签、副本数量等设置项。
#### 实施部署过程
当一切准备工作完成后,即可执行真正的安装动作:
```bash
# 应用编辑后的YAML描述符至目标命名空间内
$ kubectl apply -f path/to/dashboard-deployment.yaml
```
此命令会依据给定路径下的YAML指令集向API Server发送请求,从而触发一系列自动化流程完成组件实例化以及网络策略设定等工作。
#### 核实部署成果
一旦上述步骤顺利完成,则可以通过如下两种途径检验新加入的服务单元是否按预期生效:
- **Pod运行情况查询**
利用`kubectl get pods --namespace=kubernetes-dashboard`观察是否存在名为`kubernetes-dashboard-*`开头的目标进程组,并且其状态应显示为“Running”表示正在平稳运转中[^3]。
- **Service暴露端口检测**
同样借助CLI工具发出`kubectl describe services/kubernetes-dashboard --namespace=kubernetes-dashboard`,从中读取Cluster IP地址及对外映射的具体端口号以便后续远程接入测试。
#### 认证授权机制建立
考虑到安全性因素,默认情况下访问入口会被严格保护起来不允许未授权人员随意浏览内部数据;因此还需要额外构建一套身份验证体系确保合法用户的正常使用权限:
- **编写Admin角色绑定声明**
创建一个新的文本档命名为`admin-user.yaml`,内容大致如下所示:
```yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1beta1
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 create -f ./admin-user.yaml`实现即时同步更新到后台数据库表单之中去。
#### 登录凭证生成方法
最后一步就是取得进入控制台所需的票据资料了——即Token字符串形式的身份证明材料:
- **提取Secret密钥详情**
输入`kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')`得到完整的Base64编码串作为临时通行许可码。
---
阅读全文
相关推荐















