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

相关推荐
kuroomi12 小时前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes
闲云自留地13 小时前
Containerd 进阶教程:命名空间 Namespace、私有仓库 Harbor、容器管理全流程
容器
闲云自留地15 小时前
Containerd 是什么?架构、插件与安装实践一次讲清
容器
运维开发王义杰17 小时前
跨项目直连数据库:是架构反模式,还是现实的工程妥协?
云原生
闲云野鹤在人间17 小时前
docker 入门 | 第7章 容器监控 和 第8章 容器日志 详解
运维·docker·容器·架构·云计算
闲云自留地18 小时前
告别敲命令!DockerUI 与 Portainer 可视化容器管理实战
docker·容器
wdfk_prog19 小时前
ROS教程10:从 gtest 到 rostest——Unit Test、Node 集成测试、rosbag 与 rqt 验证闭环
运维·缓存·docker·容器·ros
程序猿阿越20 小时前
containerd如何创建Pod
后端·kubernetes·源码阅读
安易算力1 天前
昇腾生态开发深度实践:CANN算子库架构解析与MindSpore模型优化
网络·容器·架构·kubernetes·vllm
闲云自留地1 天前
不用 docker!containerd 镜像 crctl 命令一把梭
容器