0、进阶:自己动手写一个Kubernetes Dashboard
1、查看匹配的版本
Kubernetes版本v1.23,dashboard版本选择v2.5.1


2、部署Dashboard

执行上述命令,若访问失败可提前下载recommended.yaml文件,然后执行下述命令:
kubectl apply -f recommended.yaml

执行 kubectl get pod -A 查看pod状态,kubernetes-dashboard 命名空间下的pod都处于Running状态则执行下一步

3、创建访问用户并绑定角色

dash.yaml文件内容如下
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
4、获取登录密钥
4.1、暴露端口,以便集群外访问,执行下述命令,修改type为NodePort,若无此需求则跳过此步骤,直接执行4.2
kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard

4.2、获取端口及secret
kubectl get svc -A |grep kubernetes-dashboard
kubectl get secret -n kubernetes-dashboard | grep token
是否暴露端口:否 
是否暴露端口:是

kubectl describe secret admin-user-token-(...) -n kubernetes-dashboard

复制上述Token,暴露端口访问https://ip:30895,不暴露端口访问https://ClusterIP:443,注意ip和ClusterIP不同


至此,Dashboard部署完成
5、问题记录
pod一直处于ContainerCreating,执行 kubectl describe pod pod_name -n pod_namespace 命令,显示一直在拉取镜像,此时执行 docker images 查看本地是否已经拉取下来镜像,若未拉取下来则手动拉取,若已拉取则修改 recommended.yaml 文件里面的镜像拉取策略,Always改为IfNotPresent


本文详细指导如何在Kubernetesv1.23环境下部署和配置Dashboard,包括选择兼容版本、创建访问用户、获取登录密钥,以及处理pod创建问题如镜像拉取。
195

被折叠的 条评论
为什么被折叠?



