天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
k8s搭建文章:
k8s搭建(一、k8s环境配置与docker安装)
k8s搭建(二、k8s组件安装)
k8s搭建(三、k8s从节点创建)
k8s搭建(四、k8s集群创建)
k8s搭建(五、k8s可视化管理工具Dashboard配置)
在此之前请再次检查防火墙,我这里又去看了下防火墙,又打开了,不知为何故,然后再次关闭后才进行以下操作
在主节点master中配置dashboard
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
结果如下,表示安装完成(如果失败,可参考文章使用本地创建文件的方式解决:k8s安装配置dashboard)
默认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
获取访问端口(后续用于访问dashboard的端口号)
kubectl get svc -A |grep kubernetes-dashboard
就是下图NodePort对应的端口号,即红框中的部分
创建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)
可参考解决
获取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
kubectl get svc -n kubernetes-dashboard
或者
kubectl get service kubernetes-dashboard -n kubernetes-dashboard
查看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
故访问地址为
https://192.168.193.130:30919
访问警告,点开高级
选择继续前往连接
将之前复制的token粘贴进去,登录
登录后即可正常使用k8s的dashboard界面
在集群中可以查看我们的节点及命名空间
感谢阅读,祝君暴富!