暴露 Kubernetes 仪表盘的方法取决于你的集群环境和网络设置。下面是一些常见的方法:
使用命令行工具暴露仪表盘: 在命令行中运行以下命令:
kubectl proxy
这将在本地启动一个代理,并将本地端口与 Kubernetes 仪表盘绑定。然后,你可以通过在浏览器中访问 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
来访问仪表盘。
使用 NodePort 服务:
将以下示例代码保存为 dashboard-service.yaml
文件:
apiVersion: v1
kind: Service
metadata:
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
selector:
k8s-app: kubernetes-dashboard
ports:
- port: 80
targetPort: 9090
type: NodePort
然后,使用以下命令创建服务:
kubectl apply -f dashboard-service.yaml
运行以下命令获取服务的 NodePort 端口号:
kubectl get service kubernetes-dashboard -n kubernetes-dashboard
然后,你可以通过在浏览器中访问
来访问仪表盘。
使用 Ingress:
首先,确保你的集群中已经安装了 Ingress 控制器。然后,将以下示例代码保存为 dashboard-ingress.yaml
文件:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kubernetes-dashboard-ingress
namespace: kubernetes-dashboard
spec:
rules:
- host: dashboard.example.com # 修改为你的域名
http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: kubernetes-dashboard
port:
number: 80
然后,使用以下命令创建 Ingress:
kubectl apply -f dashboard-ingress.yaml
配置 DNS 记录将域名指向你的集群 IP 地址。然后,你可以通过在浏览器中访问 http://dashboard.example.com
(请将 dashboard.example.com
替换为你的域名)来访问仪表盘。
请注意,以上方法可能需要根据你的实际情况进行调整。此外,为了安全起见,你还可以使用 SSL/TLS 来保护仪表盘的通信。