? Kubernetes Dashboard 完整安装与配置命令清单 | orbstack

社区话题 Linux/macOS 与自动化运维 ? Kubernetes Dashboard 完整安装与配置命令清单 | orbstack

标签: 

正在查看 1 条回复
  • 作者
    帖子
    • #1132

      追光
      管理员

      ? Kubernetes Dashboard 完整安装与配置命令清单

      第一步:部署 Kubernetes Dashboard

      bash
      从官方仓库下载并应用 Dashboard 的 YAML 配置文件

      kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

      第二步:创建管理员账户

      bash
      1. 在 \’kubernetes-dashboard\’ 命名空间中创建一个名为 \’dashboard-admin\’ 的服务账号

      kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard

      2. 为该服务账号绑定 \’cluster-admin\’ 集群角色,授予其管理员权限

      kubectl create clusterrolebinding dashboard-admin \
        --serviceaccount=kubernetes-dashboard:dashboard-admin \
        --clusterrole=cluster-admin
      

      第三步:获取登录令牌 (Token)

      bash
      3. 生成用于登录 Dashboard 的 Bearer Token

      kubectl -n kubernetes-dashboard create token dashboard-admin

      重要:执行此命令后,终端会输出一长串令牌。请务必复制并保存它,这是您登录 Dashboard 的唯一凭证。

      第四步:配置服务访问方式 (NodePort)

      bash
      4. 将 Dashboard 服务的类型从默认的 \’ClusterIP\’ 修改为 \’NodePort\’,以便从外部访问

      kubectl patch svc kubernetes-dashboard -n kubernetes-dashboard -p \'{\"spec\": {\"type\": \"NodePort\"}}\'

      5. 查看服务详情,获取分配的 NodePort 端口号

      kubectl get svc kubernetes-dashboard -n kubernetes-dashboard

      输出示例:

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
      kubernetes-dashboard NodePort 192.168.194.250 443:32766/TCP 108s

      在 PORT(S) 列中,32766 就是您需要访问的端口。

      第五步:访问 Dashboard

      打开您的浏览器,访问以下地址:

      https://localhost:32766

      请将 32766 替换为您上一步查到的实际端口号。

      安全警告:由于使用的是自签名证书,浏览器会提示“您的连接不是私密连接”。请点击“高级”并选择“继续前往 localhost(不安全)”以忽略警告。
      登录:在登录页面选择 “Token”,然后粘贴您在第三步中保存的令牌,点击 “Sign in”。

      到这已经完成了所有安装和配置步骤。现在,您可以尽情使用功能强大的 Kubernetes Dashboard 来管理您的集群了。

      温馨提示:这个令牌会过期(根据您命令输出中的 exp 字段,大约1小时后)。如果令牌过期,只需重新执行第三步生成一个新的即可。

    • #1136

      追光
      管理员

      通过 Ingress + 域名 的方式来访问 Kubernetes Dashboard,这是一种更生产化、更优雅的访问方式,因为它不需要记住随机的 NodePort 端口,直接通过一个固定的、好记的域名访问即可。

      以下是完整的命令和配置清单:

      ? Kubernetes Dashboard 优雅访问方式:通过 Ingress + .k8s.orb.local 域名

      此方法假设您已经完成了 Dashboard 的基础安装和管理员账号配置(即您之前执行的前四步)。现在,我们为其配置一个专属的、无需端口的域名。

      第一步:安装 Ingress Controller(如果尚未安装)

      OrbStack 推荐使用 ingress-nginx。如果您还没有安装,请先执行:

      bash
      安装 Ingress-NGINX Controller

      kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.1/deploy/static/provider/cloud/deploy.yaml

      等待所有 Pod 运行就绪

      kubectl wait --namespace ingress-nginx \\
      --for=condition=ready pod \\
      --selector=app.kubernetes.io/component=controller \\
      --timeout=90s

      注意:请确保您安装的是 provider/cloud 版本,它与 OrbStack 的网络集成最好。

      第二步:创建 Ingress 资源定义
      在terminal中,可以使用,会在terminal所在的当前目录下创建文件,当然也可以手工使用编辑器创建在任意目录下,然后进入目录即可。
      vim dashboard-ingress.yaml
      vi dashboard-ingress.yaml
      创建一个名为 dashboard-ingress.yaml 的文件,内容如下:

      yaml
      dashboard-ingress.yaml
      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
      name: kubernetes-dashboard
      namespace: kubernetes-dashboard  ⚠️ 必须与 Dashboard 所在的命名空间一致
      annotations:
      nginx.ingress.kubernetes.io/ssl-passthrough: \"true\"  启用 SSL 透传,因为 Dashboard 本身提供 HTTPS
      nginx.ingress.kubernetes.io/backend-protocol: \"HTTPS\"  告诉 Ingress 后端是 HTTPS 服务
      spec:
      ingressClassName: nginx  指定使用 nginx Ingress Controller
      rules:
      host: dashboard.k8s.orb.local  ? 核心:使用 OrbStack 提供的免费域名
      http:
      paths:
      path: /
      pathType: Prefix
      backend:
      service:
      name: kubernetes-dashboard  ? 指向 Dashboard 的 Service
      port:
      number: 443  Dashboard Service 监听的端口

      第三步:应用 Ingress 配置

      在终端中进入上方创建好文件的目录,然后执行以下命令,将配置应用到集群:

      bash

      kubectl apply -f dashboard-ingress.yaml

      第四步:访问 Dashboard

      现在,您无需任何端口,直接在浏览器中访问:

      https://dashboard.k8s.orb.local

      安全警告:与之前一样,由于 Dashboard 使用的是自签名证书,浏览器会显示安全警告。请信任并继续访问。
      登录:在登录页面选择 “Token”,然后粘贴您之前生成的管理员 Bearer Token。

      推荐:如果您打算长期使用 Dashboard,或者希望您的本地开发环境更接近生产,强烈推荐使用 Ingress + 域名 的方式。它充分利用了 OrbStack “零配置 HTTPS” 和 “.k8s.orb.local” 域名的核心优势,体验极佳。

正在查看 1 条回复
  • 在下方一键注册,登录后就可以回复啦。