【问题标题】:Question about Consul Ingress-Gateway in Kubernetes关于Kubernetes中Consul Ingress-Gateway的问题
【发布时间】:2021-01-15 13:33:20
【问题描述】:

我希望在我的 Kubernetes 集群中设置一个 consul 服务网格,并且需要启用 ingress-gateway。我的计划是将入口网关作为 ClusterIP 服务和 Kubernetes 入口(Nginx 入口)运行以将流量引导到该入口。我一直在阅读 Consul.io 上有关 Ingress Gateway 的教程,并且对某些事情感到困惑。 helm 图表有一个 gateways: 列表和名称。

  • helm chart 构建的服务名称是否必须与 ingress 的 consul 配置匹配(减去 helm 应用的前缀)?

  • 如果不需要匹配,我可以在同一个端口上设置多个 consul 入口网关吗?

例子:

$ cat myingress.hcl
Kind = "ingress-gateway"
# does the following Name need to match kubernetes service
Name = "ingress-gateway"
Listeners = [
  Port = 8080
  ......
]

$ kubectl get services
NAME                          TYPE               CLUSTER-IP      EXTERNAL-IP   PORT(S) 
consul-ingress-gateway        ClusterIP          <blah>          <blah>        8080/TCP,8443/TCP
......

【问题讨论】:

    标签: kubernetes consul servicemesh


    【解决方案1】:

    配置条目中的Name 字段必须与在 Consul 中注册的服务名称匹配。默认情况下,Helm 图表使用名称“ingress-gateway”(https://www.consul.io/docs/k8s/helm#v-ingressgateways-gateways-name)。

    您可以使用 name 字段对其进行自定义,该字段必须为 Helm 图表值文件中 ingressGateways.gateways 数组下列出的每个入口网关定义。例如:

    ---
    ingressGateways:
      gateways:
        - name: ingress-gateway
          service: LoadBalancer
          ports:
            - 8080
        - name: nonprod-gateway
          service: LoadBalancer
          ports:
            - 9000
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-14
      • 1970-01-01
      • 2020-07-01
      • 2018-07-05
      • 2021-05-20
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      相关资源
      最近更新 更多