一、准备
接上篇k8s集群搭建:
https://blog.csdn.net/FORLOVEHUAN/article/details/139493668?spm=1001.2014.3001.5501
Dashboard是官方提供的一个UI,可用于基本管理K8s资源。
与k8s版本对应关系:
https://github.com/kubernetes/dashboard
其中问号表示部分功能不可用,对号表示所有功能都可用,v2.0.5,
二、安装
1.master节点执行:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.5/aio/deploy/recommended.yaml
可安装更高版本。
2.安装后可查看确认:
kubectl get pods --namespace=kubernetes-dashboard
3.查看service
查看kubernetes-dashboard的service和deployment是否创建,因为这两个东西是kubernetes运行应用程序所需的
kubectl get services -n kubernetes-dashboard
4.查看deployment
kubectl get deployment --namespace=kubernetes-dashboard
三、dashboard配置
1.修改Service为NodePort类型
默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部用于访问dashboard
kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
将type对应的参数修改为NodePort
。
2.修改后,获取访问端口(后续用于访问dashboard的端口号)
kubectl get svc -n kubernetes-dashboard
NodePort对应的端口号,即红框中的部分。
四、创建访问账号
1.创建dash.yaml文件
此次在根目录下建立的文件
sudo vi dash.yaml
复制以下内容到文件中:
apiVersion: v1
kind: ServiceAccount
metadata:name: admin-usernamespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: admin-user
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:
- kind: ServiceAccountname: admin-usernamespace: kubernetes-dashboard
2.应用dash.yaml文件
kubectl apply -f dash.yaml
报错:
error: error validating “dash.yaml”: error validating data: apiVersion not set; if you choose to ignore these errors, turn validation off with --validate=false
录入时缺少a。
重新执行:
3.获取dashboard的访问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}}"
将token值复制记录下来。
也可通过命令查看证书token
kubectl describe secret -n kubernetes-dashboard
五、访问dashboard
1.端口:
kubectl get svc -n kubernetes-dashboard
2.ip
查看dashboard服务运行在哪个节点上
kubectl get pods -n kubernetes-dashboard -o wide
精准查询kubernetes-dashboard
kubectl get pods -n kubernetes-dashboard -o wide | grep kubernetes-dashboard
可以看到kubernetes-dashboard服务在worker1节点中
我们到worker1节点使用ifconfig查看ip地址为
3.访问地址
故访问地址为
https://192.168.30.XXX:32446
无访问地址入口。
解决办法:
解决办法就是在当前页面用键盘输入 thisisunsafe ,不是在地址栏输入,就直接敲键盘就行了,页面即会自动刷新进入网页。
输入前面记录的token值。