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

社区话题 Linux/macOS 与自动化运维 Kubernetes Dashboard 完整安装与配置命令清单 | orbstack Kubernetes Dashboard 优雅访问方式:通过 Ingress + .k8s.orb.local 域名

#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” 域名的核心优势,体验极佳。