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_MIN と REPLICAS_MAX は、インストールにおける Apigee Ingress ゲートウェイの最小レプリカ数と最大レプリカ数です。構成プロパティ リファレンスの
ingressGateways[].replicaCountMin
とingressGateways[].replicaCountMax
をご覧ください。 - CPU_COUNT_REQ と MEMORY_REQ は、インストール環境における Apigee Ingress ゲートウェイの各レプリカに対する CPU とメモリのリクエストです。
構成プロパティ リファレンスの
ingressGateways[].resources.requests.cpu
とingressGateways[].resources.requests.memory
をご覧ください。 - CPU_COUNT_LIMIT と MEMORY_LIMIT インストール環境での Apigee Ingress ゲートウェイの各レプリカに対する最大 CPU とメモリの制限。
構成プロパティ リファレンスの
ingressGateways[].resources.limits.cpu
とingressGateways[].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 へのルーティング構成のプロビジョニングを停止できます。
-
API サーバー内の Anthos Service Mesh CR オブジェクトの更新を停止するには、Apigee コントローラを更新します。オーバーライド ファイルで次のように設定します。
ao: args: disableIstioConfigInAPIServer: true
- 前のコマンドではコントローラが再起動したので、次のコマンドを使用してデプロイのステータスを確認します。
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
-
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
をご覧ください。
構成の変更を適用します。
$APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
詳細については、構成プロパティのリファレンスの ao
をご覧ください。
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-vh
は meat
というラベルの付いた 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
よくある質問
- 別の Namespace にある既存の Anthos Service Mesh / Istio インストールではどのように機能しますか?
- Apigee が専用の Namespace にインストールされている限り、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 ゲートウェイでは動作しません。