Tekton Dashboard 应该部署在根路径上吗?

Should Tekton Dashboard deployed on root path?

我正在 Kind 集群上尝试 Tekton,并成功配置 Tekton Dashboard 以使用 Ingress 规则。但我没有专用域名,以后也不可能有。此 Tekton 实例将通过另一个 NGINX 暴露在另一个域的子路径上。

但 Tekton Dashboard 似乎不适用于子路径位置。使用 Ingress path: / 公开的 Tekton Dashboard 运行良好,但如果我将其更改为 path: /tekton,则它不起作用。

那么,它是否设计为仅在根路径下工作?不支持处理子路径?


P.S。 我也将使用 Kind 集群进行生产,因为我无权访问 Kubernetes 集群。这是小型服务,我们不需要规模,只需要 CI/CD-as-code。现在似乎所有新的 CI/CD 实现都是专为 Kubernetes 设计的。

Tekton Dashboard 确实支持在子路径上公开,它会尝试检测要使用的基础 URL 并相应地进行调整。例如,如果您 运行 kubectl proxy 在本地针对目标集群,您可以在 http://localhost:8001/api/v1/namespaces/tekton-pipelines/services/tekton-dashboard:http/proxy/

访问仪表板

有关您遇到的问题的更多详细信息将有助于调试,例如仪表板版本?是否正在加载任何内容?入口控制器和配置?浏览器控制台/网络选项卡等中的任何错误

您还可以使用以下入口:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: tekton-dashboard
  namespace: tekton-pipelines
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/configuration-snippet: |
      rewrite ^(/[a-z1-9\-]*)$ / redirect;
spec:
  rules:
  - http:
      paths:
        - path: /tekton-dashboard(/|$)(.*)
          pathType: Prefix
          backend:
            service:
              name: tekton-dashboard
              port:
                number: 9097