alibaba / higress

Cloud Native API Gateway | 云原生API网关

Home Page:https://higress.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

使用gateway api,支持ipv4/ipv6双栈

alexzzh opened this issue · comments

Why do you need it?

使用gateway api时,用户现场要求支持双栈

How could it be?

  • 数据平面envoy有两种配置方式可以达到该需求
    • 方式1: 同一个listener,同一个端口,支持配置多地址,一个ipv4,一个ipv6
    • 方式2: 使用两个listener,同一个端口,一个listener配置ipv4地址,一个listener配置ipv6地址
  • 使用gateway api时,控制平面配置?

Other related information

Add any other context or screenshots about the feature request here.

higress直接对外么?是否考虑在四层负载均衡器上实现ipv6呢

higress直接对外么?是否考虑在四层负载均衡器上实现ipv6呢

很无奈的是,同时支持ipv4/ipv6是用户刚需: 用户现场单独部署了一个支持ipv6的集群,包括网关前的负载,客户端会选路时会有负载策略,当选择的网关地址时ipv6地址时,流量就会进入到ipv6集群。

另外,我这边尝试了使用方式1的envoyfilter来达到下面配置的效果, 但未成功, 方式2切面太大,不太可行。

4841712120696_ pic

使用的envoyfilter配置如下:

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: ipv6
  namespace: higress-system
spec:
  configPatches:
  - applyTo: LISTENER
    match:
      context: GATEWAY
      listener:
        name: 0.0.0.0_180
    patch:
      operation: MERGE
      value:
        additional_addresses:
          - address:
              socket_address:
                address: 0:0:0:0:0:0:0:0
                port_value: 180