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

Este procedimento descreve como adicionar outros gateways do Cloud Service Mesh à instalação híbrida da Apigee.

Como instalar gateways adicionais do Cloud Service Mesh

No arquivo overlay.yaml do Cloud Service Mesh, é possível adicionar mais gateways de entrada seguindo um padrão semelhante ao mostrado 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 Cloud Service Mesh da sua plataforma.

Como segmentar uma entrada do Cloud Service Mesh/istio para um host virtual

Você pode direcionar um gateway de entrada do Cloud Service Mesh/istio para um host virtual específico no arquivo de substituiçõ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