我的入口 Controller 是traefik,我想在入口中配置具有多个路径的域名以用于不同的服务。但是当我配置并重新应用它时。我只能访问域名根目录对应的服务,而路径对应的其他服务都是404
有我的入口配置:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: web-ingress
  namespace: runsdata
  annotations:
    kubernetes.io/ingress.class: "traefik"
spec:
  tls:
  - secretName: traefik-cert
  rules:
  - host: testenv.runsdata.com
    http:
      paths:
      - backend:
          serviceName: nginx-svc
          servicePort: 8088
  - host: testenv.runsdata.com
    http:
      paths:
      - backend:
          serviceName: traefik-web-ui
          servicePort: 8006
        path: /traefik

我可以通过url:https://testenv.runsdata.com:12840/访问nginx-svc。但是我无法通过url:https://testenv.runsdata.com:12840/traefik访问traefik-web-ui服务。我的配置有什么问题吗?另一个问题是如何查看入口映射到traefik的规则,我想查看映射是否正确。我执行命令kubectl exec -it traefik-ingress-controller-5c5dc68dd4-jxk84 /bin/bash。我想进入容器看看,但似乎没有安装命令,该命令不存在

最佳答案

由于traefik默认使用主机路由,因此我们只需要使用如下注释中的路径路由来指定它即可

annotations:
    kubernetes.io/ingress.class: "traefik"
    traefik.ingress.kubernetes.io/rule-type: PathPrefixStrip

关于kubernetes - 我如何获取traefik Controller 配置以及有关入口路径的一些问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60510935/

10-16 22:37