官方仓库
GitHub - kubernetes/dashboard: General-purpose web UI for Kubernetes clusters

dashboard官网介绍:

Deploy and Access the Kubernetes Dashboard | Kubernetes

选在对应kubelet版本的安装说明:

查看kubelet版本:

选择v1.21版本对应的dashboard版本为v2.2.0,如下图:

1.准备:

建议提前下载这两个镜像:(不然后面会出现3.2中遇到的问题),这个下载很慢~

docker pull kubernetesui/dashboard:v2.2.0
docker pull kubernetesui/metrics-scraper:v1.0.7

2.下载

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

也可以直接使用 url

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

但是,因为后续需要修改,而且 raw.githubusercontent.com 域名不一定总能打开,所以,下载下来比较放心!

3.改用 NodePort 方式访问

3.1 vim recommended.yaml

找到 k8s-app: kubernetes-dashboard ,增加 type: NodePort 和 nodePort: 30001

---kind: ServiceapiVersion: v1metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboardspec:type: NodePort #使用 NodePort方式,方便外网访问ports:- port: 443targetPort: 8443nodePort: 30001 #映射到host的30001端口selector:k8s-app: kubernetes-dashboard---

执行:kubectl apply -f recommended.yaml

查看pod状态,若出现一场请查看后面3.2步骤

3.2异常排查

发现dashbaord状态异常,查看dashboard-metrics-scraper-c45b7869d-djq5m详细信息:

kubectl describe pod dashboard-metrics-scraper-c45b7869d-djq5m -n kubernetes-dashboard

问题分析:错误信息来看是拉取kubernetesui/metrics-scraper:v1.0.7失败导致的;

解决方法:使用docker pull单独拉取

查看pod状态,第一个dashbaord-metrics-scraper已经1/1 Running正常;

同样方式解决第二个kubernetes-dashboard-576cb95f94-c497w异常:

查看kubernetes-dashboard-576cb95f94-c497w详细信息:

kubectl describe pod kubernetes-dashboard-576cb95f94-c497w -n kubernetes-dashboard

问题分析:从错误打印发现拉取kubernetesui/dashboard:v2.4.0失败导致

问题解决:使用docker pull单独拉取

dockers pull kubernetesui/dashboard:v2.2.0

