Apigee Ingress ゲートウェイの管理

Apigee ハイブリッド バージョン 1.8 以降、Apigee ハイブリッドでは Apigee Ingress ゲートウェイを使用して、ハイブリッド用の Ingress ゲートウェイを提供します。

Apigee Ingress ゲートウェイの構成

Ingress ゲートウェイは overrides.yaml で構成できます。例:

構文

ingressGateways:
- name: INGRESS_NAME
  replicaCountMin: REPLICAS_MIN
  replicaCountMax: REPLICAS_MAX
  resources:
    requests:
      cpu: CPU_COUNT_REQ
      memory: MEMORY_REQ
    limits:
      cpu: CPU_COUNT_LIMIT
      memory: MEMORY_LIMIT
  svcAnnotations:  # optional. See Known issue 243599452.
    SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
  svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional

ingressGateways:
- name: prod1
  replicaCountMin: 2
  replicaCountMax: 100
  resources:
    requests:
      cpu: 1
      memory: 1Gi
    limits:
      cpu: 2
      memory: 2Gi
  svcAnnotations:  # optional. See Known issue 243599452.
    networking.gke.io/load-balancer-type: "Internal"
  svcLoadBalancerIP: 198.252.0.123 
  • INGRESS_NAME は、Ingress ゲートウェイ デプロイの名前です。次の要件を満たす任意の名前を使用できます。
    • 最大文字数が 17 文字
    • 小文字の英数字、「-」、「.」のみを使用する
    • 先頭が英数字である
    • 末尾が英数字である

    構成プロパティ リファレンスの ingressGateways[].name をご覧ください。

  • REPLICAS_MINREPLICAS_MAX は、インストールにおける Apigee Ingress ゲートウェイの最小レプリカ数と最大レプリカ数です。構成プロパティ リファレンスの ingressGateways[].replicaCountMiningressGateways[].replicaCountMax をご覧ください。
  • CPU_COUNT_REQMEMORY_REQ は、インストール環境における Apigee Ingress ゲートウェイの各レプリカに対する CPU とメモリのリクエストです。

    構成プロパティ リファレンスの ingressGateways[].resources.requests.cpuingressGateways[].resources.requests.memory をご覧ください。

  • CPU_COUNT_LIMITMEMORY_LIMIT インストール環境での Apigee Ingress ゲートウェイの各レプリカに対する最大 CPU とメモリの制限。

    構成プロパティ リファレンスの ingressGateways[].resources.limits.cpuingressGateways[].resources.limits.memory をご覧ください。

  • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE(省略可):

    これは、デフォルトの Ingress サービスのアノテーションを提供する Key-Value ペアです。アノテーションは、ハイブリッド インストールの構成をサポートするために、クラウド プラットフォームが使用します。たとえば、ロードバランサのタイプを内部または外部に設定する場合などです。次に例を示します。

    ingressGateways:
      svcAnnotations:
        networking.gke.io/load-balancer-type: "Internal"

    アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。

    構成プロパティ リファレンスの ingressGateways[].svcAnnotations をご覧ください。
  • SVC_LOAD_BALANCER_IP(省略可)。ロードバランサの IP アドレスの指定をサポートするプラットフォームでは、この IP アドレスを使用してロードバランサが作成されます。ロードバランサの IP アドレスを指定できないプラットフォームでは、このプロパティは無視されます。 構成プロパティ リファレンスの ingressGateways[].svcLoadBalancerIP をご覧ください。

Apigee Ingress ゲートウェイ構成を適用する

apigeectl を使用して、組織スコープに変更を適用します。

$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --org

管理タスク

Apigee Ingress ゲートウェイの一般的な管理タスク:

ASM への構成のプロビジョニングを停止する

Apigee ハイブリッド v1.8 にアップグレードし、トラフィックを Apigee Ingress ゲートウェイに移行した後は、Anthos Service Mesh へのルーティング構成のプロビジョニングを停止できます。

  1. API サーバー内の Anthos Service Mesh CR オブジェクトの更新を停止するには、Apigee コントローラを更新します。オーバーライド ファイルで次のように設定します。

    ao:
      args:
        disableIstioConfigInAPIServer: true
  2. 構成の変更を適用します。

    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
    

    詳細については、構成プロパティのリファレンスの ao をご覧ください。

  3. 前のコマンドでは、コントローラが再起動したので、次のコマンドを使用してデプロイのステータスを確認します。
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  4. virtualhosts を更新します。すべての仮想ホストに、値 app: apigee-ingressgateway を持つ app セレクタラベルを含める必要があります。この変更により、Anthos Service Mesh ゲートウェイは Apigee ルーティング構成を読み取ることができなくなります。

    次のように、各仮想ホストで selector プロパティを追加または置き換えます。

    virtualhosts:
    - name: ENV_GROUP
      selector:
        app: apigee-ingressgateway # required
      ...
    

    構成の変更を適用します。

    $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
    

    詳細については、構成プロパティ リファレンスの virtualhosts.selector をご覧ください。

