第9章 Ingress [networking.k8s.io/v1]
- 説明
- Ingress は、インバウンド接続がバックエンドによって定義されたエンドポイントに到達できるようにするルールのコレクションです。Ingress は、サービスに外部から到達可能な URL を提供し、トラフィックの負荷を分散し、SSL を終了し、名前ベースの仮想ホスティングを提供するように設定できます。
- 型
-
object
9.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 を参照してください。 | |
|
| IngressSpec は、ユーザーが存在したいイングレスを記述します。 |
|
| IngressStatus は、Ingress の現在の状態を記述します。 |
9.1.1. .spec
- 説明
- IngressSpec は、ユーザーが存在したいイングレスを記述します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。 |
|
|
IngressClassName は、IngressClass クラスターリソースの名前です。Ingress コントローラー実装は、このフィールドを使用して、推移的な接続 (controller |
|
| 入力の設定に使用されるホストルールのリスト。指定されていない場合、またはルールが一致しない場合、すべてのトラフィックがデフォルトのバックエンドに送信されます。 |
|
| IngressRule は、指定されたホストの下のパスを関連するバックエンドサービスにマッピングするルールを表します。着信リクエストは、最初にホストの一致について評価され、次に一致する IngressRuleValue に関連付けられたバックエンドにルーティングされます。 |
|
| TLS 設定。現在、Ingress は単一の TLS ポート 443 のみをサポートしています。このリストの複数のメンバーが異なるホストを指定する場合、入力を実行する入力コントローラーが SNI をサポートしていれば、SNI TLS 拡張を介して指定されたホスト名に従って同じポートで多重化されます。 |
|
| IngressTLS は、Ingress に関連付けられたトランスポート層のセキュリティーについて説明しています。 |
9.1.2. .spec.defaultBackend
- 説明
- IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
| リソースは、Ingress オブジェクトの名前空間にある別の Kubernetes リソースへの ObjectRef です。リソースを指定する場合は、service.Name と service.Port を指定しないでください。これは、"サービス" との相互に排他的な設定です。 | |
|
| IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。 |
9.1.3. .spec.defaultBackend.service
- 説明
- IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。
- 型
-
object
- 必須
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| 名前は参照されるサービスです。サービスは、Ingress オブジェクトと同じ名前空間に存在する必要があります。 |
|
| ServiceBackendPort は、参照されているサービスポートです。 |
9.1.4. .spec.defaultBackend.service.port
- 説明
- ServiceBackendPort は、参照されているサービスポートです。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| Name は、サービスのポートの名前です。これは、番号との相互に排他的な設定です。 |
|
| Number は、サービスのポート番号 (80 など) の数値です。これは、名前との相互に排他的な設定です。 |
9.1.5. .spec.rules
- Description
- 入力の設定に使用されるホストルールのリスト。指定されていない場合、またはルールが一致しない場合、すべてのトラフィックがデフォルトのバックエンドに送信されます。
- 型
-
array
9.1.6. .spec.rules[]
- 説明
- IngressRule は、指定されたホストの下のパスを関連するバックエンドサービスにマッピングするルールを表します。着信リクエストは、最初にホストの一致について評価され、次に一致する IngressRuleValue に関連付けられたバックエンドにルーティングされます。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
|
Host は、RFC 3986 で定義されている、ネットワークホストの完全修飾ドメイン名です。RFC 3986 で定義されている URI のホスト部分からの次の逸脱に注意してください:1。IP は許可されていません。現在、IngressRuleValue は、親 Ingress の仕様の IP にのみ適用できます。2. ポートが許可されていないため、 ホストは、ネットワークホストの終了ドットのないドメイン名である precise (foo.bar.com など)、または単一のワイルドカードラベルが前に付いたドメイン名である wildcard (.foo.com ")。ワイルドカード文字 '' は、それ自体が最初の DNS ラベルとして表示される必要があり、単一のラベルとのみ一致します。ワイルドカードラベルを単独で使用することはできません (例:Host == "*")。リクエストは、次の方法でホストフィールドと照合されます:1。Host が正確である場合、http host ヘッダーが Host と等しい場合、要求はこのルールに一致します。2.Host がワイルドカードの場合、http ホストヘッダーがワイルドカードルールの接尾辞 (最初のラベルを削除) と等しい場合、リクエストはこのルールに一致します。 |
|
|
HTTPIngressRuleValue は、バックエンドを指す http セレクターのリストです。例: http://<host>/<path>?<searchpart> |
9.1.7. .spec.rules[].http
- 説明
-
HTTPIngressRuleValue は、バックエンドを指す http セレクターのリストです。例: http://<host>/<path>?<searchpart>
URL の一部が RFC 3986 に対応する場合、このリソースを使用して、最後の '/' と最初の '?' または '#' の間にあるすべてと一致します。 - 型
-
object
- 必須
-
paths
-
プロパティー | 型 | 説明 |
---|---|---|
|
| リクエストをバックエンドにマップするパスのコレクション。 |
|
| HTTPIngressPath は、パスをバックエンドに関連付けます。パスに一致する着信 URL はバックエンドに転送されます。 |
9.1.8. .spec.rules[].http.paths
- Description
- リクエストをバックエンドにマップするパスのコレクション。
- タイプ
-
array
9.1.9. .spec.rules[].http.paths[]
- 説明
- HTTPIngressPath は、パスをバックエンドに関連付けます。パスに一致する着信 URL はバックエンドに転送されます。
- 型
-
object
- 必須
-
pathType
-
backend
-
プロパティー | 型 | 説明 |
---|---|---|
|
| IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。 |
|
| パスは、着信要求のパスと照合されます。現在、RFC 3986 で定義されているように、URL の従来のパス部分で許可されていない文字を含めることができます。パスは '/' で始まる必要があり、値が "Exact" または "Prefix" の PathType を使用する場合は存在する必要があります。 |
|
| PathType は、パスマッチングの解釈を決定します。PathType は、次のいずれかの値になります。*正確:URL パスと完全に一致します。* 接頭辞: '/' で分割された URL パス接頭辞に基づいて一致します。マッチングは、要素ごとにパス要素で行われます。パス要素参照は、'/' 区切り文字で分割されたパス内のラベルのリストです。すべての p が要求パスの p の要素ごとの接頭辞である場合、要求はパス p と一致します。パスの最後の要素がリクエストパスの最後の要素のサブストリングである場合、一致しないことに注意してください (たとえば、/foo/bar は/foo/bar/baz と一致しますが、/foo/barbaz とは一致しません)。* ImplementationSpecific: パスマッチングの解釈は IngressClass 次第です。実装では、これを個別の PathType として扱うことも、Prefix または Exact パスタイプと同じように扱うこともできます。すべてのパスタイプをサポートするには、実装が必要です。 |
9.1.10. .spec.rules[].http.paths[].backend
- 説明
- IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
| リソースは、Ingress オブジェクトの名前空間にある別の Kubernetes リソースへの ObjectRef です。リソースを指定する場合は、service.Name と service.Port を指定しないでください。これは、"サービス" との相互に排他的な設定です。 | |
|
| IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。 |
9.1.11. .spec.rules[].http.paths[].backend.service
- 説明
- IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。
- 型
-
object
- 必須
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| 名前は参照されるサービスです。サービスは、Ingress オブジェクトと同じ名前空間に存在する必要があります。 |
|
| ServiceBackendPort は、参照されているサービスポートです。 |
9.1.12. .spec.rules[].http.paths[].backend.service.port
- 説明
- ServiceBackendPort は、参照されているサービスポートです。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| Name は、サービスのポートの名前です。これは、番号との相互に排他的な設定です。 |
|
| Number は、サービスのポート番号 (80 など) の数値です。これは、名前との相互に排他的な設定です。 |
9.1.13. .spec.tls
- Description
- TLS 設定。現在、Ingress は単一の TLS ポート 443 のみをサポートしています。このリストの複数のメンバーが異なるホストを指定する場合、入力を実行する入力コントローラーが SNI をサポートしていれば、SNI TLS 拡張を介して指定されたホスト名に従って同じポートで多重化されます。
- 型
-
array
9.1.14. .spec.tls[]
- Description
- IngressTLS は、Ingress に関連付けられたトランスポート層のセキュリティーについて説明しています。
- タイプ
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| ホストは、TLS 証明書に含まれるホストのリストです。このリストの値は、tlsSecret で使用されている名前と一致する必要があります。指定しない場合、デフォルトで、この入力を満たすロードバランサーコントローラーのワイルドカードホスト設定になります。 |
|
| SecretName は、ポート 443 で TLS トラフィックを終了するために使用されるシークレットの名前です。SNI ホスト名のみに基づく TLS ルーティングを許可するには、フィールドをオプションのままにします。リスナー内の SNI ホストが、IngressRule で使用される Host ヘッダーフィールドと競合する場合、SNI ホストが終了に使用され、Host ヘッダーの値がルーティングに使用されます。 |
9.1.15. .status
- 説明
- IngressStatus は、Ingress の現在の状態を記述します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
| LoadBalancer には、ロードバランサーの現在のステータスが含まれます。 |