创建访问用户

  1. 官方仓库文档
    Creating sample user

    镜像仓库文档
    Creating sample user

  2. 创建一个 adminuser(Creating a Service Account)
    vim dashboard-adminuser.yaml

     apiVersion: v1kind: ServiceAccountmetadata:name: admin-usernamespace: kubernetes-dashboard
    

    生成
    kubectl apply -f dashboard-adminuser.yaml

  3. 创建一个ClusterRole(Creating a ClusterRoleBinding)
    vim dashboard-ClusterRoleBinding.yaml

     apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata:name: admin-userroleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-adminsubjects:- kind: ServiceAccountname: admin-usernamespace: kubernetes-dashboard
    

    生成
    kubectl apply -f dashboard-ClusterRoleBinding.yaml

  4. 获取访问令牌(Getting a Bearer Token)

    从仓库文档中找到 Getting a Bearer Token 命令样本

     kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
    

    结果如下:

       eyJhbGciOiJSUzI1NiIsImtpZCI6IkhRVkxadFBlblNkbGYtZ05obUNDWmxkNzhEazFsbWoxOGNCSkRST25VY28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWpzc3BwIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI4NmJkZGQwZS1lODE0LTQ4MjItODAyYS0wZGVlZWU1YzQ2ZjAiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.OivIRkS11wQMNTztVeokL63qYSl3-Cb9UnHHa3yFhiVBuDz_92F7gy3C1etX2MEE1l-1zAFnmiAypum1T-PjCVSodvgvUKv_N3KTDSUdW0JIpDxymK_cIoU6H6aqL5F5FvYgodYNKc05wuKVH2Jc1udZthADoD5RRpo1S_ttwLfjJgiSOa-Bz-4A_jv4EzJqcBqVZtusacosT6x9JxcukoWq9bmuSZ8Lp99dVFzsCHgD1XicBYSm6RQ8tXAYioEHa0tk3SJrC6rLrLBa5_NIO9ZkwGWpumj35yC-SkD8uDjuwPFtn1DE7EmOEut8N1Rg5kZ9izV4_7oY9CK1nQDcb[root@c[root@centos7-189 working]# [root@centos7-[root@c[root@centos7-[root@centos7-[root@centos7-[root@c[root@centos7-
    

    或者

    这个指令样本忘记从哪里 cp 来的了

     kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
    

    返回结果样本:

    eyJhbGciOiJSUzI1NiIsImtpZCI6IkhRVkxadFBlblNkbGYtZ05obUNDWmxkNzhEazFsbWoxOGNCSkRST25VY28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWpzc3BwIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI4NmJkZGQwZS1lODE0LTQ4MjItODAyYS0wZGVlZWU1YzQ2ZjAiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.OivIRkS11wQMNTztVeokL63qYSl3-Cb9UnHHa3yFhiVBuDz_92F7gy3C1etX2MEE1l-1zAFnmiAypum1T-PjCVSodvgvUKv_N3KTDSUdW0JIpDxymK_cIoU6H6aqL5F5FvYgodYNKc05wuKVH2Jc1udZthADoD5RRpo1S_ttwLfjJgiSOa-Bz-4A_jv4EzJqcBqVZtusacosT6x9JxcukoWq9bmuSZ8Lp99dVFzsCHgD1XicBYSm6RQ8tXAYioEHa0tk3SJrC6rLrLBa5_NIO9ZkwGWpumj35yC-SkD8uDjuwPFtn1DE7EmOEut8N1Rg5kZ9izV4_7oY9CK1nQDcbQ
    

5.打开Dashboard

  1. 浏览器打开 https://192.168.1.189:30001/#/login
  2. 使用前一步保存的 token 登录

k8s部署dash-board相关推荐

  1. K8S部署工具:KubeOperator集群导入

    K8S部署工具:KubeOperator集群导入 基本信息⚓︎ 输入要导入集群的名称.Api Server.Router.Token 示例 Api Server: https://172.16.10. ...

  2. K8S部署工具:KubeOperator集群部署

    K8S部署工具:KubeOperator集群部署 集群信息⚓︎ 项目: 选择集群所属项目 供应商: 支持裸金属(手动模式)和部署计划(自动模式) 版本: 支持版本管理中最新的两个 Kubernetes ...

  3. K8S部署工具:KubeOperator集群规划-手动模式

    K8S部署工具:KubeOperator集群规划-手动模式 KubeOperator 支持两种 Kubernetes 集群部署方式,一种是手动模式,另外一种是自动模式.手动模式下,用户需要自行准备主机 ...

  4. K8S部署工具:KubeOperator集群规划-自动模式

    K8S部署工具:KubeOperator集群规划-自动模式 KubeOperator 支持两种 Kubernetes 集群部署方式,一种是自动模式,另外一种是手动模式,我们推荐使用自动模式.在自动模式 ...

  5. K8S部署工具:KubeOperator系统设置

    K8S部署工具:KubeOperator系统设置 系统设置⚓︎ 仓库协议: 支持 http 和 https,默认 http 仓库 IP: 默认为部署 KubeOperator 的服务器 IP.将使用该 ...

  6. K8S部署工具:KubeOperator安装部署

    K8S部署工具:KubeOperator安装部署 硬件要求⚓︎ 最小化配置 角色 CPU核数 内存 系统盘 数量 部署机 4 8G 100G 1 Master 4 8G 100G 1 Worker 4 ...

  7. K8S部署工具:KubeOperator主要概念

    K8S部署工具:KubeOperator主要概念 部署模式⚓︎ 手动模式: 用户需要自己准备物理机或虚拟机,存储可选择 NFS 持久化存储,外部 ceph 存储等 自动模式: 用户只需要绑定云平台(比 ...

  8. k8s部署zkui 2.0

    下载地址 https://github.com/DeemOpen/zkui maven构建 [root@k8s-n0 zkui]# pwd /home/k8s-yaml/zk-ui2/zkui [ro ...

  9. K8S——关于K8S控制台的yaml文件编写(基于上一章多节点K8S部署)

    K8S--关于K8S控制台的yaml文件编写(基于上一章多节点K8S部署) 一.yaml文件编写流程 二.证书自签 一.yaml文件编写流程 rbac.yaml---->secret.yaml- ...

  10. k8s部署tomcat及web应用_k8s部署tomcat的yaml文件

    1.k8s部署tomcat的yaml文件 apiVersion: apps/v1 kind: Deployment metadata: name: mytomcat spec: replicas: 5 ...

最新文章

  1. Java开发常用Linux命令
  2. vue-cli3.0 生产包去除console.log
  3. TinyXml高速入门(一)
  4. 手机cpu排行_鲁大师手机芯片排行榜:麒麟990第四,骁龙855第五!
  5. 在 Excel 中如何使用宏示例删除列表中的重复项
  6. Session ,ViewState,以及接收其它网页传过来的值的使用
  7. EntityFramework Core查询数据基本本质
  8. WCF 基础 契约 和 绑定
  9. 自相关函数 互相关函数 平稳随机过程
  10. 深度学习论文阅读目标检测篇(六)中英对照版:YOLOv3《 An Incremental Improvement》
  11. Whois接口查询文档
  12. [NOIP2013 提高组] 火柴排队
  13. Perl Learning 3 Subroutine
  14. PAT_乙级_1007_筱筱
  15. 订单除了快递、达达同城以外,可设置到店自取
  16. 【Splay】【ZJOI2006】书架
  17. 常用天气预报和资料网址
  18. Linux C语言调用C++动态链接库-改
  19. python函数带()与否
  20. Linux系统 通过i2c读写铁电存储器 ram

热门文章

  1. 防火墙5788——论小贝的魅力
  2. 设置不同jdbc的MaxActive数,吞吐量会有差异
  3. 分布java开发_java分布服务:我打赌,没人可以这么精短的讲出分布服务架构吧...
  4. css设置背景透明 兼容,每日一更之CSS背景透明内容不透明及CSS兼容性写法
  5. 幸福的种子—亲子共读图画书
  6. c++ 中的符号* 和
  7. macOS 10.14 mojave安装低版本iTunes 12.6.x (转载)
  8. 上海微创软件公司简介
  9. 测一测你的性格基因与生命路线,很准噢!
  10. 关系型数据库和非关系型数据库的区别以及应用的场景