k8s安装dashboard面板

Posted gsls200808

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s安装dashboard面板相关的知识,希望对你有一定的参考价值。

k8s dashboard github地址:https://github.com/kubernetes/dashboard

注意:dashboard版本要和k8s版本匹配,具体参考release里的Compatibility:https://github.com/kubernetes/dashboard/releases

安装命令

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
修改recommended.yaml内容
在kind: Service节点的spec节点下添加 type: NodePort
完整Service部分如下

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard    
修改后执行
kubectl apply -f recommended.yaml

查看运行情况

#查看所有命名空间
kubectl get namespace
#查看dashboard命名空间下的pod
kubectl get pod -n kubernetes-dashboard
#找到node节点
kubectl get pod -o wide -n kubernetes-dashboard
#找到service端口
kubectl get svc -n kubernetes-dashboard

这里节点是192.168.3.85 svc的NodePort端口为30432

根据查看到的节点和端口访问

https://192.168.3.85:30432/

查看token,早期版本内置一个用户并且可以通过命令查看,新版本需要手动创建用户并且需要通过api接口查看

早期版本

#查看token的secret名
kubectl get secret -n kubernetes-dashboard
#查看token
kubectl describe kubernetes-dashboard-token-ngcmg -n kubernetes-dashboard

新版本,创建用户后查看token

#创建k8s管理员用户 用户名dashboard-admin
kubectl create serviceaccount dashboard-admin -n kube-system
#授予角色
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
# 使用kubectl 开启代理并且设置代理端口为8001
kubectl proxy --port=8001
# 检查是否开启成功
curl http://localhost:8001/api/
# 获取token 注意替换里面的namespace和用户名
curl 'http://127.0.0.1:8001/api/v1/namespaces/kube-system/serviceaccounts/dashboard-admin/token' -H "Content-Type:application/json" -XPOST -d ''

问题排查

查看pod时一直在ContainerCreating

通过describe命令查看

kubectl describe pod kubernetes-dashboard -n kubernetes-dashboard

停在pull镜像那一步,这个国内下载到60M左右速度下降到非常慢

考虑在外面pull或者其他机器pull后导入

pull导出导入命令如下

#拉取镜像
docker pull kubernetesui/dashboard:v2.7.0
#镜像到处保存为tar文件
docker save kubernetesui/dashboard:v2.7.0> dashboardv2.7.0.tar
#导入tar格式的镜像
docker load < dashboardv2.7.0.tar

以上是关于k8s安装dashboard面板的主要内容,如果未能解决你的问题,请参考以下文章

k8s安装kuboard面板

k8s安装kuboard面板

k8s部署Dashboard面板

关于 Kubernetes集群中仪表盘(dashboard&Kuboard)安装的一些笔记

K8S实践系列---dashboard的安装以及密码登陆配置

Grafana之Dashboard