前言
基于之前部署了一套最小化测试环境把Dashboard也给部署起来。
https://www.cnblogs.com/Dfengshuo/p/19672412
一、部署前准备
1. 环境信息
- 私有仓库地址:ixe.registry.k8s.io:5000(HTTP 协议)
复制代码- 核心组件:
- kubernetesui/dashboard:v2.7.0
- kubernetesui/metrics-scraper:v1.0.8
复制代码 2. 镜像准备(离线环境必做)
- 在能联网的机器上拉取、打标签并导出镜像:
- # 拉取 ARM64 架构镜像
- docker pull --platform linux/arm64 kubernetesui/dashboard:v2.7.0
- docker pull --platform linux/arm64 kubernetesui/metrics-scraper:v1.0.8
- # 打标签匹配本地私有仓库
- docker tag kubernetesui/dashboard:v2.7.0 ixe.registry.k8s.io:5000/dashboard:v2.7.0
- docker tag kubernetesui/metrics-scraper:v1.0.8 ixe.registry.k8s.io:5000/metrics-scraper:v1.0.8
- # 导出为 tar 包(用于离线传输)
- docker save -o k8s-dashboard-images.tar \
- ixe.registry.k8s.io:5000/dashboard:v2.7.0 \
- ixe.registry.k8s.io:5000/metrics-scraper:v1.0.8
复制代码 将 k8s-dashboard-images.tar 传输到离线集群节点后,导入并推送至本地仓库:- # 导入到 containerd
- ctr -n k8s.io image import k8s-dashboard-images.tar
- # 强制 HTTP 推送至本地仓库
- ctr -n k8s.io image push --plain-http --platform linux/arm64 ixe.registry.k8s.io:5000/dashboard:v2.7.0
- ctr -n k8s.io image push --plain-http --platform linux/arm64 ixe.registry.k8s.io:5000/metrics-scraper:v1.0.8
复制代码 二、部署 Kubernetes Dashboard
1. 应用官方 YAML(修改镜像地址)
下载官方部署 YAML 并修改镜像地址为本地仓库:- # 下载 Dashboard 部署 YAML
- wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml -O dashboard-deploy.yaml
- # 编辑 YAML,将镜像地址替换为本地仓库地址
- sed -i 's|kubernetesui/dashboard:v2.7.0|ixe.registry.k8s.io:5000/dashboard:v2.7.0|g' dashboard-deploy.yaml
- sed -i 's|kubernetesui/metrics-scraper:v1.0.8|ixe.registry.k8s.io:5000/metrics-scraper:v1.0.8|g' dashboard-deploy.yaml
- # 应用 YAML
- kubectl apply -f dashboard-deploy.yaml
复制代码
2. 修改服务类型为 NodePort(外部访问)
默认服务类型为 ClusterIP,需修改为 NodePort:- # 修改 metrics-scraper 服务类型
- kubectl patch svc dashboard-metrics-scraper -n kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}'
- # 修改 Dashboard 主服务类型
- kubectl patch svc kubernetes-dashboard -n kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}'
- # 查看分配的 NodePort
- kubectl get svc -n kubernetes-dashboard
复制代码
三、创建登录凭证(Token 方式)
1. 创建 ServiceAccount
- kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
复制代码 2. 绑定集群管理员角色(测试环境)
- kubectl create clusterrolebinding dashboard-admin \
- --clusterrole=cluster-admin \
- --serviceaccount=kubernetes-dashboard:dashboard-admin
复制代码 3. 手动创建关联 Secret(K8s 1.24+ 必需)
K8s 1.24+ 版本中,ServiceAccount 不再自动生成 Secret,需手动创建:
[code]cat > dashboard-admin-secret.yaml |
|
|
|
|
|
相关推荐
|
|
|