Apigee Ingress ゲートウェイのスケーリング:

オーバーライド ファイルで次のプロパティを更新します。

  • ingressGateways[].replicaCountMax
  • ingressGateways[].replicaCountMin

詳細については、構成プロパティのリファレンスの ingressGateways をご覧ください。

apigeectl apply --org を使用して変更を適用します。

リソース割り当ての更新

オーバーライド ファイルで次のプロパティを更新します。

  • ingressGateways[].resources.limits.cpu
  • ingressGateways[].resources.limits.memory
  • ingressGateways[].resources.requests.cpu
  • ingressGateways[].resources.requests.memory

詳細については、構成プロパティのリファレンスの ingressGateways をご覧ください。

apigeectl apply --org を使用して変更を適用します。

Apigee Ingress ゲートウェイ サービスの更新

オーバーライド ファイルで次のプロパティを更新します。

  • ingressGateways[].svcAnnotations
  • ingressGateways[].svcLoadBalancerIP

詳細については、構成プロパティのリファレンスの ingressGateways をご覧ください。

apigeectl apply --org を使用して変更を適用します。

デフォルトの Apigee Ingress ゲートウェイ サービスのロードバランサを無効にする

Ingress ゲートウェイ デプロイ用のカスタム Kubernetes Service を作成すると、デフォルトの Kubernetes Service でのロードバランサの作成を無効にできます。オーバーライド ファイルで ingressGateways[].svcType プロパティを ClusterIP に更新します。次に例を示します。

ingressGateways:
  - name: my-ingress-gateway
    replicaCountMin: 2
    replicaCountMax: 10
    svcType: ClusterIP

apigeectl apply --org を使用して変更を適用します。

TLS と mTLS の構成

Ingress ゲートウェイでの TLS と mTLS の構成をご覧ください。

SNI 以外のクライアントの有効化

SNI 以外のクライアントと HTTP クライアントを有効にするをご覧ください。

Apigee Ingress ゲートウェイの追加インストール

overrides.yaml ファイルで、複数の Ingress ゲートウェイを追加できます。ingressGateways 構成プロパティは配列です。詳細については、構成プロパティ リファレンスの ingressGateways をご覧ください。

次に例を示します。

ingressGateways:
- name: fruit
  replicaCountMin: 2
  replicaCountMax: 10

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

apigeectl apply --org を使用して変更を適用します。

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

オーバーライド ファイルで、ラベル付けされた Apigee Ingress ゲートウェイのターゲットを特定の仮想ホストに設定できます。 この構成により、Apigee が仮想ホストの構成を適用する Ingress ゲートウェイが指定されます。次の例では、仮想ホスト spam-vhmeat というラベルの付いた Ingress ゲートウェイを使用するように構成されています。他の 2 つの仮想ホストは fruit Ingress ゲートウェイを使用します。追加の Anthos Service Mesh ゲートウェイをインストールするで説明されているように、Ingress ゲートウェイには適切なラベルを付ける必要があります。

virtualhosts:
- name: spam-vh
  sslCertPath: cert-spam.crt
  sslKeyPath: cert-spam.key
  selector:
    app: apigee-ingressgateway
    ingress_name: meat
- name: banana-vh
  sslCertPath: cert-banana.crt
  sslKeyPath: cert-banana.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit
- name: plum-vh
  sslCertPath: cert-plum.crt
  sslKeyPath: cert-plum.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit
  
    

よくある質問

別の名前空間にある既存の Anthos Service Mesh / Istio インストールではどのように機能しますか?
Apigee が専用の名前空間にインストールされている限り、Apigee Ingress ゲートウェイはクラスタ内の既存の Anthos Service Mesh / Istio のインストールと並行して実行できます。Apigee Ingress ゲートウェイは apiserver に構成を保存していないため、競合は発生しません。
Apigee Ingress ゲートウェイ コンポーネントのアップグレードの担当者は誰ですか?
Apigee Ingress ゲートウェイ コンポーネントのアップグレードは Apigee によって処理され、定期的なハイブリッド アップグレードとパッチリリース時に行われます。
Apigee Ingress ゲートウェイでポート 80 を公開するにはどうすればよいですか?
ポート 80 は Apigee Ingress ゲートウェイではサポートされていません。Anthos Service Mesh から Apigee Ingress ゲートウェイに移行し、コミュニティ投稿の手順に沿ってポート 80 を有効にしても、Apigee Ingress ゲートウェイでは動作しません。