Como adicionar vários gateways de entrada ao Anthos Service Mesh instalado pelo cliente

Este procedimento descreve como adicionar mais gateways do Anthos Service Mesh (ASM) à instalação da Apigee híbrida.

Como instalar gateways do Anthos Service Mesh adicionais

No arquivo overlay.yaml do ASM, é possível adicionar mais gateways de entrada seguindo um padrão semelhante ao do exemplo abaixo. Os elementos spec.components[].label e spec.components[].k8s.service.selector permitem associar um gateway de entrada nomeado a um host virtual específico, como explicado na seção Direcionar uma entrada a um host virtual.

  apiVersion: install.istio.io/v1alpha1
  kind: IstioOperator
  spec:
    profile: asm-gcp
    # hub: gcr.io/gke-release/asm # {"$ref":"#/definitions/io.k8s.cli.setters.anthos.servicemesh.hub"}
    components:
      ingressGateways:
      - name: istio-ingressgateway-dairy
        enabled: true
        label:
          app: istio-ingressgateway
          ingress_name: dairy
        k8s:
          service:
            selector:
              app: istio-ingressgateway
              ingress_name: dairy
            type: LoadBalancer
            ports:
            - name: status-port
              port: 15021
            - name: http2
              port: 80
              targetPort: 8080
            - name: https
              port: 443
              targetPort: 8443
          hpaSpec:
            minReplicas: 1
            maxReplicas: 10
      - name: istio-ingressgateway-vegetables
        enabled: true
        label:
          app: istio-ingressgateway
          ingress_name: vegetables
        k8s:
          service:
            selector:
              app: istio-ingressgateway
              ingress_name: vegetables
            ports:
            - name: http2
              port: 80
              targetPort: 8080
            - name: status-port
              port: 15020
            - name: https
              port: 443
              targetPort: 8443
          hpaSpec:
            minReplicas: 1
            maxReplicas: 10
          resources:
            requests:
              cpu: 300m
              memory: 128Mi
  

Para aplicar as alterações, siga a documentação do Anthos Service Mesh da sua plataforma.

Como segmentar uma entrada ASM/istio para um host virtual

É possível direcionar um gateway de entrada identificado ASM/istio em um host virtual específico no arquivo de modificações. Essa configuração especifica o gateway de entrada em que a Apigee aplicará a configuração do host virtual. No exemplo a seguir, o tráfego para o host virtual milk-vh é direcionado pela entrada chamada dairy, e o tráfego para os outros dois hosts virtuais passa pela entrada vegetables. As entradas precisam ser identificadas corretamente, conforme explicado em Como instalar outros gateways de gateway de entrada da Apigee.

virtualhosts:
  - name: milk-vh
    sslCertPath: cert-milk.crt
    sslKeyPath: cert-milk.key
    selector:
      app: istio-ingressgateway
      ingress_name: dairy
  
  - name: carrots-vh
    sslCertPath: cert-carrots.crt
    sslKeyPath: cert-carrots.key
    selector:
      app: istio-ingressgateway
      ingress_name: vegetables
  
  - name: ginger-vh
    sslCertPath: cert-ginger.crt
    sslKeyPath: cert-ginger.key
    selector:
      app: apigee-ingressgateway
      ingress_name: vegetables