マイクロサービスエンジン (MSE) Ingressゲートウェイは、NGINX Ingressゲートウェイのコアおよび一般的なアノテーションをサポートします。 これにより、NGINX IngressゲートウェイからMSE Ingressゲートウェイへのシームレスな移行が容易になります。 MSE Ingressゲートウェイは、トラフィックガバナンスのための追加の注釈も提供します。 このトピックでは、MSE Ingressゲートウェイでサポートされるアノテーションについて説明します。
背景情報
Ingressリソースは、Kubernetesクラスター内のサービスが外部アクセスにどのように公開されるかを管理するために使用されます。 クラウドネイティブ分散アプリケーションの数が増加するにつれて、Kubernetes標準で定義されているIngressリソースがユーザーのトラフィック管理要件を満たすことができなくなります。 さまざまなシナリオでIngress機能の要件を満たすために、Ingressコントローラーの開発チームはカスタムアノテーションの定義を開始しました。 主流のNGINX Ingressコントローラに対して100を超えるアノテーションが定義されています。
MSE Ingressゲートウェイは、NGINX Ingressゲートウェイの共通およびコアアノテーションをサポートしており、ビジネスをKubernetesエコシステムに統合できます。 これにより、NGINX IngressゲートウェイからMSE Ingressゲートウェイへのシームレスな移行が容易になります。 MSE Ingressゲートウェイは、応答性を向上させるためのトラフィックガバナンスの追加アノテーションも提供します。
概要
Kubernetes標準で定義されているIngressリソースは、Transport Layer Security (TLS) 暗号化通信とレイヤー7 HTTPトラフィックの単純なルーティングのみを提供します。 ほとんどの場合、Ingressコントローラーは注釈を使用して、トラフィックガバナンスとセキュリティ保護の観点からIngress機能を強化します。
サポートされているIngressアノテーション
NGINX Ingressアノテーション
NGINX IngressゲートウェイからMSE Ingressゲートウェイへのシームレスな移行を容易にするために、MSE IngressゲートウェイはほとんどのNGINX Ingressアノテーションをサポートしています。 次の表に、NGINX Ingressアノテーションのサポートステータスを示します。
NGINX Ingressアノテーション | 注釈の総数 | 説明 |
サポートされる注釈 | 51 | シナリオの90% に適しています。 |
機能に影響を与えないアノテーション | 15 | 設定は必要ありません。 |
サポート対象の注釈 | 48 | いくつかのシナリオでサポートされます。 |
サポートされていない注釈 | 5 | NGINX Ingressゲートウェイのコードスニペットに関与します。 |
機能を実装するためのMSEのコードは、NGINXのコードとは異なります。
MSEのNGINX Ingressアノテーションとコードスニペットで設定されているNGINX変数は、NGINXの変数と互換性がありません。
NGINX Ingress Controllerでは、
nginx.ingress.kubernetes.io/proxy-body-size
アノテーションを使用して、クライアント要求本文の最大許容サイズを設定します。 リクエストボディが指定された制限を超えると、NGINXはエラーを報告します。 比較すると、MSEクラウドネイティブゲートウェイは、データ送信にチャンク転送エンコーディングを採用しています。 このアプローチは、リクエストボディのサイズを事前設定する必要なしに、大きなリクエストボディを自動的にチャンクに分割します。 大きなファイルを転送するには、MSEゲートウェイの [パラメーター設定] ウィンドウでDownstreamConnectionBufferLimitsパラメーターの設定を変更します。
MSE Ingressアノテーション
MSE Ingressゲートウェイは、トラフィックガバナンスのための追加の注釈を提供します。 次の表に、MSEによって提供される追加アノテーションのサポートステータスを示します。
MSE Ingressアノテーション | 注釈の総数 | 説明 |
拡張アノテーション | 40 | NGINX Ingressアノテーションに加えて、MSE Ingressゲートウェイは、トラフィックガバナンスとセキュリティ保護を強化するための追加のアノテーションを提供します。 |
スコープの説明
Ingress: このスコープのアノテーションは、使用するIngressリソースで定義されているルーティングルールに適用されます。
ドメイン名: このスコープの注釈は、使用するIngressリソースによって定義されたホストに適用されます。 このスコープは、他のIngressリソースの同じホストでも有効になります。
サービス: このスコープの注釈は、使用するIngressリソースによって定義されたサービスに適用されます。 注釈は、他のIngressリソースの同じサービスにも有効です。
注釈プレフィックス
MSE Ingressゲートウェイは、NGINX Ingressゲートウェイでサポートされている関連するアノテーションと同じ機能を持つアノテーションを提供します。 たとえば、nginx ingress Gatewayによって提供される注釈NGINX. ingress.kubernetes.io/xxx
の機能は、mse ingress Gatewayによって提供される注釈MSE. Ingress. kubernetes.io/xxx
の機能と同じです。 使用習慣に基づいて、nginx
またはmse
ビジネスドメインプレフィックスを使用できます。 ただし、mse Ingressゲートウェイによって排他的に提供されるアノテーションのMSEプレフィックスは、nginxプレフィックスに置き換えることはできません。
サポートされる注釈
このセクションでは、トラフィックガバナンスとセキュリティ保護の観点からサポートされている注釈について説明します。
トラフィックガバナンス
カナリアリリース
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io /カナリア | Ingress | 互換性あり | カナリアリリース機能を有効にするかどうかを指定します。 |
nginx.ingress.kubernetes.io/canary-by-header | Ingress | 互換性あり | トラフィック分割に使用する |
nginx.ingress.kubernetes.io/canary-by-header-value | Ingress | 互換性あり | トラフィック分割に使用する |
nginx.ingress.kubernetes.io/canary-by-header-pattern | Ingress | 互換性あり | トラフィック分割に使用する |
mse.ingress.kubernetes.io/canary-by-query | Ingress | MSE-exclusive | トラフィック分割に使用する |
mse.ingress.kubernetes.io/canary-by-query-value | Ingress | MSE-exclusive | トラフィック分割に使用する |
mse.ingress.kubernetes.io/canary-by-query-pattern | Ingress | MSE-exclusive | トラフィック分割に使用する |
nginx.ingress.kubernetes.io/canary-by-cookie | Ingress | 互換性あり | トラフィック分割に使用される |
mse.ingress.kubernetes.io/canary-by-cookie-value | Ingress |
| トラフィック分割に使用される |
nginx.ingress.kubernetes.io/canary-weight | Ingress | 互換性あり | トラフィック分割に使用されるサービスの重みを指定します。 |
nginx.ingress.kubernetes.io/canary-weight-total | Ingress | 互換性あり | 合計の重みを指定します。 |
マルチサービス
注釈 | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/destination | Ingress | MSE-exclusive | ルートの重みベースのサービス分布を指定します。 設定構文は 説明
|
サンプル構文:
annotations:
# 60% of traffic is routed to the foo service and 40% of traffic is routed to the bar service.
mse.ingress.kubernetes.io/destination: |
60% foo.default.svc.cluster.local:8080
40% bar.default.svc.cluster.local:9090
サービスサブセット
注釈 | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/service-subset | Ingress |
| サービスサブセットは、1つのサービスが複数の展開を管理するシナリオに適しています。 サービスサブセットは、Ingressの構成に基づいて要求が転送されるサービスポッドのサブセットです。
説明 サービスに指定されたラベルのポッドが含まれていない場合、リクエストはサービスのすべてのポッドに自動的に転送されます。 |
mse.ingress.kubernetes.io /サブセットラベル | Ingress |
| 必要に応じて、 このアノテーションを |
フォールバック
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/default-backend | Ingress | 互換性あり | フォールバックサービスを指定します。 Ingressルールで定義されたサービスで使用できるノードがない場合、リクエストは自動的にフォールバックサービスに転送されます。 |
nginx.ingress.kubernetes.io/custom-http-errors | Ingress | 互換性あり | このアノテーションは、 重要 リクエストがフォールバックサービスに転送されると、リクエストのパスはスラッシュ (/) に書き換えられます。 この動作は、 |
Regexマッチ
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/use-regex | Ingress | 互換性あり | 正規表現を使用して、Ingressで定義されたパスと一致させるかどうかを指定します。 正規表現はRE2構文を使用します。 |
書き換え
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io /書き換え対象 | Ingress | 互換性あり | 書き換え操作の宛先パスを指定します。 |
nginx.ingress.kubernetes.io/upstream-vhost | Ingress | 互換性あり | 書き換え先ホストを指定します。 IngressリソースのCustomResourceDefinition (CRD) と一致するルートリクエストがバックエンドサービスに転送された場合、システムはリクエストヘッダーのホスト値を指定された値に変更します。 |
リダイレクト
NGINXは、NGINX Ingressよりも幅広い機能を提供します。 リダイレクトのためのNGINX変数の使用は、いくつかのNGINX Ingressバージョンでサポートされ得る。 ただし、この機能についてはAnnotationsのドキュメントには記載されていません。 リダイレクトにNGINX変数を使用すると、非互換性の問題が発生する可能性があります。 NGINX IngressのリダイレクトにはNGINX変数を使用しないことを推奨します。
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/ssl-リダイレクト | Ingress | 互換性あり | HTTPをHTTPSにリダイレクトするかどうかを指定します。 |
nginx.ingress.kubernetes.io/force-ssl-redirect | Ingress | 互換性あり | HTTPを強制的にHTTPSにリダイレクトするかどうかを指定します。 |
nginx.ingress.kubernetes.io/permanent-redirect | Ingress | 互換性あり | 永久リダイレクトを指定します。 |
nginx.ingress.kubernetes.io/permanent-redirect-code | Ingress | 互換性あり | 永久リダイレクトに使用されるステータスコードを指定します。 |
nginx.ingress.kubernetes.io /一時リダイレクト | Ingress | 互換性あり | 一時的なリダイレクトを指定します。 |
nginx.ingress.kubernetes.io/app-root | Ingress | 互換性あり | リダイレクトの宛先アプリケーションのルートパスを指定します。 このアノテーションは、指定されたパスから /へリクエストをリダイレクトするために使用されます。 |
CORS
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/enable-cors | Ingress | 互換性あり | クロスオリジンリソース共有 (CORS) を有効にするかどうかを指定します。 |
nginx.ingress.kubernetes.io/cors-allow-origin | Ingress | 互換性あり | CORSに許可されるサードパーティのサイトを指定します。 |
nginx.ingress.kubernetes.io/cors-allow-methods | Ingress | 互換性あり | CORSに許可されるリクエストメソッドを指定します。 許可されているリクエストメソッドには、GET、POST、およびPUTが含まれます。 |
nginx.ingress.kubernetes.io/cors-allow-headers | Ingress | 互換性あり | CORSに許可されるリクエストヘッダーを指定します。 |
nginx.ingress.kubernetes.io/cors-expose-headers | Ingress | 互換性あり | ブラウザーに公開される許可された応答ヘッダーを指定します。 |
nginx.ingress.kubernetes.io/cors-allow-credentials | Ingress | 互換性あり | 資格情報をCORSリクエストに含めることができるかどうかを指定します。 |
nginx.ingress.kubernetes.io/cors-max-age | Ingress | 互換性あり | 事前チェック結果がキャッシュされる最大期間を指定します。 |
ヘッダー制御
ベースルートに対して定義されたヘッダ制御関連の注釈およびカナリアルートに対して定義されたヘッダ制御関連の注釈は、互いに独立しており、別々に検証される。 ヘッダー制御機能を使用して、ベースルートのリクエストとカナリアルートのリクエストに対して異なるヘッダー制御ポリシーを設定できます。
注釈 | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/request-header-control-add | Ingress | MSE-exclusive | リクエストがバックエンドサービスに転送されるときにリクエストに追加されるヘッダーを指定します。 ヘッダーが存在する場合、その値は元の値の後に連結されます。 次の構文が使用されます。
|
mse.ingress.kubernetes.io/request-header-control-update | Ingress | MSE-exclusive | リクエストがバックエンドサービスに転送されるときにリクエストで変更されるヘッダーを指定します。 ヘッダーが存在する場合、その値は元の値を上書きします。 次の構文が使用されます。
|
mse.ingress.kubernetes.io/request-header-control-remove | Ingress | MSE-exclusive | リクエストがバックエンドサービスに転送されたときにリクエストから削除されるヘッダーを指定します。 次の構文が使用されます。
|
mse.ingress.kubernetes.io/response-header-control-add | Ingress | MSE-exclusive | 応答がクライアントに転送される前に、バックエンドサービスから受信した応答に追加されるヘッダーを指定します。 ヘッダーが存在する場合、その値は元の値の後に連結されます。 次の構文が使用されます。
|
mse.ingress.kubernetes.io/response-header-control-update | Ingress | MSE-exclusive | 応答がクライアントに転送される前にバックエンドサービスから受信した応答で変更されるヘッダーを指定します。 ヘッダーが存在する場合、その値は元の値を上書きします。 次の構文が使用されます。
|
mse.ingress.kubernetes.io/response-header-control-remove | Ingress | MSE-exclusive | 応答がクライアントに転送される前に、バックエンドサービスから受信した応答から削除されるヘッダーを指定します。 次の構文が使用されます。
|
タイムアウト
注釈 | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io /タイムアウト | Ingress | MSE-exclusive | リクエストのタイムアウト期間を指定します。 単位は秒です。 デフォルトでは、タイムアウト期間は設定されていません。 説明 タイムアウト設定は、トランスポート層のTCPではなく、アプリケーション層に対して有効になります。 |
再試行
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/proxy-next-upstream-tries | Ingress | 互換性あり | リクエストの再試行の最大回数を指定します。 デフォルト値: 3。 |
nginx.ingress.kubernetes.io/proxy-next-upstream-timeout | Ingress | 互換性あり | リクエストの再試行のタイムアウト期間を指定します。 単位は秒です。 デフォルトでは、タイムアウト期間は設定されていません。 |
nginx.ingress.kubernetes.io/proxy-next-upstream | Ingress | 互換性あり | リトライ条件を指定します。 詳細については、「NGINXの再試行メカニズム」をご参照ください。 |
トラフィックミラーリング
注釈 | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/mirror-target-service | Ingress | MSE-exclusive | ミラーリングされたトラフィックが転送される宛先サービスを指定します。 形式はnamespace/name:portです。
|
mse.ingress.kubernetes.io /ミラーパーセンテージ | Ingress |
| ミラーリングされたトラフィックの割合を指定します。 有効な値: 0-100 デフォルト値:100 |
ドメインエイリアス
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/server-alias | ドメイン |
| Ingress仕様で定義されているドメインエイリアスを指定します。 ドメインエイリアスは、ソースドメインのトランスポート層セキュリティ (TLS) 、ルーティング、およびトラフィックガバナンスに関連する設定を共有します。 |
シングルゲートウェイ調整 (非推奨)
注釈 | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/route-limit-rpm | Ingress | MSE-exclusive | ゲートウェイでルーティングされる1分あたりの最大リクエスト数 (RPM) を指定します。 バースト制限は、指定された値に スロットリングがトリガーされると、応答本文の内容は
|
mse.ingress.kubernetes.io/route-limit-rps | Ingress | MSE-exclusive | ゲートウェイでルーティングされる1秒あたりの最大リクエスト数 (RPS) を指定します。 バースト制限は、指定された値に スロットリングがトリガーされると、応答本文の内容は
|
mse.ingress.kubernetes.io/route-limit-burst-multiplier | Ingress | MSE-exclusive | バースト制限の乗数を指定します。 既定値:5 |
(推奨) グローバルスロットル制御
注釈 | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/rate-limit | Ingress |
| ゲートウェイでルーティングされるRPSの最大数を指定します。 このアノテーションはグローバルスロットリングに使用されます。 |
mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-code | Ingress |
| Ingressによって定義されたルートでスロットリングがトリガーされたときのレスポンスコードを指定します。 デフォルト値: 429 説明 このアノテーションは、mse.ingress.kubernetes.io/rate-limit-fallback-redirect-urlアノテーションと相互に排他的です。 2つのアノテーションのいずれかを指定する必要があります。 |
mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body-type | Ingress |
| Ingressによって定義されたルートでスロットリングがトリガーされたときのレスポンスボディの形式を指定します。 デフォルト値: text。
|
mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body | Ingress |
| Ingressによって定義されたルートでスロットリングがトリガーされたときのレスポンスボディを指定します。 デフォルト値: センチネル率制限。 |
mse.ingress.kubernetes.io/rate-limit-fallback-redirect-url | Ingress |
| Ingressによって定義されたルートでスロットリングがトリガーされたときのリダイレクトURLを指定します。 説明 このアノテーションは、mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-codeアノテーションと相互に排他的です。 2つのアノテーションのいずれかを指定する必要があります。 |
グローバル同時実行制御
注釈 | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io /同時実行制限 | Ingress |
| 同時に処理できるリクエストの最大数を指定します。 このアノテーションは、ゲートウェイ内のルートのグローバル同時実行制御に使用されます。 |
mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-code | Ingress |
| Ingressによって定義されたルートで同時実行制御がトリガーされたときのレスポンスコードを指定します。 デフォルトの応答コードは429です。 説明 このアノテーションは、mse.ingress.kubernetes.io/concurrency-limit-fallback-redirect-urlアノテーションと相互に排他的です。 2つのアノテーションのいずれかを指定する必要があります。 |
mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body-type | Ingress |
| Ingressによって定義されたルートが同時実行制御をトリガーするときのレスポンス本文の形式を指定します。 デフォルト値: text。
|
mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body | Ingress |
| Ingressによって定義されたルートが同時実行制御をトリガーするときのレスポンス本文を指定します。 デフォルト値: センチネル率制限。 |
mse.ingress.kubernetes.io/concurrency-limit-fallback-redirect-url | Ingress |
| Ingressによって定義されたルートが同時実行制御をトリガーする場合のリダイレクトURLを指定します。 説明 このアノテーションは、mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-codeアノテーションと相互に排他的です。 2つのアノテーションのいずれかを指定する必要があります。 |
バックエンドプロトコル
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/backend-protocol | サービス | 部分的に互換性があります。 AJPとFCGIはサポートされていません。 | バックエンドサービスで使用されるプロトコルを指定します。 デフォルト値: HTTP。 有効な値:
|
負荷分散
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io /ロードバランス | サービス | 部分的に互換性があります。 | バックエンドサービスで使用される一般的な負荷分散アルゴリズムを指定します。 デフォルト値は
|
nginx.ingress.kubernetes.io/upstream-hash-by | サービス | 部分的に互換性があります。 NGINX変数と定数の組み合わせはサポートされていません。 | コンシステントハッシュ負荷分散アルゴリズムを指定します。 MSE Ingressゲートウェイは、以下のタイプのコンシステントハッシングをサポートします。
|
サービスのプリフェッチ (graceful start)
注釈 | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/warmup | サービス | MSE-exclusive | サービスがプリフェッチされる期間を指定します。 単位は秒です。 デフォルトでは、サービスプリフェッチ機能は無効になっています。 重要 サービスプリフェッチは、選択した負荷分散アルゴリズムに依存します。 ラウンドロビンおよび最小接続に基づく負荷分散アルゴリズムのみがサポートされています。 |
クッキー親和性
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/affinity | サービス | 互換性あり | affinity型を指定します。 デフォルトの有効な値は |
nginx.ingress.kubernetes.io/affinity-mode | サービス | 部分的に互換性があります。 | affinityモードを指定します。 デフォルトおよび有効な値のみが |
nginx.ingress.kubernetes.io/session-cookie-name | サービス | 互換性あり | ハッシュキーとして使用されるcookieの名前を指定します。 |
nginx.ingress.kubernetes.io/session-cookie-path | サービス | 互換性あり | 指定されたcookieが存在しない場合に生成されるcookieのパスを指定します。 デフォルト値: |
nginx.ingress.kubernetes.io/session-cookie-max-age | サービス | 互換性あり | 指定されたcookieが存在しない場合に生成されるcookieの有効期限を指定します。 単位は秒です。 デフォルトでは、このアノテーションはセッションレベルで指定されます。 |
nginx.ingress.kubernetes.io/session-cookie-expires | サービス | 互換性あり | 指定されたcookieが存在しない場合に生成されるcookieの有効期限を指定します。 単位は秒です。 デフォルトでは、このアノテーションはセッションレベルで指定されます。 |
IPアドレスベースのアクセス制御
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/whitelist-source-range | Ingress | 互換性あり | 特定のルートのIPアドレスホワイトリストを指定します。 IPアドレスとCIDRブロックがサポートされています。 IPアドレスまたはCIDRブロックはコンマ (,) で区切ります。 |
nginx.ingress.kubernetes.io/denylist-source-range | Ingress |
| 特定のルートのIPアドレスブラックリストを指定します。 IPアドレスとCIDRブロックがサポートされています。 IPアドレスまたはCIDRブロックはコンマ (,) で区切ります。 説明 このアノテーションは、MSE排他的アノテーションmse.ingress.kubernetes.io/blacklist-source-rangeよりも優先されます。 |
mse.ingress.kubernetes.io/blacklist-source-range | Ingress | MSE-exclusive | 特定のルートのIPアドレスブラックリストを指定します。 IPアドレスとCIDRブロックがサポートされています。 IPアドレスまたはCIDRブロックはコンマ (,) で区切ります。 |
mse.ingress.kubernetes.io/domain-whitelist-source-range | Ingress | MSE-exclusive | 特定のドメイン名のIPアドレスホワイトリストを指定します。 ルートレベルのIPアドレスホワイトリストは、ドメイン名レベルのIPアドレスホワイトリストよりも優先されます。 IPアドレスとCIDRブロックがサポートされています。 IPアドレスまたはCIDRブロックはコンマ (,) で区切ります。 |
mse.ingress.kubernetes.io /ドメイン-blacklist-source-range | Ingress | MSE-exclusive | 特定のドメイン名のIPアドレスブラックリストを指定します。 ルートレベルのIPアドレスブラックリストは、ドメイン名レベルのIPアドレスブラックリストよりも優先されます。 IPアドレスとCIDRブロックがサポートされています。 IPアドレスまたはCIDRブロックはコンマ (,) で区切ります。 |
ゲートウェイとバックエンドサービス間の接続プールの設定
注釈 | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/connection-policy-tcp-max-connection | サービス | MSE-exclusive | ゲートウェイとバックエンドサービスの間に確立できる接続の最大数を指定します。 |
mse.ingress.kubernetes.io/connection-policy-tcp-max-connection-per-endpoint | サービス | MSE-exclusive | ゲートウェイとバックエンドサービスの単一ノード間に確立できる接続の最大数を指定します。 |
mse.ingress.kubernetes.io/connection-policy-http-max-request-per-connection | サービス | MSE-exclusive | ゲートウェイとバックエンドサービス間の1つの接続でのリクエストの最大数を指定します。 |
セキュリティ保護
クライアントとゲートウェイ間の暗号化通信
注釈 | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/tls-min-protocol-version | ドメイン名 | MSE-exclusive | TLSの最小バージョンを指定します。 デフォルト値: TLSv1.0。 有効な値:
|
mse.ingress.kubernetes.io/tls-max-protocol-version | ドメイン名 | MSE-exclusive | TLSの最大バージョンを指定します。 デフォルト値: TLSv1.3. 有効な値:
|
nginx.ingress.kubernetes.io/ssl-cipher | ドメイン名 | 互換性あり | TLS暗号スイートを指定します。 カンマ (,) で区切られた複数のTLS暗号スイートを指定できます。 このパラメーターは、TLSハンドシェイク中にv1.0からv1.2までのTLSバージョンが使用されている場合にのみ有効です。 デフォルトの暗号スイート:
|
mse.ingress.kubernetes.io/auth-tls-secret | ドメイン名 | 部分的に互換性があります。 形式は、(ドメイン名証明書が属するシークレットの名前) | ゲートウェイが相互TLS (mTLS) ハンドシェイク中にクライアントによって提供された証明書を検証するために使用するCA証明書を指定します。 この注釈は、ゲートウェイがクライアントのIDを検証する必要があるシナリオに適しています。 |
ゲートウェイとバックエンドサービス間の暗号化された通信
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/proxy-ssl-secret | サービス | 互換性あり | ゲートウェイによって使用されるクライアント証明書を指定します。 クライアント証明書は、バックエンドサービスがゲートウェイを認証するために使用されます。 |
nginx.ingress.kubernetes.io/proxy-ssl-name | サービス | 互換性あり | TLSハンドシェイク中に使用されるサーバー名表示 (SNI) を指定します。 |
nginx.ingress.kubernetes.io/proxy-ssl-server-name | サービス | 互換性あり | TLSハンドシェイク中に使用されるSNIを有効にするかどうかを指定します。 |
認証
Basic
注釈 | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/auth-type | Ingress | 部分的に互換性があります。 基本認証タイプのみがサポートされています。 | 認証タイプを指定します。 |
nginx.ingress.kubernetes.io/auth-secret | Ingress | 互換性あり | シークレットの名前を指定します。 形式は |
nginx.ingress.kubernetes.io/auth-secret-type | Ingress | 互換性あり | シークレットコンテンツの形式を指定します。 有効な値:
|
nginx.ingress.kubernetes.io/auth-realm | Ingress | 互換性あり | 認証レルムを指定します。 ユーザ名およびパスワードは、認証領域で共有される。 |
NGINX Ingressアノテーションの詳細については、「アノテーション」をご参照ください。