k8s搭建(五、k8s可视化管理工具Dashboard配置)

发布时间:2023年12月30日

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


k8s搭建文章:
k8s搭建(一、k8s环境配置与docker安装)
k8s搭建(二、k8s组件安装)
k8s搭建(三、k8s从节点创建)
k8s搭建(四、k8s集群创建)
k8s搭建(五、k8s可视化管理工具Dashboard配置)

Dashboard配置

在此之前请再次检查防火墙,我这里又去看了下防火墙,又打开了,不知为何故,然后再次关闭后才进行以下操作

1. 安装dashboard

在主节点master中配置dashboard

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

结果如下,表示安装完成(如果失败,可参考文章使用本地创建文件的方式解决:k8s安装配置dashboard)
在这里插入图片描述

2. dashboard端口设置及获取

2.1 type类型

默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部

kubectl -n kubernetes-dashboard edit service kubernetes-dashboard

或者

kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard

在这里插入图片描述
将type对应的参数修改为NodePort
i–>修改–>esc–>shift+zz

2.2 获取端口号

获取访问端口(后续用于访问dashboard的端口号)

kubectl get svc -A |grep kubernetes-dashboard

就是下图NodePort对应的端口号,即红框中的部分
在这里插入图片描述

3. 创建dashboard访问账号

创建dash.yaml文件

sudo vim dash.yaml

将以下内容复制(注,文本中的namespace参数与后续操作命令有关,需要注意)

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
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

右键将复制的内容粘贴进dash.yaml文件
在这里插入图片描述
shift++zz保存退出
应用dash.yaml文件

kubectl apply -f dash.yaml

应用成功后输出如下
在这里插入图片描述
如出现报错Unable to connect to the server: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
可参考解决

4. 获取dashboard的访问token

获取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}}"

获取内容如下,其中最后一行为换行包含用户名@主机名libai@k8s-master
访问token为红框内部分
在这里插入图片描述
鼠标左键选中红框内部分,即可将内容复制保存,如下
在这里插入图片描述
以下为粘贴的token内容

eyJhbGciOiJSUzI1NiIsImtpZCI6ImRFNzN5YTZIV050Tzl5WGJPcldXdDJVWUh0dEpIM0xXS1ZVVVBOdHVSQVkifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLTd0ejZiIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJlYWQzZjdhOC0yNDZhLTRlMGUtODczZS01NjY4MzI4ZTA4MDAiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.NYt1tvFiHylHBpJ37MUbz88UwzWh87azJPpS_yjSrNPVpeLILIkexLk3Vl_d-Cqqz58KtzWamDHU2DcXhcoVFnlxLSoY0py2Qr1Uq-_F1sKxW_hZtrIV9FMGCeun-Y-a7DtP4R6Vq8E6NErRblw9vEA3sCa0vDcGqLPCVIyEY9NJTi2rrKBovH0OEWEwM0PboLgQB1AG2x12JbFCa8AQz_12mI61F0Ysxhoznb3FimSAYGqJ3TNzQzIh3cEgpxNaOeKWIsWLOEQzSeTSE_1W4blfNxw20XM6Gg1oA_1elLtvj4eNrP8Hj-99QPhJquFDSmBDeuOz7WXJSZqSXM2Xew

也可通过命令查看证书token

kubectl describe secret -n kubernetes-dashboard

5.访问dashboard

5.1 端口查看

kubectl get svc -n kubernetes-dashboard

或者

kubectl get service kubernetes-dashboard -n kubernetes-dashboard

在这里插入图片描述
在这里插入图片描述

5.2 ip查看

查看dashboard服务运行在哪个节点上

kubectl get pods -n kubernetes-dashboard -o wide

精准查询kubernetes-dashboard

kubectl get pods -n kubernetes-dashboard -o wide | grep kubernetes-dashboard

或者模糊查询含有dashboard字段的服务

kubectl get pods -n kubernetes-dashboard -o wide | grep dashboard

在这里插入图片描述
可以看到kubernetes-dashboard服务在k8s-worker2节点中
我们到worker2节点使用ifconfig查看ip地址为192.168.193.130

5.3 访问地址

故访问地址为
https://192.168.193.130:30919
访问警告,点开高级
在这里插入图片描述
选择继续前往连接
在这里插入图片描述
在这里插入图片描述
将之前复制的token粘贴进去,登录
在这里插入图片描述登录后即可正常使用k8s的dashboard界面
在这里插入图片描述
在集群中可以查看我们的节点及命名空间
在这里插入图片描述


感谢阅读,祝君暴富!

文章来源:https://blog.csdn.net/mo_sss/article/details/135221614
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。