gpt4 book ai didi

kubernetes - 使用 Traefik 和 Kubernetes 将流量路由到不同命名空间中的服务

转载 作者:行者123 更新时间:2023-12-02 11:28:54 73 4
gpt4 key购买 nike

使用 Traefik 作为入口 Controller (在 GCP 中的 kube 集群上)。
是否可以创建使用来自不同命名空间的后端服务的入口规则?

我们为每个“主要”版本的代码都有一个命名空间。

1-service.com -> 1-service.com ingress in the 1-service ns -> 1-service svc in the same ns

2-service.com -> 2-service.com ingress in the 2-service ns...等等

我还想要“未版本化”命名空间中的另一个入口规则,它将流量路由到一个主要版本。

service.com -> service.com ingress in the "service"ns -> X-service 在 X-service 命名空间中

我想使用版本化主机名(1-service.com 等)在 k8s 中保持主要版本分开,但仍然有一个指向最新版本的“最新”版本。

我相信 voyager 可以做跨命名空间入口 -> svc。 Traefik 也可以吗??

最佳答案

您可以使用这样的解决方法:

  • 创建类型为 ExternalName 的服务当你想创建一个入口时,在你的命名空间中:
  • apiVersion: v1
    kind: Service
    metadata:
    name: service-1
    namespace: unversioned
    spec:
    type: ExternalName
    externalName: service-1.service-1-ns.svc.cluster.local
    ports:
    - name: http
    port: 8080
    protocol: TCP
  • 创建指向此服务的入口:
  • apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    annotations:
    kubernetes.io/ingress.class: traefik
    name: ingress-to-other-ns
    namespace: service-1-ns
    spec:
    rules:
    - host: latest.example.com
    http:
    paths:
    - backend:
    serviceName: service-1
    servicePort: 8080
    path: /

    关于kubernetes - 使用 Traefik 和 Kubernetes 将流量路由到不同命名空间中的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47352610/

    73 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com