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
根据查看到的节点和端口访问
查看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面板的主要内容,如果未能解决你的问题,请参考以下文章
关于 Kubernetes集群中仪表盘(dashboard&Kuboard)安装的一些笔记