Dashboard提供了可以实现集群管理、工作负载、服务发现和负载均衡、存储、字典配置、日志视图等功能。
k8s版本和Dashboard版本对应关系
参考https://github.com/kubernetes/dashboard/releases
版本不匹配会导致安装失败
下载yaml
dashboard:v2.5.1已支持k8s:1.23.x
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml
修改yaml(镜像可以支持下载忽略此步骤)
#修改镜像地址(由于默认的镜像仓库网络访问不通,故改成阿里镜像)
#sed -i 's/kubernetesui/registry.cn-hangzhou.aliyuncs.com\/loong576/g' recommended.yaml
token失效较快,可设置参数延长失效时间- --token-ttl=432000,位置如下
映射到主机端口
sed -i '/targetPort: 8443/a\ \ \ \ \ \ nodePort: 30001\n\ \ type: NodePort' recommended.yaml
#配置NodePort,外部通过https://NodeIp:NodePort 访问Dashboard,此时端口为30001
部署
kubectl apply -f recommended.yaml
状态查看
kubectl get all -n kubernetes-dashboard
令牌生成
创建service accou nt并绑定默认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}')
访问测试
外部通过https://NodeIp:NodePort 访问Dashboard,此时端口为30001,默认运行在3个master任意一节点上,需要手动查看哪个机子开启了30001端口
选择token方式登录,输入“3.4 令牌查看” 获得的token,即可进入页面
注意:
默认情况下只能使用https访问,但chrome可能会提示不安全,此时在浏览器当前页面下键盘敲击thisisunsafe可继续访问,
火狐浏览器可正常进入,不会提示不安全。