マイクロサービスエンジン (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 のコードとは異なります。
NGINX Ingress アノテーションと MSE のコードスニペットで構成された 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 ゲートウェイが提供するアノテーション nginx.ingress.kubernetes.io/xxx の機能は、MSE Ingress ゲートウェイが提供するアノテーション mse.ingress.kubernetes.io/xxx の機能と同じです。使用習慣に基づいて、nginx または mse ビジネスドメインプレフィックスを使用できます。ただし、MSE Ingress ゲートウェイのみが提供するアノテーションの mse プレフィックスを nginx プレフィックスに置き換えることはできません。
サポートされているアノテーション
このセクションでは、トラフィックガバナンスとセキュリティ保護の観点から、サポートされているアノテーションについて説明します。
トラフィックガバナンス
カナリアリリース
アノテーション | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/canary | 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 専用 | トラフィック分割に使用する |
mse.ingress.kubernetes.io/canary-by-query-value | Ingress | MSE 専用 | トラフィック分割に使用する |
mse.ingress.kubernetes.io/canary-by-query-pattern | Ingress | MSE 専用 | トラフィック分割に使用する |
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 専用 | ルートの重みベースのサービス配信を指定します。 構成構文は 説明
|
構文例:
annotations:
# トラフィックの 60% は foo サービスにルーティングされ、40% は bar サービスにルーティングされます。
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/subset-labels | Ingress |
| オプション。このアノテーションを |
フォールバック
アノテーション | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/default-backend | Ingress | 互換 | フォールバックサービスを指定します。Ingress ルールで定義されているサービスに使用可能なノードがない場合、リクエストはフォールバックサービスに自動的に転送されます。 |
nginx.ingress.kubernetes.io/custom-http-errors | Ingress | 互換 | このアノテーションは、 重要 リクエストがフォールバックサービスに転送されると、リクエストのパスはスラッシュ (/) に書き換えられます。この動作は、 |
正規表現一致
アノテーション | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/use-regex | Ingress | 互換 | Ingress で定義されたパスを照合するために正規表現を使用するかどうかを指定します。正規表現は RE2 構文 を使用します。 |
書き換え
アノテーション | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/rewrite-target | Ingress | 互換 | 書き換え操作の宛先パスを指定します。 |
nginx.ingress.kubernetes.io/upstream-vhost | Ingress | 互換 | 書き換え操作の宛先ホストを指定します。Ingress リソースのカスタムリソース定義 (CRD) に一致するルートリクエストがバックエンドサービスに転送されると、システムはリクエストヘッダーのホスト値を指定された値に変更します。 |
リダイレクト
アノテーション | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/ssl-redirect | 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/temporal-redirect | 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 専用 | リクエストがバックエンドサービスに転送されるときにリクエストに追加されるヘッダーを指定します。ヘッダーが存在する場合、その値は元の値の後に連結されます。次の構文が使用されます。
|
mse.ingress.kubernetes.io/request-header-control-update | Ingress | MSE 専用 | リクエストがバックエンドサービスに転送されるときにリクエストで変更されるヘッダーを指定します。ヘッダーが存在する場合、その値は元の値を上書きします。次の構文が使用されます。
|
mse.ingress.kubernetes.io/request-header-control-remove | Ingress | MSE 専用 | リクエストがバックエンドサービスに転送されるときにリクエストから削除されるヘッダーを指定します。次の構文が使用されます。
|
mse.ingress.kubernetes.io/response-header-control-add | Ingress | MSE 専用 | レスポンスがクライアントに転送される前に、バックエンドサービスから受信したレスポンスに追加されるヘッダーを指定します。ヘッダーが存在する場合、その値は元の値の後に連結されます。次の構文が使用されます。
|
mse.ingress.kubernetes.io/response-header-control-update | Ingress | MSE 専用 | レスポンスがクライアントに転送される前に、バックエンドサービスから受信したレスポンスで変更されるヘッダーを指定します。ヘッダーが存在する場合、その値は元の値を上書きします。次の構文が使用されます。
|
mse.ingress.kubernetes.io/response-header-control-remove | Ingress | MSE 専用 | レスポンスがクライアントに転送される前に、バックエンドサービスから受信したレスポンスから削除されるヘッダーを指定します。次の構文が使用されます。
|
タイムアウト
アノテーション | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/timeout | Ingress | MSE 専用 | リクエストのタイムアウト期間を指定します。単位: 秒。デフォルトでは、タイムアウト期間は構成されていません。 説明 タイムアウト設定は、トランスポート層の 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 専用 | ミラーリングされたトラフィックの転送先サービスを指定します。フォーマットは namespace/name:port です。
|
mse.ingress.kubernetes.io/mirror-percentage | Ingress |
| ミラーリングされたトラフィックの割合を指定します。有効値: 0 ~ 100。デフォルト値: 100。 |
ドメインエイリアス
アノテーション | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/server-alias | ドメイン |
| Ingress spec で定義されているドメインエイリアスを指定します。ドメインエイリアスは、ソースドメインの Transport Layer Security (TLS)、ルーティング、およびトラフィックガバナンスに関連する構成を共有します。 |
シングルゲートウェイスロットリング (非推奨予定)
アノテーション | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/route-limit-rpm | Ingress | MSE 専用 | ゲートウェイでルーティングされる 1 分あたりのリクエストの最大数 (RPM) を指定します。バースト制限は、指定された値に スロットリングがトリガーされると、レスポンスボディのコンテンツは
|
mse.ingress.kubernetes.io/route-limit-rps | Ingress | MSE 専用 | ゲートウェイでルーティングされる 1 秒あたりのリクエストの最大数 (RPS) を指定します。バースト制限は、指定された値に スロットリングがトリガーされると、レスポンスボディのコンテンツは
|
mse.ingress.kubernetes.io/route-limit-burst-multiplier | Ingress | MSE 専用 | バースト制限の乗数を指定します。デフォルト値: 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 によって定義されたルートでスロットリングがトリガーされたときのレスポンスボディを指定します。デフォルト値: sentinel rate limited。 |
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/concurrency-limit | 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 によって定義されたルートで同時実行制御がトリガーされたときのレスポンスボディを指定します。デフォルト値: sentinel rate limited。 |
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/load-balance | サービス | 部分的に互換性あり。 | バックエンドサービスで使用される共通負荷分散アルゴリズムを指定します。デフォルト値は
|
nginx.ingress.kubernetes.io/upstream-hash-by | サービス | 部分的に互換性あり。NGINX 変数と定数の組み合わせはサポートされていません。 | 一貫したハッシュ負荷分散アルゴリズムを指定します。MSE Ingress ゲートウェイは、次のタイプの一貫したハッシュをサポートしています。
|
サービスプリフェッチ (グレースフルスタート)
アノテーション | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/warmup | サービス | MSE 専用 | サービスがプリフェッチされる期間を指定します。単位: 秒。デフォルトでは、サービスプリフェッチ機能は無効になっています。 重要 サービスプリフェッチは、選択した負荷分散アルゴリズムによって異なります。ラウンドロビンと最小接続に基づく負荷分散アルゴリズムのみがサポートされています。 |
Cookie アフィニティ
アノテーション | スコープ | サポート状況 | 説明 |
nginx.ingress.kubernetes.io/affinity | サービス | 互換 | アフィニティタイプを指定します。デフォルトおよび唯一の有効値は |
nginx.ingress.kubernetes.io/affinity-mode | サービス | 部分的に互換性あり。 | アフィニティモードを指定します。デフォルトおよび唯一の有効値は |
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 専用 | 特定のルートの IP アドレスブラックリストを指定します。IP アドレスと CIDR ブロックがサポートされています。IP アドレスまたは CIDR ブロックはコンマ (,) で区切ります。 |
mse.ingress.kubernetes.io/domain-whitelist-source-range | Ingress | MSE 専用 | 特定のドメイン名の IP アドレスホワイトリストを指定します。ルートレベルの IP アドレスホワイトリストは、ドメイン名レベルの IP アドレスホワイトリストよりも優先されます。IP アドレスと CIDR ブロックがサポートされています。IP アドレスまたは CIDR ブロックはコンマ (,) で区切ります。 |
mse.ingress.kubernetes.io/domain-blacklist-source-range | Ingress | MSE 専用 | 特定のドメイン名の IP アドレスブラックリストを指定します。ルートレベルの IP アドレスブラックリストは、ドメイン名レベルの IP アドレスブラックリストよりも優先されます。IP アドレスと CIDR ブロックがサポートされています。IP アドレスまたは CIDR ブロックはコンマ (,) で区切ります。 |
ゲートウェイとバックエンドサービス間の接続プールの構成
アノテーション | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/connection-policy-tcp-max-connection | サービス | MSE 専用 | ゲートウェイとバックエンドサービス間で確立できる接続の最大数を指定します。 |
mse.ingress.kubernetes.io/connection-policy-tcp-max-connection-per-endpoint | サービス | MSE 専用 | ゲートウェイとバックエンドサービスの単一ノード間で確立できる接続の最大数を指定します。 |
mse.ingress.kubernetes.io/connection-policy-http-max-request-per-connection | サービス | MSE 専用 | ゲートウェイとバックエンドサービス間の単一接続でのリクエストの最大数を指定します。 |
セキュリティ保護
クライアントとゲートウェイ間の暗号化通信
アノテーション | スコープ | サポート状況 | 説明 |
mse.ingress.kubernetes.io/tls-min-protocol-version | ドメイン名 | MSE 専用 | TLS の最小バージョンを指定します。デフォルト値: TLSv1.0。有効値:
|
mse.ingress.kubernetes.io/tls-max-protocol-version | ドメイン名 | MSE 専用 | TLS の最大バージョンを指定します。このパラメータを TLSv1.2 に設定することをお勧めします。有効値:
|
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 | 部分的に互換性あり。Basic 認証タイプのみがサポートされています。 | 認証タイプを指定します。 |
nginx.ingress.kubernetes.io/auth-secret | Ingress | 互換 | シークレットの名前を指定します。フォーマットは |
nginx.ingress.kubernetes.io/auth-secret-type | Ingress | 互換 | シークレットコンテンツのフォーマットを指定します。有効値:
|
nginx.ingress.kubernetes.io/auth-realm | Ingress | 互換 | 認証レルムを指定します。ユーザー名とパスワードは認証レルムで共有されます。 |
NGINX Ingress アノテーションの詳細については、「アノテーション」をご参照ください。