内容概要
首先你需要先部署好k8s的集群
k8s集群安装:使用kubeadm来部署Kubernetes单节点,比二进制部署快多了!!
一、所有节点安装dashboard
所有节点上传dashboard镜像 dashboard.tar 到 /opt 目录,master节点上传kubernetes-dashboard.yaml文件
所有节点操作
cd /opt/
docker load < dashboard.tar
kubectl apply -f kubernetes-dashboard.yaml
查看所有容器运行状态
kubectl get pods,svc -n kube-system -o wide
...
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
service/kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 29m k8s-app=kube-dns
service/kubernetes-dashboard NodePort 10.96.58.168 <none> 443:30001/TCP 55s k8s-app=kubernetes-dashboard
使用浏览器访问
https://node02:30001/
https://192.168.73.55:30001/
解决浏览器加密通信问题,使用的脚本 dashboard-cert.sh 来快速生成证书文件
dashboard分配给了node01服务器,访问的入口是30001端口,打开浏览器访问 https://nodeIP:30001 来进行测试
火狐浏览器可直接访问:https://192.168.80.11:30001
谷歌浏览器则因为缺少加密通信的认证证书,导致无法直接访问。可通过 菜单->更多工具->开发者工具->Security 查看访问失败的原因。
vim dashboard-controller.yaml
......
args:
# PLATFORM-SPECIFIC ARGS HERE
- --auto-generate-certificates
#在文件的第47行下面添加以下两行,指定加密(tls)的私钥和证书文件
- --tls-key-file=dashboard-key.pem
- --tls-cert-file=dashboard.pem
我这里就直接用火狐浏览器进行测试了
需要证书,我们自己做一个
创建service account并绑定默认cluster-admin管理员集群角色
kubectl create serviceaccount dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
获取令牌密钥
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
直接复制,点击令牌,粘贴进去就可以进入了