k8s helm 搭建dashboard
k8s helm 搭建dashboard
1.1 下载包
我们可以通过官网: https://artifacthub.io/ 可以搜索到dashboard的chart和镜像
但是helm默认的是google,我们国内无法访问,我这下载好放到网盘上了:
链接:https://pan.baidu.com/s/1HyVoxiTahEnNjmRC0hKjFg
提取码:z3e4
2.1 加载镜像
在各个节点上上传dashboard的镜像,也可以把dashboard打tag存到harbor上,这样每个节点都可以拉取到镜像,我这里就三台机器,没必要整harbor了。直接load
docker load -i dashboard.tar
3.1 解压并部署
//解压得到kubernetes-dashboard 文件夹,并伴随一堆时间报错,这个不影响
tar zxvf kubernetes-dashboard-1.8.0.tgz;cd kubernetes-dashboard;ls
//可以看到有value.yaml,我们可以自己定义value.yaml,不过没必要非要命名value.yaml,我们可以起一个别的名字 kubernetes-dashboard.yaml
vim kubernetes-dashboard.yaml
image:
repository: k8s.gcr.io/kubernetes-dashboard-amd64 //这里我直接load进去的,没上传harbor
tag: v1.10.1
ingress:
enabled: true
hosts:
- k8s.frognew.com
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
tls:
- secretName: frognew-com-tls-secret
hosts:
- k8s.frognew.com
rbac:
clusterAdminRole: true
//部署
helm install . \ //这里注意 . 是指当前
-n kubernetes-dashboard \
--namespace kube-system \
-f kubernetes-dashboard.yaml
4.1 查看状态
kubectl -n kube-system get secret | grep kubernetes-dashboard-token
kubectl get svc -n kube-system
helm status kubernetes-dashboard
//我们可以注意到,这个服务发现是 clusterIp,同时它的ingress里面的证书我们也没准备,所以如果我们想访问,可以把端口的类型改成nodeport
kubectl edit svc kubernetes-dashboard -n kube-system
//我们可以根据yaml文件里的 frognew-com-tls-secret内容,修改证书,否则火狐浏览器会认为是不安全的连接无法访问,因为谷歌浏览器对证书管控很严格
frognew-com-tls-secret
//这里端口是随机的,需要替换成你自己的端口
浏览器访问 https://192.168.50.121:30667/
我测试的时候用火狐浏览器打不开了,可能浏览器都加强了管控
正常应该是这样的
提示是使用kubeconfig还是令牌,可以自己制作kubeconfig,也可以用令牌
我这里用的令牌,kubeconfig我们做集群安全的时候做过
//我们可以得到秘钥kubernetes-dashboard-token-mxj44 secret
kubectl -n kube-system get secret | grep kubernetes-dashboard-token
//describe可以获取到token
kubectl describe secret kubernetes-dashboard-token-mxj44 -n kube-system