Kubernetes Dashboard UI 部署安装

K8S 集群环境: Ubuntu 24 / K8S 1.28.2

1. 推荐使用helm 安装Kubernetes Dashboard

bash 复制代码
sudo snap install helm --classic

2. 部署Kubernetes Dashboard

bash 复制代码
# Add kubernetes-dashboard repository
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
# Deploy a Helm Release named "kubernetes-dashboard" using the kubernetes-dashboard chart
helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard

3. 查看Pod 启动状态,如果pending状态,查看events确认是否镜像拉取问题,可手动拉取kong:3.8

bash 复制代码
kubectl --namespace=kubernetes-dashboard get pods
bash 复制代码
ctr i pull --all-platforms xxxxx.xuanyuan.dev/bitnami/kong:3.8

再次确认Pod 启动状态

bash 复制代码
root@k8s-master:~/manifects# kubectl --namespace=kubernetes-dashboard get pods
NAME                                                    READY   STATUS    RESTARTS   AGE
kubernetes-dashboard-api-5d7fbc9746-h2ssw               1/1     Running   0          68m
kubernetes-dashboard-auth-7896497d46-9mjc7              1/1     Running   0          68m
kubernetes-dashboard-kong-6bf7cb4d8c-htl4z              1/1     Running   0          68m
kubernetes-dashboard-metrics-scraper-79ddb8cd78-4dg6f   1/1     Running   0          68m
kubernetes-dashboard-web-5c84bb867f-twl9t               1/1     Running   0          68m

4. 查看kong proxy Service 端口

bash 复制代码
root@k8s-master:~/manifects# kubectl --namespace=kubernetes-dashboard  get service
NAME                                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
kubernetes-dashboard   kubernetes-dashboard-api               ClusterIP   10.97.5.78       <none>        8000/TCP                 50m
kubernetes-dashboard   kubernetes-dashboard-auth              ClusterIP   10.107.21.211    <none>        8000/TCP                 50m
kubernetes-dashboard   kubernetes-dashboard-kong-proxy        ClusterIP   10.98.134.37     <none>        443/TCP                  50m
kubernetes-dashboard   kubernetes-dashboard-metrics-scraper   ClusterIP   10.110.95.33     <none>        8000/TCP                 50m
kubernetes-dashboard   kubernetes-dashboard-web               ClusterIP   10.97.129.119    <none>        8000/TCP                 50m

默认为ClusterIP, 需手动更新为NodePort 以便节点外部访问

bash 复制代码
kubectl --namespace=kubernetes-dashboard edit service kubernetes-dashboard-kong-proxy

5. 再次查看service,已经更改为NodePort

bash 复制代码
root@k8s-master:~/manifects# kubectl --namespace=kubernetes-dashboard  get service
NAME                                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
kubernetes-dashboard-api               ClusterIP   10.97.5.78      <none>        8000/TCP        72m
kubernetes-dashboard-auth              ClusterIP   10.107.21.211   <none>        8000/TCP        72m
kubernetes-dashboard-kong-proxy        NodePort    10.98.134.37    <none>        443:30118/TCP   72m
kubernetes-dashboard-metrics-scraper   ClusterIP   10.110.95.33    <none>        8000/TCP        72m
kubernetes-dashboard-web               ClusterIP   10.97.129.119   <none>        8000/TCP        72m
  1. 创建User 和Role
perl 复制代码
vim k8s-dashboard-sa.yaml

kubectl apply -f k8s-dashboard-sa.yaml
XML 复制代码
---
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

7. 获取token

perl 复制代码
root@k8s-master:~/manifects# kubectl -n kubernetes-dashboard create token admin-user
eyJhbGciOiJSUzI1NiIsImtpZCI6Ikx4eVpYWWpUcXBna28zS3AtcWozaUZZUU1GbW42QWNiN1lXM1Y0ZllTX2MifQ.

8. 用上一步获取的token进行登录

相关推荐
姚不倒6 小时前
Go语言进阶:接口、错误处理与并发编程(goroutine/channel/context)
云原生·golang
仙柒41510 小时前
Docker存储原理
运维·docker·容器
快乐的哈士奇12 小时前
LangFuse 自托管实战:选型理由、Docker 部署与常用配置全解析
运维·人工智能·docker·容器
weixin_4492900114 小时前
Docker + MySQL 在 Windows 11 上的本地安装部署文档
mysql·docker·容器
Ysn071914 小时前
中文乱码:在 Docker 容器中设置中文语言环境
运维·python·docker·容器
米高梅狮子14 小时前
01.CentOS-Stream-8-packstack安装OpenStack
linux·云原生·容器·kubernetes·centos·自动化·openstack
亚空间仓鼠16 小时前
Docker容器化高可用架构部署方案(十三)
docker·容器·架构
米高梅狮子17 小时前
01.mysql的备份与恢复
运维·数据库·mysql·docker·容器·kubernetes·github
云游牧者18 小时前
K8S存储体系全解-从PV-PVC-SC到StatefulSet持久化实战
云原生·容器·kubernetes·pvc·pv·sc·进阶存储卷
古城小栈18 小时前
K8s 认证、授权 系统
云原生·容器·kubernetes