第15章 IngressController [operator.openshift.io/v1]
- 説明
- IngressController は、クラスターの管理された入力コントローラーを説明します。コントローラーは、OpenShift Route および Kubernetes Ingress リソースにサービスを提供できます。IngressController が作成されると、新しい ingres コントローラーの配置が作成され、外部トラフィックが Ingress または Route リソースを公開するサービスに到達できるようになります。このリソースを更新すると、新しい ingres コントローラーのリビジョンが公開される可能性があるため、一般向けのネットワーク接続が中断される可能性があります。https://kubernetes.io/docs/concepts/services-networking/ingress-controllers 可能な限り、プラットフォームの適切なデフォルトが使用されます。詳細は、各フィールドを参照してください。互換性レベル 1: メジャーリリース内で最低 12 カ月または 3 つのマイナーリリース (どちらか長い方) の間 Stable です。
- 型
-
object
15.1. 仕様
プロパティー | 型 | 説明 |
---|---|---|
|
| APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。 |
|
| kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これを更新することはできません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
| 標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。 | |
|
| spec は、IngressController の望ましい動作の仕様です。 |
|
| status は、IngressController の最後に観察されたステータスです。 |
15.1.1. .spec
- 説明
- spec は、IngressController の望ましい動作の仕様です。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| clientTLS は、クライアント証明書を要求および検証するための設定を指定します。これを使用して、エッジで終了したルートと再暗号化ルートの相互 TLS を有効にすることができます。 |
|
| defaultCertificate は、入力コントローラーによって提供されるデフォルトの証明書を含むシークレットへの参照です。Routes が自身の証明書を指定しない場合、defaultCertificate が使用される。シークレットには、次のキーとデータが含まれている必要があります。tls.crt: 証明書ファイルの内容 tls.key: キーファイルの内容設定されていない場合、ワイルドカード証明書が自動的に生成されて使用されます。この証明書は、ingress コントローラードメイン (およびサブドメイン) に対して有効であり、生成された証明書の CA は、クラスターのトラストストアに自動的に統合されます。ワイルドカード証明書が複数の HTTP/2 対応ルート (ALPN を意味する) によって使用および共有されている場合、クライアント (つまり、特にブラウザー) は自由に開いている接続を再利用できます。これは、クライアントが別のルートへの接続を再利用できることを意味し、それは失敗する可能性があります。この動作は、一般に接続合体として知られています。使用中の証明書 (生成されたものかユーザー指定されたものかを問わず) は、OpenShift の組み込み OAuth サーバーと自動的に統合されます。 |
|
| ドメインは、入力コントローラーによって提供される DNS 名であり、複数の機能を設定するために使用されます。* LoadBalancerService エンドポイント公開戦略の場合、ドメインは DNS レコードを設定するために使用されます。endpointPublishingStrategy を参照してください。* 生成されたデフォルト証明書を使用する場合、証明書はドメインとそのサブドメインに対して有効です。defaultCertificate を参照してください。*値は個々のルートステータスに公開されるため、エンドユーザーは外部 DNS レコードをターゲットにする場所を知ることができます。ドメインはすべての IngressController 間で一意である必要があり、更新できません。空の場合、デフォルトは ingress.config.openshift.io/cluster.spec.domain になります。 |
|
| endpointPublishingStrategy は、入力コントローラーのエンドポイントを他のネットワークに公開したり、ロードバランサーの統合を有効にしたりするために使用されます。設定されていない場合、infrastructure.config.openshift.io/cluster の .status.platform に基づくデフォルトが使用されます。AWS: LoadBalancerService (External スコープ)、Azure: LoadBalancerService (External スコープ)、GCP: LoadBalancerService (External スコープ)、IBMCloud: LoadBalancerService (External スコープ)、AlibabaCloud: LoadBalancerService (External スコープ)、Libvirt: HostNetwork、その他のプラットフォームタイプ (None を含む) では、デフォルトで HostNetwork になります。endpointPublishingStrategy は更新できません。 |
|
| httpCompression は、HTTP トラフィック圧縮のポリシーを定義します。デフォルトでは、HTTP 圧縮はありません。 |
|
| httpEmptyRequestsPolicy は、リクエストを受信する前に接続がタイムアウトした場合の HTTP 接続の処理方法を記述します。このフィールドに使用できる値は "Respond" および "Ignore" です。このフィールドが "Respond" に設定されている場合、ingress コントローラーは HTTP 400 または 408 応答を送信し、接続をログに記録し (アクセスログが有効な場合)、適切なメトリックで接続をカウントします。フィールドが "Ignore" に設定されている場合、Ingress コントローラーは応答を送信せずに接続を閉じると、接続をログに記録するか、メトリックを増分します。デフォルト値は "Respond" です。通常、これらの接続はロードバランサーのヘルスプローブまたは Web ブラウザーの投機的接続 ("事前接続") からのものであり、無視しても問題ありません。ただし、これらの要求はネットワークエラーが原因である可能性もあるため、このフィールドを "Ignore" に設定すると、問題の検出と診断が妨げられる可能性があります。さらに、これらの要求はポートスキャンによって引き起こされる可能性があります。その場合、空の要求をログに記録すると、侵入の試みを検出するのに役立つ場合があります。 |
|
| httpErrorCodePages は、カスタムエラーページを含む設定マップを指定します。管理者は、openshift-config namespace にこの configmap を作成する必要があります。この設定マップには、"error-page-<error code>.http" の形式のキーが必要です。ここで、<error code> は HTTP エラーコードです。たとえば、"error-page-503.http" は、HTTP503 応答のエラーページを定義します。現在、カスタマイズできるのは 503 および 404 応答のエラーページのみです。configmap の各値は、HTTP ヘッダーを含む完全な応答である必要があります。例 -https://raw.githubusercontent.com/openshift/router/fadab45747a9b30cc3f0a4b41ad2871f95827a93/images/router/haproxy/conf/error-page-503.http (このフィールドが空の場合、入力コントローラーはデフォルトのエラーページを使用します)。 |
|
| httpHeaders は、HTTP ヘッダーのポリシーを定義します。このフィールドが空の場合、デフォルト値が使用されます。 |
|
| ロギングは、何をどこに記録するかについてパラメーターを定義します。このフィールドが空の場合、操作ログは有効になりますが、アクセスログは無効になります。 |
|
| namespaceSelector は、Ingress コントローラーによって提供される namespace セットをフィルターするために使用されます。これはシャードの実装に役立ちます。設定されていない場合、デフォルトはフィルタリングなしです。 |
|
| nodePlacement は、Ingress コントローラーのスケジュールに対する明示的な制御を有効にします。設定されていない場合、デフォルトが使用されます。詳細は、NodePlacement を参照してください。 |
|
| replicas は Ingress コントローラーレプリカの必要な数です。設定されていない場合、クラスターの config.openshift.io/v1/ingresses ステータスの defaultPlacement フィールドの値によってデフォルトが決まります。replicas の値は、Infrastructure CR 内の選択されるフィールドの値に基づいて設定されます。defaultPlacement が ControlPlane に設定されている場合、選択されるフィールドは controlPlaneTopology になります。Workers に設定されている場合、選択されるフィールドは、infrastructureTopology になります。選択されるフィールドの値が SingleReplica か HighlyAvailable かに基づいて、レプリカはそれぞれ 1 または 2 に設定されます。これらのデフォルトは変更される可能性があります。 |
|
| routeAdmission は、新しいルートクレームを処理するためのポリシーを定義します (たとえば、名前空間全体でクレームを許可または拒否します)。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の routeAdmission フィールドを参照してください。 |
|
| routeSelector は、Ingress コントローラーによって提供される Routes のセットをフィルターするために使用されます。これはシャードの実装に役立ちます。設定されていない場合、デフォルトはフィルタリングなしです。 |
|
| tlsSecurityProfile は、Ingress コントローラーの TLS 接続の設定を指定します。設定されていない場合、デフォルトは apiservers.config.openshift.io/cluster リソースに基づいています。Old、Intermediate、および Modern のプロファイルタイプを使用する場合、有効なプロファイル設定はリリース間で変更される可能性があります。たとえば、リリース X.Y.Z にデプロイされた Intermediate プロファイルを使用する仕様がある場合、リリース X.Y.Z+1 へのアップグレードにより、新規のプロファイル設定が Ingress コントローラーに適用され、ロールアウトが生じる可能性があります。 |
|
| tuningOptions は、入力コントローラー Pod のパフォーマンスを調整するためのパラメーターを定義します。すべてのフィールドはオプションであり、設定されていない場合はそれぞれのデフォルトを使用します。詳細は、特定の tuningOptions フィールドを参照してください。通常、tuningOptions 内でフィールドを設定することは推奨しません。デフォルト値は、ほとんどの設定に適しています。 |
| `` | unsupportedConfigOverrides を使用すると、サポートされていない設定オプションを指定できます。その使用はサポートされていません。 |
15.1.2. .spec.clientTLS
- 説明
- clientTLS は、クライアント証明書を要求および検証するための設定を指定します。これを使用して、エッジで終了したルートと再暗号化ルートの相互 TLS を有効にすることができます。
- 型
-
object
- 必須
-
clientCA
-
clientCertificatePolicy
-
プロパティー | 型 | 説明 |
---|---|---|
|
| allowedSubjectPatterns は、リクエストをフィルタリングするために有効なクライアント証明書の識別名と照合する必要がある正規表現のリストを指定します。正規表現は PCRE 構文を使用する必要があります。このリストが空の場合、フィルタリングは実行されません。リストが空でない場合は、少なくとも 1 つのパターンがクライアント証明書の識別名と一致する必要があります。一致しない場合、入力コントローラーは証明書を拒否して接続を拒否します。 |
|
| clientCA は、クライアントの証明書を検証するために使用する必要がある PEM でエンコードされた CA 証明書バンドルを含む設定マップを指定します。管理者は、openshift-config namespace にこの configmap を作成する必要があります。 |
|
| clientCertificatePolicy は、入力コントローラーがクライアントに証明書の提供を要求するかどうかを指定します。このフィールドは、"Required" または "Optional" の値を受け入れます。入力コントローラーは、クライアント証明書でエッジが終了し、TLS ルートを再暗号化することのみをチェックすることに注意してください。クリアテキスト HTTP またはパススルー TLS ルートの証明書をチェックすることはできません。 |
15.1.3. .spec.clientTLS.clientCA
- 説明
- clientCA は、クライアントの証明書を検証するために使用する必要がある PEM でエンコードされた CA 証明書バンドルを含む設定マップを指定します。管理者は、openshift-config namespace にこの configmap を作成する必要があります。
- 型
-
object
- 必須
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| name は、参照される config map の metadata.name です |
15.1.4. .spec.defaultCertificate
- 説明
- defaultCertificate は、入力コントローラーによって提供されるデフォルトの証明書を含むシークレットへの参照です。Routes が自身の証明書を指定しない場合、defaultCertificate が使用される。シークレットには、次のキーとデータが含まれている必要があります。tls.crt: 証明書ファイルの内容 tls.key: キーファイルの内容設定されていない場合、ワイルドカード証明書が自動的に生成されて使用されます。この証明書は、ingress コントローラードメイン (およびサブドメイン) に対して有効であり、生成された証明書の CA は、クラスターのトラストストアに自動的に統合されます。ワイルドカード証明書が複数の HTTP/2 対応ルート (ALPN を意味する) によって使用および共有されている場合、クライアント (つまり、特にブラウザー) は自由に開いている接続を再利用できます。これは、クライアントが別のルートへの接続を再利用できることを意味し、それは失敗する可能性があります。この動作は、一般に接続合体として知られています。使用中の証明書 (生成されたものかユーザー指定されたものかを問わず) は、OpenShift の組み込み OAuth サーバーと自動的に統合されます。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
|
参照先の名前。このフィールドは実質的には必須ですが、下位互換性のため空でもかまいません。ここで空の値を持つこの型のインスタンスは、ほぼ間違いなく間違っています。TODO: 他の便利なフィールド (apiVersion、kind、uid など) を追加します。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: controller-gen が必要としていない場合は |
15.1.5. .spec.endpointPublishingStrategy
- 説明
- endpointPublishingStrategy は、入力コントローラーのエンドポイントを他のネットワークに公開したり、ロードバランサーの統合を有効にしたりするために使用されます。設定されていない場合、infrastructure.config.openshift.io/cluster の .status.platform に基づくデフォルトが使用されます。AWS: LoadBalancerService (External スコープ)、Azure: LoadBalancerService (External スコープ)、GCP: LoadBalancerService (External スコープ)、IBMCloud: LoadBalancerService (External スコープ)、AlibabaCloud: LoadBalancerService (External スコープ)、Libvirt: HostNetwork、その他のプラットフォームタイプ (None を含む) では、デフォルトで HostNetwork になります。endpointPublishingStrategy は更新できません。
- 型
-
object
- 必須
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| hostNetwork は、HostNetwork エンドポイント公開戦略のパラメーターを保持します。タイプが HostNetwork の場合にのみ存在します。 |
|
| loadBalancer は、ロードバランサーのパラメーターを保持します。タイプが LoadBalancerService の場合にのみ存在します。 |
|
| nodePort は、NodePortService エンドポイント公開戦略のパラメーターを保持します。タイプが NodePortService の場合にのみ存在します。 |
|
| private は、プライベートエンドポイント公開戦略のパラメーターを保持します。タイプがプライベートの場合にのみ存在します。 |
|
| type は、使用する公開戦略です。有効な値は次のとおりです。* LoadBalancerService Publishes は Kubernetes LoadBalancer Service サービスを使用して入力コントローラーを公開します。この設定では、Ingress コントローラーのデプロイメントはコンテナーのネットワークを使用します。LoadBalancer サービスは、デプロイメントを公開するために作成されます。https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer を参照してください。ドメインが設定されている場合、ワイルドカード DNS レコードは、LoadBalancer サービスの外部名を指すように管理されます。DNS レコードは、dns.config.openshift.io/cluster.spec.publicZone および.spec.privateZone で定義された DNS ゾーンでのみ管理されます。ワイルドカード DNS 管理は現在、AWS、Azure、および GCP プラットフォームでのみサポートされています。* HostNetwork は、入力コントローラーがデプロイされているノードポートに入力コントローラーを公開します。この設定では、入力コントローラーのデプロイメントは、ノードポート 80 および 443 にバインドされたホストネットワークを使用します。ユーザーは、ノードポートを介して入力コントローラーを公開するように外部ロードバランサーを設定する必要があります。*プライベート入力コントローラーを公開しません。この設定では、入力コントローラーのデプロイメントはコンテナーネットワークを使用し、明示的に公開されません。ユーザーは、入力コントローラーを手動で公開する必要があります。* NodePortService は、Kubernetes NodePort サービスを使用して入力コントローラーを公開します。この設定では、Ingress コントローラーのデプロイメントはコンテナーのネットワークを使用します。デプロイメントを公開するために NodePort Service が作成されます。特定のノードポートは、OpenShift によって動的に割り当てられます。ただし、静的ポート割り当てをサポートするために、マネージド NodePort サービスのノードポートフィールドへのユーザーの変更は保持されます。 |
15.1.6. .spec.endpointPublishingStrategy.hostNetwork
- 説明
- hostNetwork は、HostNetwork エンドポイント公開戦略のパラメーターを保持します。タイプが HostNetwork の場合にのみ存在します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| httpPort は、HTTP リクエストをリッスンするために使用するホスト上のポートです。ポート 80 がすでに使用されている場合は、このフィールドを設定する必要があります。値がクラスターの NodePort 範囲と重ならないようにしてください。値が 0 の場合、または指定されていない場合は、デフォルトで 80 になります。 |
|
| httpsPort は、HTTPS リクエストをリッスンするために使用するホスト上のポートです。ポート 443 がすでに使用されている場合は、このフィールドを設定する必要があります。値がクラスターの NodePort 範囲と重ならないようにしてください。値が 0 の場合、または指定されていない場合は、デフォルトで 443 になります。 |
|
| プロトコルは、IngressController が着信接続でプレーン TCP を使用することを期待するかどうか、または IngressController が PROXY プロトコルを期待するかどうかを指定します。PROXY プロトコルは、クライアント接続を IngressController に転送するときに、それらの接続の送信元アドレスを通信するためにそれをサポートするロードバランサーで使用できます。PROXY プロトコルを使用すると、IngressController は、HTTP ヘッダーとログでロードバランサーのアドレスを報告する代わりに、これらの送信元アドレスを報告できます。IngressController で PROXY プロトコルを有効にすると、PROXY プロトコルを使用して接続を IngressController に転送するロードバランサーを使用していない場合、接続が失敗することに注意してください。PROXY プロトコルの詳細は、http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt を参照してください。このフィールドには、次の値が有効です。*空の文字列。* "TCP".* "PROXY".空の文字列はデフォルトを指定します。これは PROXY プロトコルなしの TCP です。デフォルトは変更される可能性があることに注意してください。 |
|
| statsPort は、ルーターからの統計情報を公開するホスト上のポートです。値がクラスターの NodePort 範囲と重ならないようにしてください。この IngressController に接続を転送するように外部ロードバランサーが設定されている場合、ロードバランサーはヘルスチェックにこのポートを使用する必要があります。ロードバランサーは、特定のノード上のこのポートにパス /healthz/ready を使用して HTTP プローブを送信し、Ingress Controller がノード上でトラフィックを受信する準備ができているかどうかを確認できます。適切に動作させるために、ヘルスチェックによって準備完了が報告されるまで、ロードバランサーからノードにトラフィックを転送しないでください。ロードバランサーは、/healthz/ready が準備完了ではないことを報告し始めてから 45 秒以内にリクエストの転送を停止する必要があります。5 - 10 秒ごとにプローブし、タイムアウトを 5 秒に設定し、正常または異常を判定するしきい値として、成功または失敗したリクエストの数を 2 つに設定してください。これらは十分にテストされた値です。値が 0 の場合、または指定されていない場合は、デフォルトで 1936 になります。 |
15.1.7. .spec.endpointPublishingStrategy.loadBalancer
- 説明
- loadBalancer は、ロードバランサーのパラメーターを保持します。タイプが LoadBalancerService の場合にのみ存在します。
- 型
-
object
- 必須
-
dnsManagementPolicy
-
scope
-
プロパティー | 型 | 説明 |
---|---|---|
| `` | allowedSourceRanges は、ロードバランサーへのアクセスを制限する IP アドレス範囲の許可リストを指定します。各範囲は CIDR 表記を使用して指定する必要があります (例: "10.0.0.0/8" または "fd00::/8")。範囲を指定しないと、IPv4 の場合は "0.0.0.0/0"、IPv6 の場合は "::/0" がデフォルトで使用され、すべての送信元アドレスが許可されます。allowedSourceRanges フィールドがない以前のバージョンの OpenShift からの移行を容易にするために、"openshift-ingress" namespace の "router-<ingresscontroller name>" サービスに service.beta.kubernetes.io/load-balancer-source-ranges アノテーションを設定できます。このアノテーションは、OpenShift 4.12 で allowedSourceRanges が空の場合に有効になります。 |
|
| dnsManagementPolicy は、ロードバランサーサービスに関連付けられたワイルドカード DNS レコードのライフサイクルを Ingress Operator によって管理するかどうかを示します。デフォルトは Managed です。有効な値は Managed と Unmanaged です。 |
|
| providerParameters は、基盤となるインフラストラクチャープロバイダーに固有の必要なロードバランサー情報を保持します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の providerParameters フィールドを参照してください。 |
|
| scope は、ロードバランサーが公開されるスコープを示します。可能な値は "External" と "Internal" です。 |
15.1.8. .spec.endpointPublishingStrategy.loadBalancer.providerParameters
- 説明
- providerParameters は、基盤となるインフラストラクチャープロバイダーに固有の必要なロードバランサー情報を保持します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の providerParameters フィールドを参照してください。
- 型
-
object
- 必須
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| aws は、AWS のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の aws フィールドを参照してください。 |
|
| gcp は、GCP のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の gcp フィールドを参照してください。 |
|
| ibm は、IBM Cloud のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の ibm フィールドを参照してください。 |
|
| type は、ロードバランサーの基盤となるインフラストラクチャープロバイダーです。許可される値は、"AWS"、"Azure"、"BareMetal"、"GCP"、"IBM"、"Nutanix"、"OpenStack"、および "VSphere" です。 |
15.1.9. .spec.endpointPublishingStrategy.loadBalancer.providerParameters.aws
- 説明
- aws は、AWS のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の aws フィールドを参照してください。
- 型
-
object
- 必須
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| classicLoadBalancerParameters は、AWS クラシックロードバランサーの設定パラメーターを保持します。タイプがクラシックの場合にのみ表示されます。 |
|
| networkLoadBalancerParameters は、AWS ネットワークロードバランサーの設定パラメーターを保持します。タイプが NLB の場合にのみ存在します。 |
|
| type は、イングレスコントローラー用にインスタンス化する AWS ロードバランサーのタイプです。有効な値は次のとおりです。*"Classic": トランスポート層 (TCP/SSL) またはアプリケーション層 (HTTP/HTTPS) のいずれかでルーティングを決定するクラシックロードバランサー。詳細は、以下を参照して ください。https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#clb * "NLB": トランスポートでルーティングを決定するネットワークロードバランサーレイヤー (TCP/SSL)。詳細は、https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#nlb を参照してください。 |
15.1.10. .spec.endpointPublishingStrategy.loadBalancer.providerParameters.aws.classicLoadBalancer
- 説明
- classicLoadBalancerParameters は、AWS クラシックロードバランサーの設定パラメーターを保持します。タイプがクラシックの場合にのみ表示されます。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| connectionIdleTimeout は、ロードバランサーが接続を閉じるまでに接続がアイドル状態になることができる最大時間を指定します。値は時間間隔の値として解析可能である必要があります。https://pkg.go.dev/time#ParseDuration を参照してください。値が nil またはゼロの場合、指定なしとみなされ、デフォルト値が使用されます。このフィールドのデフォルト値は 60s です。このデフォルトは変更される可能性があります。 |
|
| subnets は、ロードバランサーの割り当て先のサブネットを指定します。サブネットは ID または名前のいずれかで指定できます。サブネットの合計数は 10 に制限されています。ロードバランサーにサブネットをプロビジョニングするには、各サブネットが存在し、各サブネットが異なるアベイラビリティーゾーンからのものである必要がありあす。また、新しい値を取得するためにロードバランサーサービスを再作成する必要があります。仕様から省略すると、各アベイラビリティーゾーンのサブネットが自動検出されます。自動検出されたサブネットは、IngressController オブジェクトのステータスでは報告されません。 |
15.1.11. .spec.endpointPublishingStrategy.loadBalancer.providerParameters.aws.classicLoadBalancer.subnets
- 説明
- subnets は、ロードバランサーの割り当て先のサブネットを指定します。サブネットは ID または名前のいずれかで指定できます。サブネットの合計数は 10 に制限されています。ロードバランサーにサブネットをプロビジョニングするには、各サブネットが存在し、各サブネットが異なるアベイラビリティーゾーンからのものである必要がありあす。また、新しい値を取得するためにロードバランサーサービスを再作成する必要があります。仕様から省略すると、各アベイラビリティーゾーンのサブネットが自動検出されます。自動検出されたサブネットは、IngressController オブジェクトのステータスでは報告されません。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| ids は、サブネット ID による AWS サブネットのリストを指定します。サブネット ID は、"subnet-" で始まり、英数字のみで構成され、ちょうど 24 文字の長さで、一意である必要があります。ID と名前で指定されたサブネットの合計数は、10 以下である必要があります。 |
|
| names は、サブネット名による AWS サブネットのリストを指定します。サブネット名は、"subnet-" で始まらず、コンマを含まず、256 文字未満の長さで、一意である必要があります。ID および名前で指定されたサブネットの合計数は、10 以下である必要があります。 |
15.1.12. .spec.endpointPublishingStrategy.loadBalancer.providerParameters.aws.networkLoadBalancer
- 説明
- networkLoadBalancerParameters は、AWS ネットワークロードバランサーの設定パラメーターを保持します。タイプが NLB の場合にのみ存在します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| eipAllocations は、Network Load Balancer に割り当てられる Elastic IP (EIP) アドレスの ID のリストです。次の制限が適用されます。eipAllocations は外部スコープでのみ使用でき、内部スコープでは使用できません。EIP は 1 つの IngressController にのみ割り当てることができます。EIP 割り当ての数は、ロードバランサーに使用されるサブネットの数と同じである必要があります。EIP 割り当ては、それぞれ一意である必要があります。最大 10 個の EIP 割り当てが許可されます。Elastic IP アドレスの設定、特性、制限に関する一般的な情報は、https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html を参照してください。 |
|
| subnets は、ロードバランサーの割り当て先のサブネットを指定します。サブネットは ID または名前のいずれかで指定できます。サブネットの合計数は 10 に制限されています。ロードバランサーにサブネットをプロビジョニングするには、各サブネットが存在し、各サブネットが異なるアベイラビリティーゾーンからのものである必要がありあす。また、新しい値を取得するためにロードバランサーサービスを再作成する必要があります。仕様から省略すると、各アベイラビリティーゾーンのサブネットが自動検出されます。自動検出されたサブネットは、IngressController オブジェクトのステータスでは報告されません。 |
15.1.13. .spec.endpointPublishingStrategy.loadBalancer.providerParameters.aws.networkLoadBalancer.subnets
- 説明
- subnets は、ロードバランサーの割り当て先のサブネットを指定します。サブネットは ID または名前のいずれかで指定できます。サブネットの合計数は 10 に制限されています。ロードバランサーにサブネットをプロビジョニングするには、各サブネットが存在し、各サブネットが異なるアベイラビリティーゾーンからのものである必要がありあす。また、新しい値を取得するためにロードバランサーサービスを再作成する必要があります。仕様から省略すると、各アベイラビリティーゾーンのサブネットが自動検出されます。自動検出されたサブネットは、IngressController オブジェクトのステータスでは報告されません。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| ids は、サブネット ID による AWS サブネットのリストを指定します。サブネット ID は、"subnet-" で始まり、英数字のみで構成され、ちょうど 24 文字の長さで、一意である必要があります。ID と名前で指定されたサブネットの合計数は、10 以下である必要があります。 |
|
| names は、サブネット名による AWS サブネットのリストを指定します。サブネット名は、"subnet-" で始まらず、コンマを含まず、256 文字未満の長さで、一意である必要があります。ID および名前で指定されたサブネットの合計数は、10 以下である必要があります。 |
15.1.14. .spec.endpointPublishingStrategy.loadBalancer.providerParameters.gcp
- 説明
- gcp は、GCP のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の gcp フィールドを参照してください。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| clientAccess は、内部ロードバランサーのクライアントアクセスがどのように制限されるかを記述します。有効な値は次のとおりです。* "Global": グローバルクライアントアクセスで内部ロードバランサーを指定すると、VPC 内の任意のリージョンのクライアントがロードバランサーと通信できるようになります。https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing#global_access * "Local": ローカルクライアントアクセスで内部ロードバランサーを指定すると、同じリージョン内のクライアントのみが意味されます (および VPC)GCP ロードバランサーはロードバランサーと通信できます。これがデフォルトの動作であることに注意してください。https://cloud.google.com/load-balancing/docs/internal#client_access |
15.1.15. .spec.endpointPublishingStrategy.loadBalancer.providerParameters.ibm
- 説明
- ibm は、IBM Cloud のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の ibm フィールドを参照してください。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| protocol は、ロードバランサーが PROXY プロトコルを使用して IngressController に接続を転送するかどうかを指定します。https://cloud.ibm.com/docs/containers?topic=containers-vpc-lbaas の「service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol"」を参照してください。サポートされるロードバランサーで PROXY プロトコルを使用すると、クライアント接続を IngressController に転送するときに、クライアント接続のソースアドレスを伝達できます。PROXY プロトコルを使用すると、IngressController は、HTTP ヘッダーとログでロードバランサーのアドレスを報告する代わりに、これらの送信元アドレスを報告できます。IngressController で PROXY プロトコルを有効にすると、PROXY プロトコルを使用して接続を IngressController に転送するロードバランサーを使用していない場合、接続が失敗することに注意してください。PROXY プロトコルの詳細は、http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt を参照してください。protocol の有効な値は、TCP、PROXY です (省略可能)。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。現在のデフォルトは、PROXY プロトコルが有効でない TCP です。 |
15.1.16. .spec.endpointPublishingStrategy.nodePort
- 説明
- nodePort は、NodePortService エンドポイント公開戦略のパラメーターを保持します。タイプが NodePortService の場合にのみ存在します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| プロトコルは、IngressController が着信接続でプレーン TCP を使用することを期待するかどうか、または IngressController が PROXY プロトコルを期待するかどうかを指定します。PROXY プロトコルは、クライアント接続を IngressController に転送するときに、それらの接続の送信元アドレスを通信するためにそれをサポートするロードバランサーで使用できます。PROXY プロトコルを使用すると、IngressController は、HTTP ヘッダーとログでロードバランサーのアドレスを報告する代わりに、これらの送信元アドレスを報告できます。IngressController で PROXY プロトコルを有効にすると、PROXY プロトコルを使用して接続を IngressController に転送するロードバランサーを使用していない場合、接続が失敗することに注意してください。PROXY プロトコルの詳細は、http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt を参照してください。このフィールドには、次の値が有効です。*空の文字列。* "TCP".* "PROXY".空の文字列はデフォルトを指定します。これは PROXY プロトコルなしの TCP です。デフォルトは変更される可能性があることに注意してください。 |
15.1.17. .spec.endpointPublishingStrategy.private
- 説明
- private は、プライベートエンドポイント公開戦略のパラメーターを保持します。タイプがプライベートの場合にのみ存在します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| プロトコルは、IngressController が着信接続でプレーン TCP を使用することを期待するかどうか、または IngressController が PROXY プロトコルを期待するかどうかを指定します。PROXY プロトコルは、クライアント接続を IngressController に転送するときに、それらの接続の送信元アドレスを通信するためにそれをサポートするロードバランサーで使用できます。PROXY プロトコルを使用すると、IngressController は、HTTP ヘッダーとログでロードバランサーのアドレスを報告する代わりに、これらの送信元アドレスを報告できます。IngressController で PROXY プロトコルを有効にすると、PROXY プロトコルを使用して接続を IngressController に転送するロードバランサーを使用していない場合、接続が失敗することに注意してください。PROXY プロトコルの詳細は、http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt を参照してください。このフィールドには、次の値が有効です。*空の文字列。* "TCP".* "PROXY".空の文字列はデフォルトを指定します。これは PROXY プロトコルなしの TCP です。デフォルトは変更される可能性があることに注意してください。 |
15.1.18. .spec.httpCompression
- 説明
- httpCompression は、HTTP トラフィック圧縮のポリシーを定義します。デフォルトでは、HTTP 圧縮はありません。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| mimeTypes は、圧縮を適用する必要のある MIME タイプのリストです。このリストは空にすることもできます。その場合、Ingress Controller は圧縮を適用しません。注記: すべての MIME タイプが圧縮の恩恵を受けるわけではありませんが、それでも指示があれば、HAProxy がリソースを使用して圧縮を試みます。一般的に、テキスト (html、css、js など) 形式は、圧縮の恩恵を受けます。しかし、すでに圧縮されている形式 (イメージ、オーディオ、ビデオなど) は、再度圧縮するのにかかる時間と CPU の割に、あまり恩恵がありません。https://joehonton.medium.com/the-gzip-penalty-d31bd697f1a2 を参照してください。 |
15.1.19. .spec.httpErrorCodePages
- 説明
- httpErrorCodePages は、カスタムエラーページを含む設定マップを指定します。管理者は、openshift-config namespace にこの configmap を作成する必要があります。この設定マップには、"error-page-<error code>.http" の形式のキーが必要です。ここで、<error code> は HTTP エラーコードです。たとえば、"error-page-503.http" は、HTTP503 応答のエラーページを定義します。現在、カスタマイズできるのは 503 および 404 応答のエラーページのみです。configmap の各値は、HTTP ヘッダーを含む完全な応答である必要があります。例 -https://raw.githubusercontent.com/openshift/router/fadab45747a9b30cc3f0a4b41ad2871f95827a93/images/router/haproxy/conf/error-page-503.http (このフィールドが空の場合、入力コントローラーはデフォルトのエラーページを使用します)。
- 型
-
object
- 必須
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| name は、参照される config map の metadata.name です |
15.1.20. .spec.httpHeaders
- 説明
- httpHeaders は、HTTP ヘッダーのポリシーを定義します。このフィールドが空の場合、デフォルト値が使用されます。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
|
actions は、ヘッダーとその値を変更するためのオプションを指定します。このオプションは、クリアテキスト HTTP 接続と、入力コントローラーが暗号化を終了するセキュア HTTP 接続 (つまり、エッジ終了または再暗号化接続) にのみ適用されることに注意してください。TLS パススルー接続の場合、ヘッダーを変更することはできません。HSTS ( |
|
| forwardedHeaderPolicy は、IngressController が Forwarded、X-Forwarded-For、X-Forwarded-Host、X-Forwarded-Port、X-Forwarded-Proto、および X-Forwarded-Proto-Version HTTP ヘッダーをいつどのように設定するかを指定します。値は次のいずれかになります。*"Append" は、IngressController がヘッダーを追加し、既存のヘッダーを保持することを指定します。* "Replace" は、IngressController がヘッダーを設定し、既存の Forwarded または X-Forwarded-*ヘッダーを置き換えることを指定します。* "IfNone"。ヘッダーがまだ設定されていない場合、IngressController がヘッダーを設定することを指定します。* "Never"。IngressController がヘッダーを設定せず、既存のヘッダーを保持することを指定します。デフォルトでは、ポリシーは "Append" です。 |
| `` | headerNameCaseAdjustments は、HTTP ヘッダー名に適用できる大文字小文字の調整を指定します。それぞれの調整は、必要な大文字化を指定して HTTP ヘッダー名として指定されます。たとえば、"X-Forwarded-For" を指定すると、指定された大文字化を有効にするために "x-forwarded-for" HTTP ヘッダーを調整する必要があることを示唆できます。これらの調整は、クリアテキスト、edge-terminated、および re-encrypt ルートにのみ適用され、HTTP/1 を使用する場合にのみ適用されます。要求ヘッダーの場合、これらの調整は haproxy.router.openshift.io/h1-adjust-case=true アノテーションを持つルートについてのみ適用されます。応答ヘッダーの場合、これらの調整はすべての HTTP 応答に適用されます。このフィールドが空の場合、要求ヘッダーは調整されません。 |
|
| uniqueId は、入力コントローラーが着信 HTTP 要求に挿入する必要があるカスタム HTTP ヘッダーの設定を記述します。通常、このヘッダーは、HTTP リクエストに固有の値を持つように設定されます。ヘッダーは、アプリケーションで使用したり、アクセスログに含めたりして、個々の HTTP リクエストのトレースを容易にすることができます。このフィールドが空の場合、そのようなヘッダーはリクエストに挿入されません。 |
15.1.21. .spec.httpHeaders.actions
- 説明
-
actions は、ヘッダーとその値を変更するためのオプションを指定します。このオプションは、クリアテキスト HTTP 接続と、入力コントローラーが暗号化を終了するセキュア HTTP 接続 (つまり、エッジ終了または再暗号化接続) にのみ適用されることに注意してください。TLS パススルー接続の場合、ヘッダーを変更することはできません。HSTS (
Strict-Transport-Security
) ヘッダーの設定は、actions 経由ではサポートされていません。Strict-Transport-Security
は、必ず "haproxy.router.openshift.io/hsts_header" ルートアノテーションを使用して、Ingress.Spec.RequiredHSTSPolicies で指定されたポリシーに従って設定する必要があります。ここで定義したアクションは、cache-control、spec.clientTLS、spec.httpHeaders.forwardedHeaderPolicy、spec.httpHeaders.uniqueId、spec.httpHeaders.headerNameCaseAdjustments など、他のフィールドに関連するアクションの後に適用されます。HTTP リクエストヘッダーの場合、ルートの spec.httpHeaders.actions で指定されたアクションは、IngressController の spec.httpHeaders.actions フィールドで指定されたアクションの後に実行されます。HTTP レスポンスヘッダーの場合、IngressController の spec.httpHeaders.actions で指定されたアクションは、ルートの spec.httpHeaders.actions フィールドで指定されたアクションの後に実行されます。この API を使用して設定されたヘッダーを、アクセスログで使用するために取得することはできません。ヘッダー名 Strict-Transport-Security、Proxy、Host、Cookie、Set-Cookie は予約されており、この API 経由で変更することはできません。動的な値を補間した 後 に追加されたすべてのヘッダーの合計サイズが、IngressController の spec.tuningOptions.headerBufferMaxRewriteBytes の値を超えてはならないことに注意してください。詳細は、該当する API フィールドのドキュメントを参照してください。 - 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
|
request は、変更する HTTP リクエストヘッダーのリストです。ここで定義したアクションにより、Ingress Controller を通過するすべてのリクエストのリクエストヘッダーが変更されます。このアクションは、すべてのルート、つまりクラスター内で定義された Ingress Controller によって処理されるすべての接続に適用されます。リクエストヘッダーの IngressController アクションは、ルートアクションの前に実行されます。現在、actions では、 |
|
| IngressControllerHTTPHeader は、HTTP ヘッダーを設定または削除するための設定を指定します。 |
|
|
response は、変更する HTTP レスポンスヘッダーのリストです。ここで定義したアクションにより、Ingress Controller を通過するすべてのリクエストのレスポンスヘッダーが変更されます。このアクションは、すべてのルート、つまりクラスター内で定義された Ingress Controller によって処理されるすべての接続に適用されます。レスポンスヘッダーの IngressController アクションは、ルートアクションの後に実行されます。現在、actions では、 |
|
| IngressControllerHTTPHeader は、HTTP ヘッダーを設定または削除するための設定を指定します。 |
15.1.22. .spec.httpHeaders.actions.request
- 説明
-
request は、変更する HTTP リクエストヘッダーのリストです。ここで定義したアクションにより、Ingress Controller を通過するすべてのリクエストのリクエストヘッダーが変更されます。このアクションは、すべてのルート、つまりクラスター内で定義された Ingress Controller によって処理されるすべての接続に適用されます。リクエストヘッダーの IngressController アクションは、ルートアクションの前に実行されます。現在、actions では、
Set
またはDelete
をヘッダー値として定義できます。アクションは、このリストで定義した順序で適用されます。最大 20 個のリクエストヘッダーアクションを設定できます。使用できるサンプルフェッチャーは、"req.hdr" と "ssl_c_der" です。使用できるコンバーターは、"lower" と "base64" です。ヘッダー値の例は、"%[req.hdr(X-target),lower]"、"%{+Q}[ssl_c_der,base64]" などです。 - 型
-
array
15.1.23. .spec.httpHeaders.actions.request[]
- 説明
- IngressControllerHTTPHeader は、HTTP ヘッダーを設定または削除するための設定を指定します。
- 型
-
object
- 必須
-
action
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| action は、ヘッダーの設定や削除など、ヘッダーに対して実行するアクションを指定します。 |
|
| name は、アクション実行対象のヘッダーの名前を指定します。値は、RFC 2616 セクション 4.2 で定義されている有効な HTTP ヘッダー名である必要があります。名前は、英数字と特殊文字 "-!#$%&'*+.^_`" のみで構成する必要があります。ヘッダー名 Strict-Transport-Security、Proxy、Host、Cookie、Set-Cookie は予約されており、この API 経由で変更することはできません。255 文字以内の長さである必要があります。ヘッダー名は一意である必要があります。 |
15.1.24. .spec.httpHeaders.actions.request[].action
- 説明
- action は、ヘッダーの設定や削除など、ヘッダーに対して実行するアクションを指定します。
- 型
-
object
- 必須
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| set は、HTTP ヘッダーの設定方法を指定します。このフィールドは、type が Set の場合は必須です。それ以外の場合は禁止されます。 |
|
| type は、ヘッダーに適用するアクションのタイプを定義します。使用できる値は、Set または Delete です。Set を使用すると、HTTP リクエストヘッダーとレスポンスヘッダーを設定できます。Delete を使用すると、HTTP リクエストヘッダーとレスポンスヘッダーを削除できます。 |
15.1.25. .spec.httpHeaders.actions.request[].action.set
- 説明
- set は、HTTP ヘッダーの設定方法を指定します。このフィールドは、type が Set の場合は必須です。それ以外の場合は禁止されます。
- 型
-
object
- 必須
-
value
-
プロパティー | 型 | 説明 |
---|---|---|
|
| value は、ヘッダー値を指定します。動的な値を追加できます。値は、http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#8.2.6 で定義されている HAProxy 形式の文字列として解釈され、HAProxy の %[] 構文を使用できます。または、https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 で定義されている有効な HTTP ヘッダー値である必要があります。このフィールドの値は、16384 文字以内の長さにする必要があります。動的な値を補間した 後 に追加されたすべてのヘッダーの合計サイズが、IngressController の spec.tuningOptions.headerBufferMaxRewriteBytes の値を超えてはならないことに注意してください。 |
15.1.26. .spec.httpHeaders.actions.response
- 説明
-
response は、変更する HTTP レスポンスヘッダーのリストです。ここで定義したアクションにより、Ingress Controller を通過するすべてのリクエストのレスポンスヘッダーが変更されます。このアクションは、すべてのルート、つまりクラスター内で定義された Ingress Controller によって処理されるすべての接続に適用されます。レスポンスヘッダーの IngressController アクションは、ルートアクションの後に実行されます。現在、actions では、
Set
またはDelete
をヘッダー値として定義できます。アクションは、このリストで定義した順序で適用されます。最大 20 個のレスポンスヘッダーアクションを設定できます。使用できるサンプルフェッチャーは、"res.hdr" と "ssl_c_der" です。使用できるコンバーターは、"lower" と "base64" です。ヘッダー値の例は、"%[res.hdr(X-target),lower]"、"%{+Q}[ssl_c_der,base64]" などです。 - 型
-
array
15.1.27. .spec.httpHeaders.actions.response[]
- 説明
- IngressControllerHTTPHeader は、HTTP ヘッダーを設定または削除するための設定を指定します。
- 型
-
object
- 必須
-
action
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| action は、ヘッダーの設定や削除など、ヘッダーに対して実行するアクションを指定します。 |
|
| name は、アクション実行対象のヘッダーの名前を指定します。値は、RFC 2616 セクション 4.2 で定義されている有効な HTTP ヘッダー名である必要があります。名前は、英数字と特殊文字 "-!#$%&'*+.^_`" のみで構成する必要があります。ヘッダー名 Strict-Transport-Security、Proxy、Host、Cookie、Set-Cookie は予約されており、この API 経由で変更することはできません。255 文字以内の長さである必要があります。ヘッダー名は一意である必要があります。 |
15.1.28. .spec.httpHeaders.actions.response[].action
- 説明
- action は、ヘッダーの設定や削除など、ヘッダーに対して実行するアクションを指定します。
- 型
-
object
- 必須
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| set は、HTTP ヘッダーの設定方法を指定します。このフィールドは、type が Set の場合は必須です。それ以外の場合は禁止されます。 |
|
| type は、ヘッダーに適用するアクションのタイプを定義します。使用できる値は、Set または Delete です。Set を使用すると、HTTP リクエストヘッダーとレスポンスヘッダーを設定できます。Delete を使用すると、HTTP リクエストヘッダーとレスポンスヘッダーを削除できます。 |
15.1.29. .spec.httpHeaders.actions.response[].action.set
- 説明
- set は、HTTP ヘッダーの設定方法を指定します。このフィールドは、type が Set の場合は必須です。それ以外の場合は禁止されます。
- 型
-
object
- 必須
-
value
-
プロパティー | 型 | 説明 |
---|---|---|
|
| value は、ヘッダー値を指定します。動的な値を追加できます。値は、http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#8.2.6 で定義されている HAProxy 形式の文字列として解釈され、HAProxy の %[] 構文を使用できます。または、https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 で定義されている有効な HTTP ヘッダー値である必要があります。このフィールドの値は、16384 文字以内の長さにする必要があります。動的な値を補間した 後 に追加されたすべてのヘッダーの合計サイズが、IngressController の spec.tuningOptions.headerBufferMaxRewriteBytes の値を超えてはならないことに注意してください。 |
15.1.30. .spec.httpHeaders.uniqueId
- 説明
- uniqueId は、入力コントローラーが着信 HTTP 要求に挿入する必要があるカスタム HTTP ヘッダーの設定を記述します。通常、このヘッダーは、HTTP リクエストに固有の値を持つように設定されます。ヘッダーは、アプリケーションで使用したり、アクセスログに含めたりして、個々の HTTP リクエストのトレースを容易にすることができます。このフィールドが空の場合、そのようなヘッダーはリクエストに挿入されません。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| format は、挿入された HTTP ヘッダーの値の形式を指定します。名前を指定しない限り、このフィールドは効果がありません。HAProxy ベースの入力コントローラーの実装の場合、この形式は HTTP ログ形式と同じ構文を使用します。フィールドが空の場合、デフォルト値は "%{+X}o\\ %ci:%cp_%fi:%fp_%Ts_%rt:%pid" です。対応する HAProxy のドキュメント (http://cbonte.github.io/haproxy-dconv/2.0/configuration.html#8.2.3) を参照してください。 |
|
| name は、入力コントローラーが HTTP 要求に挿入する HTTP ヘッダーの名前 (たとえば、"unique-id") を指定します。フィールドの値は、RFC2616 セクション 4.2 で定義されている有効な HTTP ヘッダー名である必要があります。フィールドが空の場合、ヘッダーは挿入されません。 |
15.1.31. .spec.logging
- 説明
- ロギングは、何をどこに記録するかについてパラメーターを定義します。このフィールドが空の場合、操作ログは有効になりますが、アクセスログは無効になります。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| アクセスは、クライアント要求をログに記録する方法を記述します。このフィールドが空の場合、アクセスロギングは無効になります。 |
15.1.32. .spec.logging.access
- 説明
- アクセスは、クライアント要求をログに記録する方法を記述します。このフィールドが空の場合、アクセスロギングは無効になります。
- 型
-
object
- 必須
-
destination
-
プロパティー | 型 | 説明 |
---|---|---|
|
| 宛先はアクセスログの移動先です。 |
| `` | httpCaptureCookies は、アクセスログにキャプチャする必要がある HTTP Cookie を指定します。このフィールドが空の場合、Cookie はキャプチャされません。 |
|
| httpCaptureHeaders は、アクセスログにキャプチャする必要がある HTTP ヘッダーを定義します。このフィールドが空の場合、ヘッダーはキャプチャされません。このオプションは、クリアテキスト HTTP 接続と、入力コントローラーが暗号化を終了するセキュア HTTP 接続 (つまり、エッジ終了または再暗号化接続) にのみ適用されることに注意してください。TLS パススルー接続のヘッダーをキャプチャすることはできません。 |
|
| httpLogFormat は、HTTP 要求のログメッセージの形式を指定します。このフィールドが空の場合、ログメッセージは実装のデフォルト HTTP ログ形式を使用します。HAProxy のデフォルトの HTTP ログ形式は、HAProxy のドキュメントを参照して ください。http://cbonte.github.io/haproxy-dconv/2.0/configuration.html#8.2.3 この形式は、クリアテキスト HTTP 接続とセキュア HTTP 接続にのみ適用されることに注意してください。入力コントローラーが暗号化を終了する (つまり、接続をエッジで終了または再暗号化する) 対象。TLS パススルー接続のログ形式には影響しません。 |
|
| logEmptyRequests は、要求を受信しない接続をログに記録する方法を指定します。通常、これらの空のリクエストは、ロードバランサーのヘルスプローブまたは Web ブラウザーの投機的接続 ("事前接続") から送信されます。この場合、これらのリクエストをログに記録することは望ましくない場合があります。ただし、これらの要求はネットワークエラーによっても発生する可能性があります。その場合、空の要求をログに記録すると、エラーの診断に役立つ場合があります。さらに、これらの要求はポートスキャンによって引き起こされる可能性があります。その場合、空の要求をログに記録すると、侵入の試みを検出するのに役立つ場合があります。このフィールドに使用できる値は "Log" および "Ignore" です。デフォルト値は "Log" です。 |
15.1.33. .spec.logging.access.destination
- 説明
- 宛先はアクセスログの移動先です。
- 型
-
object
- 必須
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| コンテナーは、コンテナーのロギング先のパラメーターを保持します。タイプがコンテナーの場合にのみ存在します。 |
|
| syslog は、syslog エンドポイントのパラメーターを保持します。タイプが Syslog の場合にのみ存在します。 |
|
| type はログの宛先のタイプです。次のいずれかである必要があります。*コンテナー入力 Operator は、入力コントローラー Pod で "logs" という名前のサイドカーコンテナーを設定し、サイドカーにログを書き込むように入力コントローラーを設定します。その後、ログはコンテナーログとして利用できます。管理者がこのコンテナーからログを読み取るカスタムロギングソリューションを設定することが予想されます。コンテナーログを使用するということは、ログの割合がコンテナーランタイムまたはカスタムログソリューションの容量を超えると、ログがドロップされる可能性があるということに注意してください。*Syslog ログは syslog エンドポイントに送信されます。管理者は、Syslog メッセージを受信できるエンドポイントを指定する必要があります。管理者がカスタム Syslog インスタンスを設定していることが予想されます。 |
15.1.34. .spec.logging.access.destination.container
- 説明
- コンテナーは、コンテナーのロギング先のパラメーターを保持します。タイプがコンテナーの場合にのみ存在します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| maxLength は、ログメッセージの最大長です。有効な値は 480 から 8192 までの範囲の整数です。省略した場合のデフォルト値は 1024 です。 |
15.1.35. .spec.logging.access.destination.syslog
- 説明
- syslog は、syslog エンドポイントのパラメーターを保持します。タイプが Syslog の場合にのみ存在します。
- 型
-
object
- 必須
-
address
-
port
-
プロパティー | 型 | 説明 |
---|---|---|
|
| address は、ログメッセージを受信する syslog エンドポイントの IP アドレスです。 |
|
| facility はログメッセージの syslog ファシリティーを指定します。このフィールドが空の場合、ファシリティーは "local1" になります。 |
|
| maxLength は、ログメッセージの最大長です。有効な値は 480 から 4096 までの範囲の整数です。省略した場合のデフォルト値は 1024 です。 |
|
| port は、ログメッセージを受信する syslog エンドポイントの UDP ポート番号です。 |
15.1.36. .spec.logging.access.httpCaptureHeaders
- 説明
- httpCaptureHeaders は、アクセスログにキャプチャする必要がある HTTP ヘッダーを定義します。このフィールドが空の場合、ヘッダーはキャプチャされません。このオプションは、クリアテキスト HTTP 接続と、入力コントローラーが暗号化を終了するセキュア HTTP 接続 (つまり、エッジ終了または再暗号化接続) にのみ適用されることに注意してください。TLS パススルー接続のヘッダーをキャプチャすることはできません。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
| `` | request は、キャプチャする HTTP リクエストヘッダーを指定します。このフィールドが空の場合、要求ヘッダーは調整されません。 |
| `` | response は、キャプチャする HTTP 応答ヘッダーを指定します。このフィールドが空の場合、応答ヘッダーはキャプチャされません。 |
15.1.37. .spec.namespaceSelector
- 説明
- namespaceSelector は、Ingress コントローラーによって提供される namespace セットをフィルターするために使用されます。これはシャードの実装に役立ちます。設定されていない場合、デフォルトはフィルタリングなしです。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
15.1.38. .spec.namespaceSelector.matchExpressions
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
15.1.39. .spec.namespaceSelector.matchExpressions[]
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object
- 必須
-
key
-
operator
-
プロパティー | 型 | 説明 |
---|---|---|
|
| key は、セレクターの適用先のラベルキーです。 |
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
15.1.40. .spec.nodePlacement
- 説明
- nodePlacement は、Ingress コントローラーのスケジュールに対する明示的な制御を有効にします。設定されていない場合、デフォルトが使用されます。詳細は、NodePlacement を参照してください。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| nodeSelector は、入力コントローラーのデプロイメントに適用されるノードセレクターです。設定されている場合、指定されたセレクターが使用され、デフォルトが置き換えられます。設定されていない場合、クラスターの config.openshift.io/v1/ingresses ステータスの defaultPlacement フィールドの値によってデフォルトが決まります。defaultPlacement が Workers の場合、デフォルトは kubernetes.io/os: linux node-role.kubernetes.io/worker: '' です。defaultPlacement が ControlPlane の場合、デフォルトは kubernetes.io/os: linux node-role.kubernetes.io/master: '' です。これらのデフォルトは変更される可能性があります。nodeSelector.matchExpressions の使用はサポートされていないことに注意してください。nodeSelector.matchLabels のみ使用できます。これは Kubernetes API の制限です。Pod 仕様では、ノードセレクターに複雑な式を使用することはできません。 |
|
| tolerations は、入力コントローラーのデプロイメントに適用される許容値のリストです。デフォルトは空のリストです。See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ |
|
| この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致するテイントを許容します。 |
15.1.41. .spec.nodePlacement.nodeSelector
- 説明
- nodeSelector は、入力コントローラーのデプロイメントに適用されるノードセレクターです。設定されている場合、指定されたセレクターが使用され、デフォルトが置き換えられます。設定されていない場合、クラスターの config.openshift.io/v1/ingresses ステータスの defaultPlacement フィールドの値によってデフォルトが決まります。defaultPlacement が Workers の場合、デフォルトは kubernetes.io/os: linux node-role.kubernetes.io/worker: '' です。defaultPlacement が ControlPlane の場合、デフォルトは kubernetes.io/os: linux node-role.kubernetes.io/master: '' です。これらのデフォルトは変更される可能性があります。nodeSelector.matchExpressions の使用はサポートされていないことに注意してください。nodeSelector.matchLabels のみ使用できます。これは Kubernetes API の制限です。Pod 仕様では、ノードセレクターに複雑な式を使用することはできません。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
15.1.42. .spec.nodePlacement.nodeSelector.matchExpressions
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
15.1.43. .spec.nodePlacement.nodeSelector.matchExpressions[]
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object
- 必須
-
key
-
operator
-
プロパティー | 型 | 説明 |
---|---|---|
|
| key は、セレクターの適用先のラベルキーです。 |
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
15.1.44. .spec.nodePlacement.tolerations
- 説明
- tolerations は、入力コントローラーのデプロイメントに適用される許容値のリストです。デフォルトは空のリストです。See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
- 型
-
array
15.1.45. .spec.nodePlacement.tolerations[]
- 説明
- この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致するテイントを許容します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| effect は、照合するテイントの効果を示します。空の場合は、すべてのテイント効果に一致します。指定されている場合、許可される値は NoSchedule、PreferNoSchedule、および NoExecute です。 |
|
| key は toleration が適用されるテイントキーです。空の場合は、すべてのテイントキーに一致します。キーが空の場合、Operator は Exists である必要があります。この組み合わせは、すべての値とすべてのキーに一致することを意味します。 |
|
| Operator はキーと値の関係を表します。有効な Operator は Exists および Equal です。デフォルトは Equal です。Exists は、値のワイルドカードと同等であるため、Pod は特定のカテゴリーのすべてのテイントに耐えることができます。 |
|
| tolerationSeconds は、toleration (effect は NoExecute でなければならず、NoExecute 以外の場合このフィールドは無視されます) がテイントを許容する期間を表します。デフォルトでは設定されていません。つまり、テイントを永久に許容します (エビクトしないでください)。ゼロ値と負の値は、システムによって 0 (すぐにエビクト) として扱われます。 |
|
| value は、toleration が一致するテイントの値です。Operator が Exists の場合、値は空である必要があります。それ以外の場合は、通常の文字列のみになります。 |
15.1.46. .spec.routeAdmission
- 説明
- routeAdmission は、新しいルートクレームを処理するためのポリシーを定義します (たとえば、名前空間全体でクレームを許可または拒否します)。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の routeAdmission フィールドを参照してください。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| namespaceOwnership は、namespace 間でホスト名の要求を処理する方法を記述します。値は次のいずれかである必要があります。- 厳密: 異なる名前空間のルートが同じホストを要求することを許可しない。--InterNamespaceAllowed: ルートが名前空間間で同じホスト名の異なるパスを要求できるようにします。空の場合、デフォルトは Strict です。 |
|
| wildcardPolicy は、入力コントローラーに対してワイルドカードポリシーを使用したルートを処理する方法を説明します。WildcardPolicy は、ルートのワイルドカードポリシーに基づいて、入力コントローラーによって公開されるルート [1] の使用を制御します。[1] https://github.com/openshift/api/blob/master/route/v1/types.go 注記:WildcardPolicy を WildcardsAllowed から WildcardsDisallowed に更新すると、サブドメインのワイルドカードポリシーを持つ許可されたルートが機能しなくなります。これらのルートは、ingress コントローラーによって再許可されるために、ワイルドカードポリシーなしに更新する必要があります。WildcardPolicy は、WildcardsAllowed および WildcardsDisallowed の値をサポートします。空の場合、デフォルトは "WildcardsDisallowed" です。 |
15.1.47. .spec.routeSelector
- 説明
- routeSelector は、Ingress コントローラーによって提供される Routes のセットをフィルターするために使用されます。これはシャードの実装に役立ちます。設定されていない場合、デフォルトはフィルタリングなしです。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
15.1.48. .spec.routeSelector.matchExpressions
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
15.1.49. .spec.routeSelector.matchExpressions[]
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object
- 必須
-
key
-
operator
-
プロパティー | 型 | 説明 |
---|---|---|
|
| key は、セレクターの適用先のラベルキーです。 |
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
15.1.50. .spec.tlsSecurityProfile
- 説明
- tlsSecurityProfile は、Ingress コントローラーの TLS 接続の設定を指定します。設定されていない場合、デフォルトは apiservers.config.openshift.io/cluster リソースに基づいています。Old、Intermediate、および Modern のプロファイルタイプを使用する場合、有効なプロファイル設定はリリース間で変更される可能性があります。たとえば、リリース X.Y.Z にデプロイされた Intermediate プロファイルを使用する仕様がある場合、リリース X.Y.Z+1 へのアップグレードにより、新規のプロファイル設定が Ingress コントローラーに適用され、ロールアウトが生じる可能性があります。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
| `` | custom は、ユーザー定義の TLS セキュリティープロファイルです。無効な設定は壊滅的である可能性があるため、カスタムプロファイルの使用には細心の注意を払ってください。カスタムプロファイルの例は次のようになります。暗号: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 |
| `` | intermediate は、https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 に基づく TLS セキュリティープロファイルであり、次のようになります (yaml)。暗号: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - 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 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12 |
| `` | modern は、https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility に基づく TLS セキュリティープロファイルであり、次のようになります (yaml): 暗号: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 |
| `` | old は https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility に基づくセキュリティープロファイルであり、次のようになります (yaml)。暗号: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - 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 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10 |
|
| タイプは、Old、Intermediate、Modern、または Custom のいずれかです。カスタムは、個々の TLS セキュリティープロファイルパラメーターを指定する機能を提供します。Old、Intermediate、Modern は、以下に基づく TLS セキュリティープロファイルです https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations プロファイルはインテントベースであるため、新しい暗号が開発され、既存の暗号が安全ではありません。プロセスで使用できる暗号の正確さに応じて、リストが削減される場合があります。Modern プロファイルは、一般的なソフトウェアライブラリーでまだ十分に採用されていないため、現在サポートされていないことに注意してください。 |
15.1.51. .spec.tuningOptions
- 説明
- tuningOptions は、入力コントローラー Pod のパフォーマンスを調整するためのパラメーターを定義します。すべてのフィールドはオプションであり、設定されていない場合はそれぞれのデフォルトを使用します。詳細は、特定の tuningOptions フィールドを参照してください。通常、tuningOptions 内でフィールドを設定することは推奨しません。デフォルト値は、ほとんどの設定に適しています。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| clientFinTimeout は、サーバー/バックエンドが接続を閉じることに対するクライアントの応答を待機している間、接続が開いたままになる時間を定義します。未設定の場合、デフォルトのタイムアウトは 1s です。 |
|
| clientTimeout は、クライアントの応答を待機している間、接続が開いたままになる時間を定義します。未設定の場合、デフォルトのタイムアウトは 30s です。 |
|
| ConnectTimeout は、サーバー/バックエンドへの接続試行が成功するまで待機する最大時間を定義します。このフィールドには、符号なしの 10 進数の期間文字列を指定する必要があります。それぞれの数字に少数 (任意) と単位の接尾辞を付けます。たとえば、"300ms"、"1.5h"、"2h45m" です。有効な時間単位は、"ns"、"us" (または "µs" U+00B5 か "μs" U+03BC)、"ms"、"s"、"m"、"h" です。省略すると、ユーザーによる指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。このデフォルトは、今後変更される可能性があります。現在のデフォルトは 5s です。 |
|
| headerBufferBytes は、IngressController 接続セッション用に予約する必要のあるメモリーの量 (バイト単位) を示します。IngressController (https://tools.ietf.org/html/rfc7540) で HTTP/2 が有効になっている場合、この値は少なくとも 16384 である必要があることに注意してください。このフィールドが空の場合、IngressController はデフォルト値の 32768 バイトを使用します。小さすぎる headerBufferBytes 値は IngressController を壊す可能性があり、大きすぎる headerBufferBytes 値は、IngressController が必要以上に多くのメモリーを使用する可能性があるため、このフィールドの設定は一般に推奨されません。 |
|
| headerBufferMaxRewriteBytes は、IngressController の接続セッションにおいて、HTTP ヘッダの書き換えと追加のために headerBufferBytes から確保すべきメモリー量 (バイト数) を記述します。着信 HTTP リクエストは (headerBufferBytes --headerBufferMaxRewriteBytes) バイトに制限されることに注意してください。つまり、headerBufferBytes は headerBufferMaxRewriteBytes より大きくなければなりません。このフィールドが空の場合、IngressController はデフォルト値の 8192 バイトを使用します。小さすぎる headerBufferMaxRewriteBytes 値は IngressController を壊す可能性があり、大きすぎる headerBufferMaxRewriteBytes 値は、IngressController が必要以上に大量のメモリーを使用する可能性があるため、このフィールドの設定は一般に推奨されません。 |
|
| healthCheckInterval は、ルーターに設定されたバックエンドに対する次回のヘルスチェックまでの間にルーターがどれだけの時間待機するかを定義します。この値は、すべてのルートのデフォルトとしてグローバルに適用されますが、ルートアノテーション "router.openshift.io/haproxy.health.check.interval" によってルートごとにオーバーライドされる場合があります。符号なしの 10 進数の期間文字列を指定する必要があります。それぞれの数字に少数 (任意) と単位の接尾辞を付けます。たとえば、"300ms"、"1.5h"、"2h45m" です。有効な時間単位は、"ns"、"us" (または "µs" U+00B5 か "μs" U+03BC)、"ms"、"s"、"m"、"h" です。これを 5 秒未満に設定すると、TCP ヘルスチェックが頻繁に行われ、SYN パケットストームが発生するため、過剰なトラフィックが発生する可能性があります。一方、この値を高く設定しすぎると、バックエンドサーバーが利用できないにもかかわらず、そのことがまだ検出されていないために、レイテンシーが増加する可能性があります。healthCheckInterval が空またはゼロの場合、指定なしとみなされ、IngressController によってデフォルトが選択されます。デフォルトは、今後変更される可能性があります。現在、デフォルトの healthCheckInterval 値は 5s です。現在、許容最小値は 1s、許容最大値は 2147483647ms (24.85 日) です。どちらも今後変更される可能性があります。 |
|
| maxConnections は、HAProxy プロセスごとに確立できる同時接続の最大数を定義します。この値を増やすと、各 Ingress Controller Pod がより多くの接続を処理できるようになりますが、消費されるシステムリソースが増えます。許可される値は、空、0、-1、および 2000 - 2000000 の範囲です。このフィールドが空または 0 の場合、IngressController はデフォルト値の 50000 を使用します。ただし、デフォルトは今後のリリースで変更される可能性があります。値が -1 の場合、実行中のコンテナーで使用可能な ulimits に基づいて、HAProxy が最大値を動的に計算します。-1 (自動) を選択すると、大きな値 (OpenShift 4.10 以上のクラスターでは約 520000) が計算されます。そのため、各 HAProxy プロセスで、現在のデフォルトの 50000 と比較して大量のメモリーが使用されます。現在のオペレーティングシステムの制限より大きい値を設定すると、HAProxy プロセスが起動しなくなります。個別の値 (例: 750000) を選択しても、ルーター Pod が新しいノードに移行されたときに、その新しいノードに同じ ulimits が設定されているとは限りません。このような場合、Pod は起動に失敗します。異なる ulimits が設定されたノード (異なる tuned プロファイルなど) があり、個別の値を選択する場合は、-1 を使用して、実行時に値を動的に計算するようにすることを推奨します。メトリクス 'container_memory_working_set_bytes{container="router",namespace="openshift-ingress"}' を使用すると、ルーターコンテナーのメモリー使用量を監視できます。メトリクス 'container_memory_working_set_bytes{container="router",namespace="openshift-ingress"}/container_processes{container="router",namespace="openshift-ingress"}' を使用すると、ルーターコンテナー内の個々の HAProxy プロセスのメモリー使用量を監視できます。 |
|
| reloadInterval は、新しい変更を適用するために、ルーターに許可するリロードの最小間隔を定義します。この値を増やすと、状況に応じて HAProxy プロセスの蓄積を防ぐことができます。この間隔を長くすると、ラウンドロビン分散アルゴリズムを使用するときに、バックエンドのサーバーの負荷の不均衡を軽減することもできます。または、この値を減らすと、HAProxy の設定の更新がより早く有効になるため、レイテンシーが短縮される可能性があります。値は時間間隔の値である必要があります。https://pkg.go.dev/time#ParseDuration を参照してください。現在、許容最小値は 1s、許容最大値は 120s です。許容最小値と許容最大値は、OpenShift の今後のバージョンで変更される可能性があります。この範囲外の期間を指定しても、reloadInterval の値は制限され、拒否されないことに注意してください (たとえば、120 秒を超える期間は 120 秒に制限されます。IngressController はその使用できない値を拒否せず、デフォルト値に置き換えます)。reloadInterval の値が 0 の場合、IngressController はデフォルトを選択します。デフォルトは現在 5s ですが、予告なく変更される可能性があります。このフィールドには、符号なしの 10 進数の期間文字列を指定する必要があります。それぞれの数字に少数 (任意) と単位の接尾辞を付けます。たとえば、"300ms"、"1.5h"、"2h45m" です。有効な時間単位は、"ns"、"us" (または "µs" U+00B5 か "μs" U+03BC)、"ms"、"s"、"m"、"h" です。注記: デフォルトの 5 秒よりも大幅に大きい値を設定すると、ルートとそのエンドポイントへの更新の監視にレイテンシーが発生する可能性があります。HAProxy の設定のリロード頻度が下がり、新しく作成されたルートが次回のリロードまで提供されなくなります。 |
|
| serverFinTimeout は、接続を閉じるクライアントへのサーバー/バックエンドの応答を待機している間、接続が開いたままになる時間を定義します。未設定の場合、デフォルトのタイムアウトは 1s です。 |
|
| serverTimeout は、サーバー/バックエンドの応答を待機している間、接続が開いたままになる時間を定義します。未設定の場合、デフォルトのタイムアウトは 30s です。 |
|
| threadCount は、HAProxy プロセスごとに作成されるスレッドの数を定義します。より多くのスレッドを作成すると、使用されるシステムリソースを増やすことで、各 Ingress コントローラー Pod がより多くの接続を処理できるようになります。HAProxy は現在、最大 64 のスレッドをサポートしています。このフィールドが空の場合、IngressController はデフォルト値を使用します。現在のデフォルトは 4 スレッドですが、これは将来のリリースで変更される可能性があります。通常、このフィールドを設定することは推奨しません。HAProxy スレッドの数を増やすと、入力コントローラー Pod は負荷がかかった状態でより多くの CPU 時間を利用できるようになり、設定が高すぎると他の Pod が不足する可能性があります。スレッドの数を減らすと、Ingress コントローラーのパフォーマンスが低下する可能性があります。 |
|
| tlsInspectDelay は、一致するルートを見つけるためにルーターがデータを保持できる期間を定義します。これを短く設定しすぎると、より一致する証明書を使用できる場合でも、ルーターがエッジ終端または再暗号化ルートのデフォルト証明書にフォールバックする可能性があります。未設定の場合、デフォルトの検査遅延は 5s です。 |
|
| tunnelTimeout は、トンネルがアイドル状態のときにトンネル接続 (WebSocket を含む) が開いたままになる時間を定義します。未設定の場合、デフォルトのタイムアウトは 1h です。 |
15.1.52. .status
- 説明
- status は、IngressController の最後に観察されたステータスです。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| availableReplicas は、入力コントローラーのデプロイメントに応じて監視された使用可能なレプリカの数です。 |
|
| conditions は、状態とそのステータスのリストです使用可能とは、入力コントローラーのデプロイメントが使用可能であり、ルートと入力リソースにサービスを提供していることを意味します (つまり、.status.availableReplicas は.spec.replicas と同じです)。他の入力コントローラーの機能のステータスを示す追加の条件があります。*LoadBalancerManaged- 次の条件が満たされた場合に真になります。*エンドポイント公開戦略にはサービ出力ドバランサーが必要です。- これらの条件のいずれかが満たされていない場合は False。*LoadBalancerReady- 次の条件が満たされた場合に真になります。*ロードバランサーが管理されている。*ロードバランサーの準備ができました。- これらの条件のいずれかが満たされていない場合は False。*DNSManaged- 次の条件が満たされた場合に真。*エンドポイント公開戦略とプラットフォームは DNS をサポートします。*入力コントローラードメインが設定されています。*dns.config.openshift.io/cluster は DNS ゾーンを設定します。- これらの条件のいずれかが満たされていない場合は False。*DNSReady- 次の条件が満たされた場合に真。*DNS が管理されている。*DNS レコードは正常に作成されました。- これらの条件のいずれかが満たされていない場合は False。 |
|
| OperatorCondition は、標準の状態フィールドです。 |
|
| domain は、実際に使用されているドメインです。 |
|
| endpointPublishingStrategy は、実際に使用されている戦略です。 |
|
| namespaceSelector は、実際に使用されている namespaceSelector です。 |
|
| observedGeneration は、観察された最新の世代です。 |
|
| routeSelector は、実際に使用されている routeSelector です。 |
|
| セレクターは、IngressController に対応するイングレスコントローラー Pod 用の文字列形式のラベルセレクターです。一致する Pod の数は、availableReplicas の値と同じである必要があります。 |
|
| tlsProfile は、有効な TLS 接続設定です。 |
15.1.53. .status.conditions
- 説明
- conditions は、状態とそのステータスのリストです使用可能とは、入力コントローラーのデプロイメントが使用可能であり、ルートと入力リソースにサービスを提供していることを意味します (つまり、.status.availableReplicas は.spec.replicas と同じです)。他の入力コントローラーの機能のステータスを示す追加の条件があります。*LoadBalancerManaged- 次の条件が満たされた場合に真になります。*エンドポイント公開戦略にはサービ出力ドバランサーが必要です。- これらの条件のいずれかが満たされていない場合は False。*LoadBalancerReady- 次の条件が満たされた場合に真になります。*ロードバランサーが管理されている。*ロードバランサーの準備ができました。- これらの条件のいずれかが満たされていない場合は False。*DNSManaged- 次の条件が満たされた場合に真。*エンドポイント公開戦略とプラットフォームは DNS をサポートします。*入力コントローラードメインが設定されています。*dns.config.openshift.io/cluster は DNS ゾーンを設定します。- これらの条件のいずれかが満たされていない場合は False。*DNSReady- 次の条件が満たされた場合に真。*DNS が管理されている。*DNS レコードは正常に作成されました。- これらの条件のいずれかが満たされていない場合は False。
- 型
-
array
15.1.54. .status.conditions[]
- 説明
- OperatorCondition は、標準の状態フィールドです。
- 型
-
object
- 必須
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
15.1.55. .status.endpointPublishingStrategy
- 説明
- endpointPublishingStrategy は、実際に使用されている戦略です。
- 型
-
object
- 必須
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| hostNetwork は、HostNetwork エンドポイント公開戦略のパラメーターを保持します。タイプが HostNetwork の場合にのみ存在します。 |
|
| loadBalancer は、ロードバランサーのパラメーターを保持します。タイプが LoadBalancerService の場合にのみ存在します。 |
|
| nodePort は、NodePortService エンドポイント公開戦略のパラメーターを保持します。タイプが NodePortService の場合にのみ存在します。 |
|
| private は、プライベートエンドポイント公開戦略のパラメーターを保持します。タイプがプライベートの場合にのみ存在します。 |
|
| type は、使用する公開戦略です。有効な値は次のとおりです。* LoadBalancerService Publishes は Kubernetes LoadBalancer Service サービスを使用して入力コントローラーを公開します。この設定では、Ingress コントローラーのデプロイメントはコンテナーのネットワークを使用します。LoadBalancer サービスは、デプロイメントを公開するために作成されます。https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer を参照してください。ドメインが設定されている場合、ワイルドカード DNS レコードは、LoadBalancer サービスの外部名を指すように管理されます。DNS レコードは、dns.config.openshift.io/cluster.spec.publicZone および.spec.privateZone で定義された DNS ゾーンでのみ管理されます。ワイルドカード DNS 管理は現在、AWS、Azure、および GCP プラットフォームでのみサポートされています。* HostNetwork は、入力コントローラーがデプロイされているノードポートに入力コントローラーを公開します。この設定では、入力コントローラーのデプロイメントは、ノードポート 80 および 443 にバインドされたホストネットワークを使用します。ユーザーは、ノードポートを介して入力コントローラーを公開するように外部ロードバランサーを設定する必要があります。*プライベート入力コントローラーを公開しません。この設定では、入力コントローラーのデプロイメントはコンテナーネットワークを使用し、明示的に公開されません。ユーザーは、入力コントローラーを手動で公開する必要があります。* NodePortService は、Kubernetes NodePort サービスを使用して入力コントローラーを公開します。この設定では、Ingress コントローラーのデプロイメントはコンテナーのネットワークを使用します。デプロイメントを公開するために NodePort Service が作成されます。特定のノードポートは、OpenShift によって動的に割り当てられます。ただし、静的ポート割り当てをサポートするために、マネージド NodePort サービスのノードポートフィールドへのユーザーの変更は保持されます。 |
15.1.56. .status.endpointPublishingStrategy.hostNetwork
- 説明
- hostNetwork は、HostNetwork エンドポイント公開戦略のパラメーターを保持します。タイプが HostNetwork の場合にのみ存在します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| httpPort は、HTTP リクエストをリッスンするために使用するホスト上のポートです。ポート 80 がすでに使用されている場合は、このフィールドを設定する必要があります。値がクラスターの NodePort 範囲と重ならないようにしてください。値が 0 の場合、または指定されていない場合は、デフォルトで 80 になります。 |
|
| httpsPort は、HTTPS リクエストをリッスンするために使用するホスト上のポートです。ポート 443 がすでに使用されている場合は、このフィールドを設定する必要があります。値がクラスターの NodePort 範囲と重ならないようにしてください。値が 0 の場合、または指定されていない場合は、デフォルトで 443 になります。 |
|
| プロトコルは、IngressController が着信接続でプレーン TCP を使用することを期待するかどうか、または IngressController が PROXY プロトコルを期待するかどうかを指定します。PROXY プロトコルは、クライアント接続を IngressController に転送するときに、それらの接続の送信元アドレスを通信するためにそれをサポートするロードバランサーで使用できます。PROXY プロトコルを使用すると、IngressController は、HTTP ヘッダーとログでロードバランサーのアドレスを報告する代わりに、これらの送信元アドレスを報告できます。IngressController で PROXY プロトコルを有効にすると、PROXY プロトコルを使用して接続を IngressController に転送するロードバランサーを使用していない場合、接続が失敗することに注意してください。PROXY プロトコルの詳細は、http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt を参照してください。このフィールドには、次の値が有効です。*空の文字列。* "TCP".* "PROXY".空の文字列はデフォルトを指定します。これは PROXY プロトコルなしの TCP です。デフォルトは変更される可能性があることに注意してください。 |
|
| statsPort は、ルーターからの統計情報を公開するホスト上のポートです。値がクラスターの NodePort 範囲と重ならないようにしてください。この IngressController に接続を転送するように外部ロードバランサーが設定されている場合、ロードバランサーはヘルスチェックにこのポートを使用する必要があります。ロードバランサーは、特定のノード上のこのポートにパス /healthz/ready を使用して HTTP プローブを送信し、Ingress Controller がノード上でトラフィックを受信する準備ができているかどうかを確認できます。適切に動作させるために、ヘルスチェックによって準備完了が報告されるまで、ロードバランサーからノードにトラフィックを転送しないでください。ロードバランサーは、/healthz/ready が準備完了ではないことを報告し始めてから 45 秒以内にリクエストの転送を停止する必要があります。5 - 10 秒ごとにプローブし、タイムアウトを 5 秒に設定し、正常または異常を判定するしきい値として、成功または失敗したリクエストの数を 2 つに設定してください。これらは十分にテストされた値です。値が 0 の場合、または指定されていない場合は、デフォルトで 1936 になります。 |
15.1.57. .status.endpointPublishingStrategy.loadBalancer
- 説明
- loadBalancer は、ロードバランサーのパラメーターを保持します。タイプが LoadBalancerService の場合にのみ存在します。
- 型
-
object
- 必須
-
dnsManagementPolicy
-
scope
-
プロパティー | 型 | 説明 |
---|---|---|
| `` | allowedSourceRanges は、ロードバランサーへのアクセスを制限する IP アドレス範囲の許可リストを指定します。各範囲は CIDR 表記を使用して指定する必要があります (例: "10.0.0.0/8" または "fd00::/8")。範囲を指定しないと、IPv4 の場合は "0.0.0.0/0"、IPv6 の場合は "::/0" がデフォルトで使用され、すべての送信元アドレスが許可されます。allowedSourceRanges フィールドがない以前のバージョンの OpenShift からの移行を容易にするために、"openshift-ingress" namespace の "router-<ingresscontroller name>" サービスに service.beta.kubernetes.io/load-balancer-source-ranges アノテーションを設定できます。このアノテーションは、OpenShift 4.12 で allowedSourceRanges が空の場合に有効になります。 |
|
| dnsManagementPolicy は、ロードバランサーサービスに関連付けられたワイルドカード DNS レコードのライフサイクルを Ingress Operator によって管理するかどうかを示します。デフォルトは Managed です。有効な値は Managed と Unmanaged です。 |
|
| providerParameters は、基盤となるインフラストラクチャープロバイダーに固有の必要なロードバランサー情報を保持します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の providerParameters フィールドを参照してください。 |
|
| scope は、ロードバランサーが公開されるスコープを示します。可能な値は "External" と "Internal" です。 |
15.1.58. .status.endpointPublishingStrategy.loadBalancer.providerParameters
- 説明
- providerParameters は、基盤となるインフラストラクチャープロバイダーに固有の必要なロードバランサー情報を保持します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の providerParameters フィールドを参照してください。
- 型
-
object
- 必須
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| aws は、AWS のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の aws フィールドを参照してください。 |
|
| gcp は、GCP のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の gcp フィールドを参照してください。 |
|
| ibm は、IBM Cloud のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の ibm フィールドを参照してください。 |
|
| type は、ロードバランサーの基盤となるインフラストラクチャープロバイダーです。許可される値は、"AWS"、"Azure"、"BareMetal"、"GCP"、"IBM"、"Nutanix"、"OpenStack"、および "VSphere" です。 |
15.1.59. .status.endpointPublishingStrategy.loadBalancer.providerParameters.aws
- 説明
- aws は、AWS のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の aws フィールドを参照してください。
- 型
-
object
- 必須
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| classicLoadBalancerParameters は、AWS クラシックロードバランサーの設定パラメーターを保持します。タイプがクラシックの場合にのみ表示されます。 |
|
| networkLoadBalancerParameters は、AWS ネットワークロードバランサーの設定パラメーターを保持します。タイプが NLB の場合にのみ存在します。 |
|
| type は、イングレスコントローラー用にインスタンス化する AWS ロードバランサーのタイプです。有効な値は次のとおりです。*"Classic": トランスポート層 (TCP/SSL) またはアプリケーション層 (HTTP/HTTPS) のいずれかでルーティングを決定するクラシックロードバランサー。詳細は、以下を参照して ください。https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#clb * "NLB": トランスポートでルーティングを決定するネットワークロードバランサーレイヤー (TCP/SSL)。詳細は、https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#nlb を参照してください。 |
15.1.60. .status.endpointPublishingStrategy.loadBalancer.providerParameters.aws.classicLoadBalancer
- 説明
- classicLoadBalancerParameters は、AWS クラシックロードバランサーの設定パラメーターを保持します。タイプがクラシックの場合にのみ表示されます。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| connectionIdleTimeout は、ロードバランサーが接続を閉じるまでに接続がアイドル状態になることができる最大時間を指定します。値は時間間隔の値として解析可能である必要があります。https://pkg.go.dev/time#ParseDuration を参照してください。値が nil またはゼロの場合、指定なしとみなされ、デフォルト値が使用されます。このフィールドのデフォルト値は 60s です。このデフォルトは変更される可能性があります。 |
|
| subnets は、ロードバランサーの割り当て先のサブネットを指定します。サブネットは ID または名前のいずれかで指定できます。サブネットの合計数は 10 に制限されています。ロードバランサーにサブネットをプロビジョニングするには、各サブネットが存在し、各サブネットが異なるアベイラビリティーゾーンからのものである必要がありあす。また、新しい値を取得するためにロードバランサーサービスを再作成する必要があります。仕様から省略すると、各アベイラビリティーゾーンのサブネットが自動検出されます。自動検出されたサブネットは、IngressController オブジェクトのステータスでは報告されません。 |
15.1.61. .status.endpointPublishingStrategy.loadBalancer.providerParameters.aws.classicLoadBalancer.subnets
- 説明
- subnets は、ロードバランサーの割り当て先のサブネットを指定します。サブネットは ID または名前のいずれかで指定できます。サブネットの合計数は 10 に制限されています。ロードバランサーにサブネットをプロビジョニングするには、各サブネットが存在し、各サブネットが異なるアベイラビリティーゾーンからのものである必要がありあす。また、新しい値を取得するためにロードバランサーサービスを再作成する必要があります。仕様から省略すると、各アベイラビリティーゾーンのサブネットが自動検出されます。自動検出されたサブネットは、IngressController オブジェクトのステータスでは報告されません。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| ids は、サブネット ID による AWS サブネットのリストを指定します。サブネット ID は、"subnet-" で始まり、英数字のみで構成され、ちょうど 24 文字の長さで、一意である必要があります。ID と名前で指定されたサブネットの合計数は、10 以下である必要があります。 |
|
| names は、サブネット名による AWS サブネットのリストを指定します。サブネット名は、"subnet-" で始まらず、コンマを含まず、256 文字未満の長さで、一意である必要があります。ID および名前で指定されたサブネットの合計数は、10 以下である必要があります。 |
15.1.62. .status.endpointPublishingStrategy.loadBalancer.providerParameters.aws.networkLoadBalancer
- 説明
- networkLoadBalancerParameters は、AWS ネットワークロードバランサーの設定パラメーターを保持します。タイプが NLB の場合にのみ存在します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| eipAllocations は、Network Load Balancer に割り当てられる Elastic IP (EIP) アドレスの ID のリストです。次の制限が適用されます。eipAllocations は外部スコープでのみ使用でき、内部スコープでは使用できません。EIP は 1 つの IngressController にのみ割り当てることができます。EIP 割り当ての数は、ロードバランサーに使用されるサブネットの数と同じである必要があります。EIP 割り当ては、それぞれ一意である必要があります。最大 10 個の EIP 割り当てが許可されます。Elastic IP アドレスの設定、特性、制限に関する一般的な情報は、https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html を参照してください。 |
|
| subnets は、ロードバランサーの割り当て先のサブネットを指定します。サブネットは ID または名前のいずれかで指定できます。サブネットの合計数は 10 に制限されています。ロードバランサーにサブネットをプロビジョニングするには、各サブネットが存在し、各サブネットが異なるアベイラビリティーゾーンからのものである必要がありあす。また、新しい値を取得するためにロードバランサーサービスを再作成する必要があります。仕様から省略すると、各アベイラビリティーゾーンのサブネットが自動検出されます。自動検出されたサブネットは、IngressController オブジェクトのステータスでは報告されません。 |
15.1.63. .status.endpointPublishingStrategy.loadBalancer.providerParameters.aws.networkLoadBalancer.subnets
- 説明
- subnets は、ロードバランサーの割り当て先のサブネットを指定します。サブネットは ID または名前のいずれかで指定できます。サブネットの合計数は 10 に制限されています。ロードバランサーにサブネットをプロビジョニングするには、各サブネットが存在し、各サブネットが異なるアベイラビリティーゾーンからのものである必要がありあす。また、新しい値を取得するためにロードバランサーサービスを再作成する必要があります。仕様から省略すると、各アベイラビリティーゾーンのサブネットが自動検出されます。自動検出されたサブネットは、IngressController オブジェクトのステータスでは報告されません。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| ids は、サブネット ID による AWS サブネットのリストを指定します。サブネット ID は、"subnet-" で始まり、英数字のみで構成され、ちょうど 24 文字の長さで、一意である必要があります。ID と名前で指定されたサブネットの合計数は、10 以下である必要があります。 |
|
| names は、サブネット名による AWS サブネットのリストを指定します。サブネット名は、"subnet-" で始まらず、コンマを含まず、256 文字未満の長さで、一意である必要があります。ID および名前で指定されたサブネットの合計数は、10 以下である必要があります。 |
15.1.64. .status.endpointPublishingStrategy.loadBalancer.providerParameters.gcp
- 説明
- gcp は、GCP のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の gcp フィールドを参照してください。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| clientAccess は、内部ロードバランサーのクライアントアクセスがどのように制限されるかを記述します。有効な値は次のとおりです。* "Global": グローバルクライアントアクセスで内部ロードバランサーを指定すると、VPC 内の任意のリージョンのクライアントがロードバランサーと通信できるようになります。https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing#global_access * "Local": ローカルクライアントアクセスで内部ロードバランサーを指定すると、同じリージョン内のクライアントのみが意味されます (および VPC)GCP ロードバランサーはロードバランサーと通信できます。これがデフォルトの動作であることに注意してください。https://cloud.google.com/load-balancing/docs/internal#client_access |
15.1.65. .status.endpointPublishingStrategy.loadBalancer.providerParameters.ibm
- 説明
- ibm は、IBM Cloud のロードバランサーに固有の設定を指定します。空の場合、デフォルトが適用されます。デフォルトの詳細は、特定の ibm フィールドを参照してください。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| protocol は、ロードバランサーが PROXY プロトコルを使用して IngressController に接続を転送するかどうかを指定します。https://cloud.ibm.com/docs/containers?topic=containers-vpc-lbaas の「service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol"」を参照してください。サポートされるロードバランサーで PROXY プロトコルを使用すると、クライアント接続を IngressController に転送するときに、クライアント接続のソースアドレスを伝達できます。PROXY プロトコルを使用すると、IngressController は、HTTP ヘッダーとログでロードバランサーのアドレスを報告する代わりに、これらの送信元アドレスを報告できます。IngressController で PROXY プロトコルを有効にすると、PROXY プロトコルを使用して接続を IngressController に転送するロードバランサーを使用していない場合、接続が失敗することに注意してください。PROXY プロトコルの詳細は、http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt を参照してください。protocol の有効な値は、TCP、PROXY です (省略可能)。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。現在のデフォルトは、PROXY プロトコルが有効でない TCP です。 |
15.1.66. .status.endpointPublishingStrategy.nodePort
- 説明
- nodePort は、NodePortService エンドポイント公開戦略のパラメーターを保持します。タイプが NodePortService の場合にのみ存在します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| プロトコルは、IngressController が着信接続でプレーン TCP を使用することを期待するかどうか、または IngressController が PROXY プロトコルを期待するかどうかを指定します。PROXY プロトコルは、クライアント接続を IngressController に転送するときに、それらの接続の送信元アドレスを通信するためにそれをサポートするロードバランサーで使用できます。PROXY プロトコルを使用すると、IngressController は、HTTP ヘッダーとログでロードバランサーのアドレスを報告する代わりに、これらの送信元アドレスを報告できます。IngressController で PROXY プロトコルを有効にすると、PROXY プロトコルを使用して接続を IngressController に転送するロードバランサーを使用していない場合、接続が失敗することに注意してください。PROXY プロトコルの詳細は、http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt を参照してください。このフィールドには、次の値が有効です。*空の文字列。* "TCP".* "PROXY".空の文字列はデフォルトを指定します。これは PROXY プロトコルなしの TCP です。デフォルトは変更される可能性があることに注意してください。 |
15.1.67. .status.endpointPublishingStrategy.private
- 説明
- private は、プライベートエンドポイント公開戦略のパラメーターを保持します。タイプがプライベートの場合にのみ存在します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| プロトコルは、IngressController が着信接続でプレーン TCP を使用することを期待するかどうか、または IngressController が PROXY プロトコルを期待するかどうかを指定します。PROXY プロトコルは、クライアント接続を IngressController に転送するときに、それらの接続の送信元アドレスを通信するためにそれをサポートするロードバランサーで使用できます。PROXY プロトコルを使用すると、IngressController は、HTTP ヘッダーとログでロードバランサーのアドレスを報告する代わりに、これらの送信元アドレスを報告できます。IngressController で PROXY プロトコルを有効にすると、PROXY プロトコルを使用して接続を IngressController に転送するロードバランサーを使用していない場合、接続が失敗することに注意してください。PROXY プロトコルの詳細は、http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt を参照してください。このフィールドには、次の値が有効です。*空の文字列。* "TCP".* "PROXY".空の文字列はデフォルトを指定します。これは PROXY プロトコルなしの TCP です。デフォルトは変更される可能性があることに注意してください。 |
15.1.68. .status.namespaceSelector
- 説明
- namespaceSelector は、実際に使用されている namespaceSelector です。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
15.1.69. .status.namespaceSelector.matchExpressions
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
15.1.70. .status.namespaceSelector.matchExpressions[]
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object
- 必須
-
key
-
operator
-
プロパティー | 型 | 説明 |
---|---|---|
|
| key は、セレクターの適用先のラベルキーです。 |
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
15.1.71. .status.routeSelector
- 説明
- routeSelector は、実際に使用されている routeSelector です。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
15.1.72. .status.routeSelector.matchExpressions
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
15.1.73. .status.routeSelector.matchExpressions[]
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object
- 必須
-
key
-
operator
-
プロパティー | 型 | 説明 |
---|---|---|
|
| key は、セレクターの適用先のラベルキーです。 |
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
15.1.74. .status.tlsProfile
- 説明
- tlsProfile は、有効な TLS 接続設定です。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| 暗号は、TLS ハンドシェイク中にネゴシエートされる暗号アルゴリズムを指定するために使用されます。Operator は、オペランドがサポートしていないエントリーを削除できます。たとえば、DES-CBC3-SHA(yaml) を使用するには: 暗号:-DES-CBC3-SHA |
|
| minTLSVersion は、TLS ハンドシェイク中にネゴシエートされる TLS プロトコルの最小バージョンを指定するために使用されます。たとえば、TLS バージョン 1.1、1.2、1.3 (yaml) を使用する場合、minTLSVersion: VersionTLS11 を指定します。注記: 現在、許可されている最高の minTLSVersion は、VersionTLS12 です。 |