4-5 部署dashboard
# 上传dashboard配置
$ scp /root/kubernetes-ha-binary/target/addons/dashboard-all.yaml <user>@<node-ip>:/etc/kubernetes/addons/
# 创建服务
$ kubectl apply -f /etc/kubernetes/addons/dashboard-all.yaml
# 查看服务运行情况
$ kubectl get deployment kubernetes-dashboard -n kube-system
$ kubectl --namespace kube-system get pods -o wide
$ kubectl get services kubernetes-dashboard -n kube-system
$ netstat -ntlp | grep 8401
访问dashboard
为了集群安全,从1.7开始,dashboard只允许通过https访问,我们使用nodeport的方式暴露服务,可以使用https://NodeIP:NodePort地址访问 关于自定义证书 默认dashboard的证书是自动生成的,肯定是非安全的证书,如果大家有域名和对应的安全证书可以自己替换掉。使用安全的域名方式访问dashboard。在dashboard-all.yaml中增加dashboard启动参数,可以指定证书文件,其中证书文件是通过secret注进来的。
--tls-cert-file - dashboard --tls-key-file - dashboard.key
$ kubectl delete -f /etc/kubernetes/addons/dashboard-all.yaml
# 创建 secret "kubernetes-dashboard-certs"
$ kubectl create secret generic kubernetes-dashboard-certs --from-file="tls/dashboard.crt,tls/dashboard.key" -n kube-system
# 查看secret内容
$ kubectl get secret kubernetes-dashboard-certs -n kube-system -o yaml
# 重新部署dashboard
$ kubectl apply -f /etc/kubernetes/addons/dashboard-all.yaml
参考:https://blog.csdn.net/chenleiking/article/details/81488028
访问node节点的https 8401 https://192.168.10.51:8401/#!/login
这个最好在火狐firefox浏览器上访问,一般浏览器好像不支持
# 创建令牌
# 创建service account
$ kubectl create sa dashboard-admin -n kube-system
# 创建角色绑定关系
$ kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
# 查看dashboard-admin的secret名字
$ ADMIN_SECRET=$(kubectl get secrets -n kube-system | grep dashboard-admin | awk '{print $1}')
# 打印secret的token
$ kubectl describe secret -n kube-system ${ADMIN_SECRET} |grep -E '^token' |awk '{print $2}'