kubernetes仪表板通过traefik

发布于 2025-02-09 18:15:23 字数 1248 浏览 2 评论 0原文

我有一个使用Traefik(版本2.7.0)工作的Kubernetes群集(版本1.23.4)。 我想通过IngressRoute traefix访问Kubernetes仪表板,一切似乎正常工作,在Traefik Pod和仪表板的日志中没有错误,但是当我想访问Kubernetes仪表板时,它无法访问页面: https://k8sdash.kub.kub.techlabnews.comcomcomcomcomcom/api/api/api/api/api/v1/login/status/status/status/status 而且我有一个错误404。(登录Firefox控制台)。

使用此代码来创建IngressRoute:

apiVersion: traefik.containo.us/v1alpha1
kind: ServersTransport
metadata:
  name: kubernetes-dashboard-transport
  namespace: kubernetes-dashboard

spec:
  serverName: "k8sdash.kub.techlabnews.com" 
  insecureSkipVerify: true

---  
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  entryPoints:
    - websecure
  routes:
    - kind: Rule
      match: Host(`k8sdash.kub.techlabnews.com`)
      services:
        - kind: Service
          port: 443
          name: kubernetes-dashboard
          namespace: kubernetes-dashboard
          serversTransport: kubernetes-dashboard-transport
  tls:
    secretName: kub.techlabnews-com-cert-secret-replica

有人对问题有所了解吗?

谢谢

I have a Kubernetes cluster (release 1.23.4) working using Traefik(release 2.7.0).
I would like to access the kubernetes dashboard through IngressRoute Traefix, everything seems to work correctly no error in the log of the Traefik pod and the dashboard but when i want to access the kubernetes dashboard it can not access the page: https://k8sdash.kub.techlabnews.com/api/v1/login/status and I have an error 404.(log in the firefox console).

Use this code for create the IngressRoute :

apiVersion: traefik.containo.us/v1alpha1
kind: ServersTransport
metadata:
  name: kubernetes-dashboard-transport
  namespace: kubernetes-dashboard

spec:
  serverName: "k8sdash.kub.techlabnews.com" 
  insecureSkipVerify: true

---  
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  entryPoints:
    - websecure
  routes:
    - kind: Rule
      match: Host(`k8sdash.kub.techlabnews.com`)
      services:
        - kind: Service
          port: 443
          name: kubernetes-dashboard
          namespace: kubernetes-dashboard
          serversTransport: kubernetes-dashboard-transport
  tls:
    secretName: kub.techlabnews-com-cert-secret-replica

Does anyone have an idea of the problem ?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谁把谁当真 2025-02-16 18:15:23

serverStransport已定义的定义需要在服务中提及,因此在Kubernetes仪表板的服务中添加注释应解决问题:

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
  annotations:
    traefik.ingress.kubernetes.io/service.serverstransport: kubernetes-dashboard-kubernetes-dashboard-transport@kubernetescrd # The first `kubernetes-dashboard` is the namespace
spec:
  ports:
    - port: 443
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard

考虑到状态代码为404,那里进水路线可能是其他问题。如果上述方法无济于事,请检查Traefik Pod的日志。

The ServersTransport defined needs to be referred to in the service, hence adding an annotation to the service of Kubernetes dashboard should solve the problem:

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
  annotations:
    traefik.ingress.kubernetes.io/service.serverstransport: kubernetes-dashboard-kubernetes-dashboard-transport@kubernetescrd # The first `kubernetes-dashboard` is the namespace
spec:
  ports:
    - port: 443
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard

Considering that the status code was 404, there could be other issues with the ingress route. Please check the log of the Traefik pod if the method above does not help.

羁拥 2025-02-16 18:15:23

秘密kub.techlabnews-com-com-cert-secret-replica需要正确定义。

当忘记定义IngressRoute使用的秘密时,我有同样的错误

The Secret kub.techlabnews-com-cert-secret-replica needs to be defined properly.

I have got same error when forgot to define the secret being used by IngressRoute

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文