Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Criar um gateway IPv6

Última atualização: Jun 28, 2026

O IPv6 oferece um espaço de endereçamento maior e segurança aprimorada em comparação ao IPv4. Este tópico mostra como criar um gateway ASM com endereço IPv6 e como adicionar um endereço IPv6 a um gateway existente.

Pré-requisitos

Adicione o cluster à instância do ASM. Para mais informações, consulte Adicionar um cluster a uma instância do ASM.

Método 1: Criar um gateway ASM IPv6

Ao criar um gateway ASM, adicione a anotação service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "ipv6" para atribuir a ele um endereço IPv6.

  1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

  2. Na página Mesh Management, clique em nome da instância do ASM. No painel de navegação à esquerda, escolha ASM Gateways > Ingress Gateway.

  3. Na página Ingress Gateway, clique em Create from YAML.

  4. Na página Create, defina Namespaces como istio-system, insira o conteúdo abaixo no editor e clique em Create.

    Defina o campo clusterIds com o ID do seu cluster de plano de dados.

    Exemplo de YAML

    apiVersion: istio.alibabacloud.com/v1beta1
    kind: IstioGateway
    metadata:
      name: ingressgateway
      namespace: istio-system
    spec:
      gatewayType: ingress
      clusterIds:
        - c808cdd6abd854d5ba6764da5ca2e****          # Replace this with the ID of your data plane cluster.
      ports:
        - name: http-0
          port: 80
          targetPort: 80
          protocol: HTTP
        - name: https-1
          port: 443
          targetPort: 443
          protocol: HTTPS
      serviceAnnotations:
        service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: slb.s1.small
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "ipv6"
      replicaCount: 1
      resources:
        limits:
          cpu: '2'
          memory: 4G
        requests:
          cpu: 200m
          memory: 256Mi
      serviceType: LoadBalancer
      autoCreateGatewayYaml: true                      

    Parâmetro

    Descrição

    service.beta.kubernetes.io/alicloud-loadbalancer-address-type

    Tipo de rede da instância CLB. Valores válidos:

    • internet: Rede pública.

    • intranet: Rede privada.

    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec

    Especificação da instância CLB. Valores válidos: slb.s1.small, slb.s2.small, slb.s2.medium, slb.s3.small, slb.s3.medium e slb.s3.large.

    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version

    Defina o valor como "ipv6" para atribuir um endereço IPv6 à instância CLB.

    Após criar o gateway, a página Ingress Gateway exibe um endereço IPv6 como Service address do gateway.

Método 2: Adicionar IPv6 a um gateway ASM existente

Se você já possui um gateway ASM com endereço IPv4, adicione suporte a IPv6 criando uma instância CLB adicional. Isso permite que o gateway utilize simultaneamente endereços IPv4 e IPv6.

  1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique em nome do seu cluster. No painel de navegação à esquerda, clique em Network > Services.

  3. Na página Services, defina Namespace como istio-system na parte superior da página e clique em Create Resources in YAML no canto superior direito.

  4. Na página Create, defina Sample Template como Custom, copie o conteúdo abaixo para o editor de Template e clique em Create.

    Importante

    O valor de nodePort não deve entrar em conflito com nenhum número de porta existente.

    Exemplo de YAML

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: slb.s1.small
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "ipv6"
      labels:
        app: istio-ingressgateway
        asm-system: 'true'
        istio: ingressgateway
      name: istio-ingressgateway-2
      namespace: istio-system
    spec:
      externalTrafficPolicy: Cluster
      ports:
        - name: http-0
          nodePort: 30544
          port: 80
          protocol: TCP
          targetPort: 80
        - name: https-2
          nodePort: 30682
          port: 443
          protocol: TCP
          targetPort: 443
      selector:
        app: istio-ingressgateway
        asm-system: 'true'
        istio: ingressgateway
        provider: asm
      sessionAffinity: None
      type: LoadBalancer
                            

    Parâmetro

    Descrição

    service.beta.kubernetes.io/alicloud-loadbalancer-address-type

    Tipo de rede da instância CLB. Valores válidos:

    • internet: Rede pública.

    • intranet: Rede privada.

    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec

    Especificação da instância CLB. Valores válidos: slb.s1.small, slb.s2.small, slb.s2.medium, slb.s3.small, slb.s3.medium e slb.s3.large.

    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version

    Defina o valor como "ipv6" para atribuir um endereço IPv6 à instância CLB.

    Após criar o serviço, a página Services lista os endereços IPv4 e IPv6 de istio-ingressgateway e istio-ingressgateway-2 na coluna External IP. Esses endereços funcionam como pontos de entrada IPv4 e IPv6 para o gateway ASM.

