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.
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 ゲートウェイ構成を適用する
組織スコープに変更を適用します。
Helm
helm upgrade ORG_NAME apigee-org/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --org
管理タスク
Apigee Ingress ゲートウェイの一般的な管理タスク:
Apigee Ingress ゲートウェイのスケーリング:
オーバーライド ファイルで次のプロパティを更新します。
ingressGateways[].replicaCountMaxingressGateways[].replicaCountMin
詳細については、構成プロパティのリファレンスの ingressGateways をご覧ください。
変更を適用します。
Helm
helm upgrade ORG_NAME apigee-org/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --org
リソース割り当ての更新
オーバーライド ファイルで次のプロパティを更新します。
ingressGateways[].resources.limits.cpuingressGateways[].resources.limits.memoryingressGateways[].resources.requests.cpuingressGateways[].resources.requests.memory
詳細については、構成プロパティのリファレンスの ingressGateways をご覧ください。
変更を適用します。
Helm
helm upgrade ORG_NAME apigee-org/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --org
Apigee Ingress ゲートウェイ サービスの更新
オーバーライド ファイルで次のプロパティを更新します。
ingressGateways[].svcAnnotationsingressGateways[].svcLoadBalancerIP
詳細については、構成プロパティのリファレンスの ingressGateways をご覧ください。
変更を適用します。
Helm
helm upgrade ORG_NAME apigee-org/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --org
デフォルトの Apigee Ingress ゲートウェイ サービスのロードバランサを無効にする:
Ingress ゲートウェイ デプロイ用のカスタム Kubernetes Service を作成すると、デフォルトの Kubernetes Service でのロードバランサの作成を無効にできます。オーバーライド ファイルで ingressGateways[].svcType プロパティを ClusterIP に更新します。次に例を示します。
ingressGateways:
- name: my-ingress-gateway
replicaCountMin: 2
replicaCountMax: 10
svcType: ClusterIP変更を適用します。
Helm
helm upgrade ORG_NAME apigee-org/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --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
変更を適用します。
Helm
helm upgrade ORG_NAME apigee-org/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --org
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
Apigee Ingress ゲートウェイ デプロイへのカスタム暗号スイートの追加
オーバーライド ファイルで virtualhosts.cipherSuites プロパティを使用して、Apigee Ingress ゲートウェイ デプロイにカスタム暗号スイートを追加できます。
Apigee ハイブリッドで有効になっているデフォルトの暗号スイートについては、virtualhosts.cipherSuites をご覧ください。
virtualhosts.minTLSProtocolVersion プロパティを使用して古いバージョンの TLS を有効にし、オーバーライド ファイルで virtualhosts.cipherSuites プロパティを使用して、Apigee Ingress ゲートウェイ デプロイにカスタム暗号スイートを追加できます。
TLS v.1.1 を有効にする例:
virtualhosts: - name: ENV_GROUP_NAME minTLSProtocolVersion: "1.1" cipherSuites: - "ECDHE-ECDSA-AES128-GCM-SHA256" - "ECDHE-RSA-AES128-GCM-SHA256" - "ECDHE-ECDSA-AES256-GCM-SHA384" - "ECDHE-RSA-AES256-GCM-SHA384" - "ECDHE-ECDSA-CHACHA20-POLY1305" - "ECDHE-RSA-CHACHA20-POLY1305" - "ECDHE-ECDSA-AES128-SHA" - "ECDHE-RSA-AES128-SHA" - "ECDHE-ECDSA-AES256-SHA" - "ECDHE-RSA-AES256-SHA" ...
Ingress アクセスログのカスタマイズ
istiod.accessLogFile と istiod.accessLogFormat の構成プロパティを使用して、Apigee Ingress ゲートウェイのアクセスログの宛先と形式をカスタマイズできます。次の例では、出力は /dev/stdout に送信されます。これは istiod.accessLogFile のデフォルト値です。
istiod:
accessLogFormat: '{"request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","status":"%RESPONSE_CODE%"}'
Apigee Ingress ゲートウェイのアクセス ロギングを無効にするには、istiod.accessLogFile と空の値を割り当てます。次に例を示します。
istiod: accessLogFile: ''
よくある質問
- 別の Namespace にある既存の Anthos Service Mesh / Istio インストールではどのように機能しますか?
- Apigee が専用の Namespace にインストールされている限り、Apigee Ingress ゲートウェイはクラスタ内の既存の Anthos Service Mesh / Istio のインストールと並行して実行できます。Apigee Ingress ゲートウェイは apiserver に構成を保存していないため、競合は発生しません。
- Apigee Ingress ゲートウェイ コンポーネントのアップグレードの担当者は誰ですか?
- 定期的なハイブリッド アップグレードとパッチリリース時に行われる Apigee Ingress ゲートウェイ コンポーネントの Apigee Ingress ゲートウェイのアップグレードは、Apigee によって処理されます。
- Apigee Ingress ゲートウェイでポート 80 を公開するにはどうすればよいですか?
- ポート 80 は Apigee Ingress ゲートウェイではサポートされていません。Anthos Service Mesh から Apigee Ingress ゲートウェイに移行し、コミュニティ投稿の手順に沿ってポート 80 を有効にしても、Apigee Ingress ゲートウェイでは動作しません。