Myluzh Blog

Strive to become a dream architect.

Kubernetes(k8s)-安装dashboard

发布时间: 2023-6-20 文章作者: myluzh 分类名称: Kubernetes


0x01 下载yaml文件
下载合适自己版本的ymal文件,我这边k8s版本是1.23,所以合适的bashboard版本是v2.5.1
[root@master]# mkdir k8s-dashboard && cd k8s-dashboard
[root@master k8s-dashboard]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml
在Service中增加type: NodePort与nodePort: 32000
[root@master k8s-dashboard]# vi recommended.yaml
kind: Service
apiVersion: v1
metadata:
labels:
  k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort
ports:
  - port: 443
    targetPort: 8443
    nodePort: 32000
selector:
  k8s-app: kubernetes-dashboard


0x02  应用yaml文件

1.应用yaml文件
[root@master k8s-dashboard]# kubectl apply -f recommended.yaml
2.查看pod状态
如果kubernetes-dashboard状态都是ruing就没有问题,可以下一步
[root@master k8s-dashboard]# kubectl get pod -A
kubernetes-dashboard   dashboard-metrics-scraper-799d786dbf-5qd6t   1/1     Running   0               85m
kubernetes-dashboard   kubernetes-dashboard-fb8648fd9-cvttf         1/1     Running   0               85m
如果状态是而是ImagePullBackOff则需要更新下docker加速源,错误比较简单,镜像下载失败,要么网络设置有问题,要么没有设置镜像源,另外一个比较隐蔽的问题是,当你在集群环境下,假设有3个节点,那么这三个节点都要设置镜像源,因为 kubectl run命令默认可以在任一个节点上安装,而不是命令在哪个节点上执行!
编辑docker配置文件
[root@master k8s-dashboard]# vi /etc/docker/daemon.json
加入"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
重载配置文件重启docker生效
[root@master k8s-dashboard]# systemctl daemon-reload
[root@master k8s-dashboard]# systemctl restart docker
删除后重新创建下
[root@master k8s-dashboard]# kubectl delete -f recommended.yaml
[root@master k8s-dashboard]# kubectl apply -f recommended.yaml

0x03 解决权限问题

k8s默认的用户级别太低,所以你登录的时候会提示你权限不足
查看权限
[root@master k8s-dashboard]# kubectl get clusterrolebindings kubernetes-dashboard
NAME          ROLE                AGE
kubernetes-dashboard  ClusterRole/kubernetes-dashboard  15m
修改权限
[root@master k8s-dashboard]# kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard

0x04 获取token

获取token
[root@master k8s-dashboard]# kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

0x05 登录
访问https,端口为刚刚设置Nodeport端口32000,输入token访问登录。
点击查看原图

标签: k8s dashboard kubernetes

发表评论