Perguntas frequentes

Obter o endereço IPv6 original do cliente

  1. Configure a instância CLB associada ao endereço IPv6. Modifique as configurações de listener para as portas 80 e 443. Na seção Advanced Settings, ative o Proxy Protocol. Para mais informações, consulte Obter o endereço IP real de um cliente usando o listener de camada 4 de uma instância CLB.

  2. Crie um EnvoyFilter Template.

    1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

    2. Na página Mesh Management, clique em nome da instância do ASM. No painel de navegação à esquerda, escolha Plugin Extension Center > EnvoyFilter Template. Na página exibida, clique em Create EnvoyFilter Template.

    3. Na página Create, insira um nome para o modelo, clique em Add an EnvoyFilter template for specific adapted istio version., selecione uma Adapted istio version, configure o YAML abaixo e clique em Create.

      apiVersion: networking.istio.io/v1alpha3
      kind: EnvoyFilter
      metadata:
        name: proxy-protocol
        namespace: istio-system
      spec:
        configPatches:
        - applyTo: LISTENER
          patch:
            operation: MERGE
            value:
              listener_filters:
              - name: envoy.listener.proxy_protocol
              - name: envoy.listener.tls_inspector
        workloadSelector:
          labels:
            istio: ingressgateway
  3. Aplique o EnvoyFilter Template ao gateway ASM para habilitar o suporte ao Proxy Protocol.

    1. Na página EnvoyFilter Template, localize o modelo desejado e clique em Edit template na coluna Actions.

    2. Na página Edit EnvoyFilter Template, clique em aba Bind template to workloads e depois em Bind EnvoyFilter to Workloads.

    3. Na caixa de diálogo Bind EnvoyFilter to Workloads, defina Namespaces como istio-system e Workload Type como Deployment. Na seção Not bound, clique em Bind ao lado do gateway alvo e clique em OK.

  4. Acesse a URL IPv6 do gateway por uma rede IPv6 e visualize os logs correspondentes do gateway.

    No exemplo de log de gateway abaixo, o valor do campo downstream_remote_address corresponde ao endereço IPv6 original do cliente.

    {"upstream_cluster":null,"bytes_received":0,"downstream_local_address":"[2400:XXXX:1300::12d1]:80","upstream_service_time":null,"FILTER_CHAIN_NAME":null,"path":"/","x_forwarded_for":"2402:XXXX:1800:af00:0:9671:f00f:314b","upstream_host":null,"bytes_sent":0,"requested_server_name":null,"route_name":null,"response_flags":"NR","start_time":"2022-12-28T06:41:57.796Z","upstream_transport_failure_reason":null,"protocol":"HTTP/1.1","authority":"[2400:XXXX:1300::12d1]","LOCAL_REPLY_BODY":"","duration":0,"method":"GET","downstream_remote_address":"[2402:XXXX:1800:af00:0:9671:f00f:314b]:58272","request_id":"fee2b69a-b755-986b-91e4-5d228c81****","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36","trace_id":null,"authority_for":"[2400:XXXX:1300::12d1]","upstream_local_address":null,"istio_policy_status":null,"response_code":404}