【问题标题】:How to use Traefik IngressRoute on a Headless Service如何在无头服务上使用 Traefik IngressRoute
【发布时间】:2020-11-27 10:53:36
【问题描述】:

我正在尝试将 Traefik IngressRoute 配置为指向无头服务(服务指向集群后面的数据库)。 安装程序适用于“正常”服务(具有集群内的端点)。 我正在使用 traefik 2.3。

但是当我尝试创建一个指向无头服务的 ingressRoute 时,我在 traefik 日志中出现了该错误:

time="2020-11-27T10:41:53Z" level=error msg="cannot define a port for dev/-central-db-service" ingress=webapp-ingressroute providerName=kubernetescrd namespace=traefik

time="2020-11-27T10:41:54Z" level=error msg="cannot define a port for dev/central-db-service" providerName=kubernetescrd ingress=webapp-ingressroute namespace=traefik

这是我正在尝试创建的 IngressRoute,以及带有端点的 Headless 服务:

---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: webapp-ingressroute
  namespace: traefik
  labels:
spec:
  entryPoints:
    - websecure
  routes:
    - match: Host(`couchdb.test.io`)
      kind: Rule
      services:
        - name: central-db-service
          kind: Service
          port: 5984
          namespace: dev
  tls:
    secretName: certificate
---
kind: Endpoints
apiVersion: v1
metadata:
  name: central-db-service
  namespace: dev
subsets:
  - addresses:
        - ip: 192.168.0.50
    ports:
      - port: 5984
        name: central-db-service
---
kind: Service
apiVersion: v1
metadata:
  name: central-db-service
  namespace: dev
spec:
  clusterIP: None
  ports:
  - port: 5984
    targetPort: 5984

该设置与“正常”服务完美配合。

我错过了什么?是否可以使用 traefik 2.3 指向无头服务? 提前感谢您的帮助。

【问题讨论】:

    标签: kubernetes traefik traefik-ingress


    【解决方案1】:

    解决了!

    错误来自我的服务和端点配置错误。

    我为端点端口设置的名称与服务端口的名称不匹配(实际上,我没有设置名称)。 一旦端点中的端口和服务中的端口设置了相同的名称,一切正常。

    kind: Endpoints
    apiVersion: v1
    metadata:
      name: central-db-service
      namespace: dev
    subsets:
      - addresses:
            - ip: 192.168.0.50
        ports:
          - port: 5984
            name: central-db-service
    ---
    kind: Service
    apiVersion: v1
    metadata:
      name: central-db-service
      namespace: dev
    spec:
      clusterIP: None
      ports:
      - port: 5984
        targetPort: 5984
        name: central-db-service
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多