お客様がインストールした Anthos Service Mesh に複数の Ingress ゲートウェイを追加する

この手順では、Apigee ハイブリッド インストールに Anthos Service Mesh(ASM)ゲートウェイを追加する方法について説明します。

追加の Anthos Service Mesh ゲートウェイをインストールする

ASM overlay.yaml ファイルで、次のようなパターンに従って Ingress ゲートウェイを追加できます。spec.components[].label および spec.components[].k8s.service.selector の要素を使用すると、名前付き Ingress ゲートウェイを特定の仮想ホストに関連付けることができます。詳しくは、Ingress のターゲットを仮想ホストに設定するをご覧ください。

  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
  

プラットフォームの Anthos Service Mesh のドキュメントに従って、変更を適用します。

ASM / Istio Ingress のターゲットを仮想ホストに設定する

オーバーライド ファイルで、ラベル付きの ASM / Istio Ingress ゲートウェイのターゲットを特定の仮想ホストに設定できます。この構成により、Apigee が仮想ホストの構成を適用する Ingress ゲートウェイが指定されます。次の例では、仮想ホスト milk-vh へのトラフィックは dairy というラベルが付いた Ingress を経由し、他の 2 つの仮想ホストへのトラフィックは vegetables Ingress を経由します。Ingress には適切なラベルを付ける必要があります。詳しくは、追加の Apigee Ingress ゲートウェイをインストールするをご覧ください。

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