目录
1、软件dashboard选择:
软件k8s、dashboard在版本上有一定的兼容关系:
K8s版本 |
Dashboard版本 |
V1.22 |
暂时没有找到版本 |
V1.21 |
V2.3.1/V2.3.0 |
V1.20 |
V2.3.1/V2.3.0/V2.2.0/V2.1.0 |
V1.19 |
V2.0.5/V2.0.4 |
V1.18 |
V2.0.3/V2.0.2/V2.0.1/V2.0.0 |
V1.17 |
V2.0.0-rc7/V2.0.0-rc6/V2.0.0-rc5/V2.0.0-rc4 |
V1.16 |
V2.0.0-rc3/V2.0.0-rc2/V2.0.0-rc1/ V2.0.0-beta8/V2.0.0-beta7/V2.0.0-beta6/V2.0.0-beta5 |
V1.15 |
V2.0.0-beta4/V2.0.0-beta3/V2.0.0-beta2 |
V1.14 |
V2.0.0-beta1 |
V1.13 |
暂时没有找到版本 |
V1.12 |
暂时没有找到版本 |
V1.11 |
暂时没有找到版本 |
V1.10 |
V1.10.1/V1.10.0 |
V1.9 |
V1.10.1/V1.10.0/V1.8.3 |
V1.8 |
V1.10.1/V1.10.0/V1.8.3 |
查看k8s与dashboard版本兼容关系操作步骤:
注意查看k8s兼容的dashboard版本。本次搭建的k8s版本为1.17.0,通过查看dashboard官网上不同版本的dashboard软件包能够兼容的对应k8s版本,查找到对应的dashboard版本,本次dashboard版本使用的是v2.0.0-rc7。
官网dashboard地址:https://github.com/kubernetes/dashboard/releases
2、下载yaml配置文件:
在线dashboard的yml文件地址:https://github.com/kubernetes/dashboard/releases,通过该地址将该yml文件下载下来。
3、修改yaml配置文件:
由于默认Dashboard只能集群内部访问,因此修改Service为NodePort类型,暴露到外部可以访问,修改如下位置:
4、延长token有效期:
Dashboard默认900s/15分钟后认证token回话失效,需要重新登录认证,修改12h(12*60*60=)方便使用。修改dashboard的yaml配置文件,在如下位置增加参数:--token-ttl=43200
5、拉取dashboard镜像:
说明:在集群中node所在服务器,进行如下操作:
执行命令:
docker pull kubernetesui/dashboard:v2.0.0-rc7
6、生效yaml配置文件:
在需要的服务器上,进入到yml配置文件所在的文件夹中,然后执行命令进行生效:
kubectl apply -f kubernetes-dashboard.yaml
看到如下提示,代表Dashboard创建成功了。
7、创建dashboard用户:
(1)编写yaml配置文件:
编写创建dashboard用户并授权超级管理员角色的yaml配置文件,文件内容如下:
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-lsy
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-lsy
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-lsy
namespace: kube-system
说明:kube-system为用户所在的空间,根据需要自行修改;admin-lsy为创建的dashboard用户名,根据需要自行修改;
(2)上传yaml配置文件:
将编写的yaml配置文件上传到k8s的一个master的节点上。
(3)生效yaml配置文件:
在yaml所在的服务器上,进入到yaml配置文件所在的文件夹中,然后执行命令:
kubectl create -f dashboard-admin-lsy.yaml
(4)查看dashboard用户信息:
查看所有的secret列表,命令:
kubectl get secret -n kube-system
查看某个dashboard用户信息,命令:
kubectl describe secret admin-lsy-token-pvtzg -n kube-system
8、浏览器访问dashboard:
输入访问dashboard的地址:https://ip:port,ip为k8s的一个master的IP地址,port为dashboard服务的nodePort端口号。
此处有个坑,如果使用360浏览器需要使用极速模式、chrome浏览器、火狐浏览器都可以。
看到了登录界面,需要我们配置kubeconfig或输入token,这里我们选择后者,通过查看dashboard用户信息,可以获取到对应的token值,然后复制该用户的token字符串,进行登录即可。