将升级k8s到高版本以后,会发现web界面无法看到内容,显示404,因此需要借助高版本的dashboard才可以解决这类问题
首先要删除之前安装过的dashboard
下载dashboard的yaml文件
一、生成证书以及修改
1、生成证书,因为自动生成的证书很多浏览器无法使用(可先不配置着一段,如果无法在尝试配置这段)
1)创建证书目录
[root@k8s-master1 ~]# mkdir dashboard-certs
[root@k8s-master1 ~]# cd ./dashboard-certs/
2)创建名称空间
[root@k8s-master1 dashboard-certs]# kubectl create namespace kubernetes-dashboard
3)生成key
[root@k8s-master1 dashboard-certs]# openssl genrsa -out dashboard.key 2048
4)证书请求
[root@k8s-master1 dashboard-certs]# openssl req -days 36000 -new -out dashboard.csr -key dashboard.key -subj '/CN=dashboard-cert'
5)自签证书
[root@k8s-master1 dashboard-certs]# openssl x509 -req -days 365 -in dashboard.csr -signkey dashboard.key -out dashboard.crt
6)创建kubernetes-dashboard-certs对象
[root@k8s-master1 dashboard-certs]# kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kubernetes-dashboard
2、修改文件
[root@k8s-master1 /]# vim recommended.yaml
#添加访问端口
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort #添加
ports:
- port: 443
targetPort: 8443
nodePort: 30001 #添加
selector:
k8s-app: kubernetes-dashboard
[root@k8s-master1 /]# kubectl apply -f dashboard.yaml
二、创建dashboard管理员
1、编译yaml文件
[root@k8s-master1 /]# vim /root/k8s-admin.yaml
#创建账户
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
k8s-app: kubernetes-dashboard
name: dashboard-admin
namespace: kubernetes-dashboard
---
#为用户分配权限
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: dashboard-admin-bind-cluster-role
labels:
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: dashboard-admin
namespace: kubernetes-dashboard
[root@k8s-master1 /]# kubectl apply -f /root/k8s-admin.yaml
2、查看生成的token值
[root@k8s-master1 /]# kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep dashboard-admin | awk '{print $1}')
三、登录web查看
出现的问题:无法监控cpu,内存,需要安装metrices-server组件
转接下文:部署k8s监控(4):安装metrics-server