找回密码
 立即注册
首页 业界区 安全 Kubernetes Dashboard部署

Kubernetes Dashboard部署

泥地锚 2 小时前
前言

基于之前部署了一套最小化测试环境把Dashboard也给部署起来。

https://www.cnblogs.com/Dfengshuo/p/19672412
一、部署前准备

1. 环境信息
  1. 私有仓库地址:ixe.registry.k8s.io:5000(HTTP 协议)
复制代码
  1. 核心组件:
  2. kubernetesui/dashboard:v2.7.0
  3. kubernetesui/metrics-scraper:v1.0.8
复制代码
2. 镜像准备(离线环境必做)
  1. 在能联网的机器上拉取、打标签并导出镜像:
  2. # 拉取 ARM64 架构镜像
  3. docker pull --platform linux/arm64 kubernetesui/dashboard:v2.7.0
  4. docker pull --platform linux/arm64 kubernetesui/metrics-scraper:v1.0.8
  5. # 打标签匹配本地私有仓库
  6. docker tag kubernetesui/dashboard:v2.7.0 ixe.registry.k8s.io:5000/dashboard:v2.7.0
  7. docker tag kubernetesui/metrics-scraper:v1.0.8 ixe.registry.k8s.io:5000/metrics-scraper:v1.0.8
  8. # 导出为 tar 包(用于离线传输)
  9. docker save -o k8s-dashboard-images.tar \
  10.   ixe.registry.k8s.io:5000/dashboard:v2.7.0 \
  11.   ixe.registry.k8s.io:5000/metrics-scraper:v1.0.8
复制代码
将 k8s-dashboard-images.tar 传输到离线集群节点后,导入并推送至本地仓库:
  1. # 导入到 containerd
  2. ctr -n k8s.io image import k8s-dashboard-images.tar
  3. # 强制 HTTP 推送至本地仓库
  4. ctr -n k8s.io image push --plain-http --platform linux/arm64 ixe.registry.k8s.io:5000/dashboard:v2.7.0
  5. 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 并修改镜像地址为本地仓库:
  1. # 下载 Dashboard 部署 YAML
  2. wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml -O dashboard-deploy.yaml
  3. # 编辑 YAML,将镜像地址替换为本地仓库地址
  4. sed -i 's|kubernetesui/dashboard:v2.7.0|ixe.registry.k8s.io:5000/dashboard:v2.7.0|g' dashboard-deploy.yaml
  5. sed -i 's|kubernetesui/metrics-scraper:v1.0.8|ixe.registry.k8s.io:5000/metrics-scraper:v1.0.8|g' dashboard-deploy.yaml
  6. # 应用 YAML
  7. kubectl apply -f dashboard-deploy.yaml
复制代码
1.png

2. 修改服务类型为 NodePort(外部访问)

默认服务类型为 ClusterIP,需修改为 NodePort:
  1. # 修改 metrics-scraper 服务类型
  2. kubectl patch svc dashboard-metrics-scraper -n kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}'
  3. # 修改 Dashboard 主服务类型
  4. kubectl patch svc kubernetes-dashboard -n kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}'
  5. # 查看分配的 NodePort
  6. kubectl get svc -n kubernetes-dashboard
复制代码
2.png

三、创建登录凭证(Token 方式)

1. 创建 ServiceAccount
  1. kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
复制代码
2. 绑定集群管理员角色(测试环境)
  1. kubectl create clusterrolebinding dashboard-admin \
  2.   --clusterrole=cluster-admin \
  3.   --serviceaccount=kubernetes-dashboard:dashboard-admin
复制代码
3. 手动创建关联 Secret(K8s 1.24+ 必需)

K8s 1.24+ 版本中,ServiceAccount 不再自动生成 Secret,需手动创建:
[code]cat > dashboard-admin-secret.yaml

相关推荐

您需要登录后才可以回帖 登录 | 立即注册