第11章 入力 networking.k8s.io/v1
- 説明
- Ingress は、インバウンド接続がバックエンドによって定義されたエンドポイントに到達できるようにするルールのコレクションです。Ingress は、サービスに外部から到達可能な URL を提供し、トラフィックの負荷を分散し、SSL を終了し、名前ベースの仮想ホスティングを提供するように設定できます。
- タイプ
-
object
11.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 の現在の状態を記述します。 |
11.1.1. .spec
- 説明
- IngressSpec は、ユーザーが存在したいイングレスを記述します。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。 |
|
|
ingressClassName は、IngressClass クラスターリソースの名前です。Ingress コントローラー実装は、このフィールドを使用して、推移的な接続 (controller |
|
| rules は、Ingress の設定に使用されるホストルールのリストです。指定されていない場合、またはルールが一致しない場合、すべてのトラフィックがデフォルトのバックエンドに送信されます。 |
|
| IngressRule は、指定されたホストの下のパスを関連するバックエンドサービスにマッピングするルールを表します。着信リクエストは、最初にホストの一致について評価され、次に一致する IngressRuleValue に関連付けられたバックエンドにルーティングされます。 |
|
| tls は TLS 設定を表します。現在、Ingress は単一の TLS ポート 443 のみをサポートしています。このリストの複数のメンバーが異なるホストを指定する場合、入力を実行する入力コントローラーが SNI をサポートしていれば、SNITLS 拡張を介して指定されたホスト名に従って同じポートで多重化されます。 |
|
| IngressTLS は、Ingress に関連付けられたトランスポート層のセキュリティーについて説明しています。 |
11.1.2. .spec.defaultBackend
- 説明
- IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
| resource は、Ingress オブジェクトの namespace にある別の Kubernetes リソースへの ObjectRef です。リソースを指定する場合は、service.Name と service.Port を指定しないでください。これは、サービスとの相互に排他的な設定です。 | |
|
| IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。 |
11.1.3. .spec.defaultBackend.service
- 説明
- IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。
- タイプ
-
object
- 必須
-
name
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| name は参照されるサービスです。サービスは、Ingress オブジェクトと同じ名前空間に存在する必要があります。 |
|
| ServiceBackendPort は、参照されているサービスポートです。 |
11.1.4. .spec.defaultBackend.service.port
- 説明
- ServiceBackendPort は、参照されているサービスポートです。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| name は、サービスのポートの名前です。これは、番号との相互に排他的な設定です。 |
|
| number は、サービスのポート番号 (80 など) の数値です。これは、名前との相互に排他的な設定です。 |
11.1.5. .spec.rules
- 説明
- rules は、Ingress の設定に使用されるホストルールのリストです。指定されていない場合、またはルールが一致しない場合、すべてのトラフィックがデフォルトのバックエンドに送信されます。
- タイプ
-
array
11.1.6. .spec.rules[]
- 説明
- IngressRule は、指定されたホストの下のパスを関連するバックエンドサービスにマッピングするルールを表します。着信リクエストは、最初にホストの一致について評価され、次に一致する IngressRuleValue に関連付けられたバックエンドにルーティングされます。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
|
host は、RFC 3986 で定義されている、ネットワークホストの完全修飾ドメイン名です。RFC 3986 で定義されている URI のホスト部分からの次の逸脱に注意してください:1。IP は許可されていません。現在、IngressRuleValue は、親 Ingress の仕様の IP にのみ適用できます。2.ポートが許可されていないため、 host には、ネットワークホストの終端ドットのないドメイン名である "precise" (例: "foo.bar.com")、または単一のワイルドカードラベルが接頭辞として付けられたドメイン名である "wildcard" (例: ".foo.com") を指定できます。ワイルドカード文字 '' は、それ自体が最初の DNS ラベルとして表示される必要があり、単一のラベルとのみ一致します。ワイルドカードラベルを単独で使用することはできません (例:Host == "*")。リクエストは、次の方法でホストフィールドと照合されます:1。host が正確な場合、http ホストヘッダーが Host と等しい場合、リクエストはこのルールに一致します。2.host がワイルドカードの場合、http ホストヘッダーがワイルドカードルールの接尾辞 (最初のラベルを削除したもの) と等しい場合、リクエストはこのルールに一致します。 |
|
|
HTTPIngressRuleValue は、バックエンドを指す http セレクターのリストです。例: http://<host>/<path>?<searchpart> |
11.1.7. .spec.rules[].http
- 説明
-
HTTPIngressRuleValue は、バックエンドを指す http セレクターのリストです。例: http://<host>/<path>?<searchpart>
URL の一部が RFC 3986 に対応する場合、このリソースを使用して、最後の '/' と最初の '?' または '#' の間にあるすべてと一致します。 - タイプ
-
object
- 必須
-
paths
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| paths は、リクエストをバックエンドにマップするパスのコレクションです。 |
|
| HTTPIngressPath は、パスをバックエンドに関連付けます。パスに一致する着信 URL はバックエンドに転送されます。 |
11.1.8. .spec.rules[].http.paths
- 説明
- paths は、リクエストをバックエンドにマップするパスのコレクションです。
- タイプ
-
array
11.1.9. .spec.rules[].http.paths[]
- 説明
- HTTPIngressPath は、パスをバックエンドに関連付けます。パスに一致する着信 URL はバックエンドに転送されます。
- タイプ
-
object
- 必須
-
pathType
-
backend
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。 |
|
| path は受信リクエストのパスと一致します。現在、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 パスタイプと同じように扱うこともできます。すべてのパスタイプをサポートするには、実装が必要です。
使用可能な列挙値: - |
11.1.10. .spec.rules[].http.paths[].backend
- 説明
- IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
| resource は、Ingress オブジェクトの namespace にある別の Kubernetes リソースへの ObjectRef です。リソースを指定する場合は、service.Name と service.Port を指定しないでください。これは、サービスとの相互に排他的な設定です。 | |
|
| IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。 |
11.1.11. .spec.rules[].http.paths[].backend.service
- 説明
- IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。
- タイプ
-
object
- 必須
-
name
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| name は参照されるサービスです。サービスは、Ingress オブジェクトと同じ名前空間に存在する必要があります。 |
|
| ServiceBackendPort は、参照されているサービスポートです。 |
11.1.12. .spec.rules[].http.paths[].backend.service.port
- 説明
- ServiceBackendPort は、参照されているサービスポートです。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| name は、サービスのポートの名前です。これは、番号との相互に排他的な設定です。 |
|
| number は、サービスのポート番号 (80 など) の数値です。これは、名前との相互に排他的な設定です。 |
11.1.13. .spec.tls
- 説明
- tls は TLS 設定を表します。現在、Ingress は単一の TLS ポート 443 のみをサポートしています。このリストの複数のメンバーが異なるホストを指定する場合、入力を実行する入力コントローラーが SNI をサポートしていれば、SNITLS 拡張を介して指定されたホスト名に従って同じポートで多重化されます。
- タイプ
-
array
11.1.14. .spec.tls[]
- 説明
- IngressTLS は、Ingress に関連付けられたトランスポート層のセキュリティーについて説明しています。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| hosts は、TLS 証明書に含まれるホストのリストです。このリストの値は、tlsSecret で使用されている名前と一致する必要があります。指定しない場合、デフォルトで、この入力を満たすロードバランサーコントローラーのワイルドカードホスト設定になります。 |
|
| SecretName は、ポート 443 で TLS トラフィックを終了するために使用されるシークレットの名前です。SNI ホスト名のみに基づく TLS ルーティングを許可するには、フィールドをオプションのままにします。リスナー内の SNI ホストが、IngressRule で使用される Host ヘッダーフィールドと競合する場合、SNI ホストが終了に使用され、"Host" ヘッダーの値がルーティングに使用されます。 |
11.1.15. .status
- 説明
- IngressStatus は、Ingress の現在の状態を記述します。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| IngressLoadBalancerStatus はロードバランサーのステータスを表します。 |
11.1.16. .status.loadBalancer
- 説明
- IngressLoadBalancerStatus はロードバランサーのステータスを表します。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| ingress はロードバランサーの Ingress ポイントを含むリストです。 |
|
| IngressLoadBalancerIngress は、ロードバランサーの ingress ポイントのステータスを表します。 |
11.1.17. .status.loadBalancer.ingress
- 説明
- ingress はロードバランサーの Ingress ポイントを含むリストです。
- タイプ
-
array
11.1.18. .status.loadBalancer.ingress[]
- 説明
- IngressLoadBalancerIngress は、ロードバランサーの ingress ポイントのステータスを表します。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| hostname は、DNS ベースのロードバランサーの ingress ポイントに設定されます。 |
|
| ip は、IP ベースのロードバランサーの Ingress ポイントに設定されます。 |
|
| ports は、この LoadBalancer によって公開されるポートに関する情報を提供します。 |
|
| IngressPortStatus は、サービスポートのエラー状態を表します。 |
11.1.19. .status.loadBalancer.ingress[].ports
- 説明
- ports は、この LoadBalancer によって公開されるポートに関する情報を提供します。
- タイプ
-
array
11.1.20. .status.loadBalancer.ingress[].ports[]
- 説明
- IngressPortStatus は、サービスポートのエラー状態を表します。
- タイプ
-
object
- 必須
-
port
-
protocol
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| error は、サービスポートの問題を記録するためのものです。エラーの形式は、- 組み込みエラー値は、このファイルで指定され、キャメルケース名を使用する必要がある。- クラウドプロバイダー固有のエラー値には、次のような名前が必要である。foo.example.com/CamelCase 形式に準拠する といった規則に従う必要があります。 |
|
| port は Ingress ポートのポート番号です。 |
|
| protocol は、ingress ポートのプロトコルです。サポート対象の値は TCP、UDP、SCTP です。
使用可能な列挙値: - |