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进行登录

相关推荐
xuefuhe5 小时前
Kubernetes基础入门4 应用的扩展与收缩
云原生·容器·kubernetes
Wpa.wk6 小时前
容器编排 - K8s - 配置文件参数说明和基础命令
经验分享·测试工具·docker·云原生·容器·kubernetes
掘根9 小时前
【即时通讯系统】项目框架与微服务拆分设计
微服务·云原生·架构
杭州杭州杭州9 小时前
Docker
运维·docker·容器
一体化运维管理平台10 小时前
容器监控难题破解:美信监控易全面支持K8s、Docker
云原生·容器·kubernetes
江畔何人初11 小时前
service发现
linux·运维·云原生
造夢先森11 小时前
Clawdbot(OpenClaw)安装部署教程
人工智能·微服务·云原生
qiubinwei11 小时前
kubeadm部署K8S集群(踩坑实录)
云原生·容器·kubernetes
牛奶咖啡1311 小时前
Prometheus+Grafana构建云原生分布式监控系统(十三)_Prometheus数据模型及其PromQL
云原生·prometheus·prometheus数据类型·promql使用场景·promql表达式解析·promql数据类型·监控系统的方法论与指标
等什么君!12 小时前
Docker 数据卷:MySQL 数据同步实战
运维·docker·容器