跳转到内容

Ingress

在集群中安装 Kubetail 后,默认可以通过 kubectl port-forwardkubectl proxy 访问 Dashboard。如果您希望获得持久、适合浏览器使用的访问方式,而不必运行本地代理命令,也可以通过 Kubernetes Ingress 资源将其暴露出去。


Helm chart 内置了为 Dashboard 创建 Ingress 资源的支持。它默认关闭,但您可以通过 chart values 启用并配置它。

Dashboard Service 在集群内部监听端口 8080。您的 Ingress 控制器需要将流量路由到该端口。


要启用 Ingress,请将 kubetail.dashboard.ingress.enabled 设为 true,并至少配置一条规则:

kubetail:
dashboard:
ingress:
enabled: true
name: kubetail
annotations:
traefik.ingress.kubernetes.io/router.middlewares: kubetail-system-kubetail-auth@kubernetescrd
className: traefik
rules:
- host: kubetail.example.com
http:
paths:
- path: /
pathType: Prefix

然后将这些 values 应用到您的 release:

Terminal window
helm upgrade kubetail kubetail/kubetail \
--namespace kubetail-system \
--values values.yaml

要启用 HTTPS,请添加一个引用证书 Secret 的 tls 块:

kubetail:
dashboard:
ingress:
enabled: true
className: nginx
rules:
- host: kubetail.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kubetail-dashboard
port:
number: 8080
tls:
- hosts:
- kubetail.example.com
secretName: kubetail-tls

如果您使用 cert-manager,可以通过为 Ingress 添加适当的 annotation 来自动化证书签发:

kubetail:
dashboard:
ingress:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod