第2章 APIServer [config.openshift.io/v1]
- Description
- APIServer は、システム内のすべての API サーバー、特に kube-apiserver と openshift-apiserver によって共有される設定 (サービング証明書、クライアント CA、CORS ドメインなど) を保持します。インスタンスの正規名は cluster です。互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。
- タイプ
-
object
- 必須
-
spec
-
2.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 設定についてのユーザーが設定できる値を保持します。 |
|
| status クラスターから監視される値を保持します。それらはオーバーライドされない場合があります。 |
2.1.1. .spec
- Description
- spec 設定についてのユーザーが設定できる値を保持します。
- タイプ
-
object
プロパティー | タイプ | Description |
---|---|---|
|
| additionalCORSAllowedOrigins は、API サーバーが CORS ヘッダーを使用してアクセスを許可するホストを記述する追加のユーザー定義の正規表現をリスト表示します。これは、JavaScript アプリケーションから API および統合 OAuth サーバーにアクセスするために必要になる場合があります。値は、Golang 正規表現言語に対応する正規表現です。 |
|
| audit は、クラスター内のすべての OpenShift 提供の API サーバーに適用される監査設定の設定を指定します。 |
|
| clientCA は、Operator が管理する署名者に加えて、着信クライアント証明書で認識される署名者の証明書バンドルを含む ConfigMap を参照します。これが空の場合、Operator が管理する署名者のみが有効です。通常、これを設定する必要があるのは、クライアント証明書を尊重したい独自の PKI がある場合のみです。ConfigMap は、openshift-config 名前空間に存在し、以下の必須フィールドを含む必要があります。--ConfigMap.Data"ca-bundle.crt"-CA バンドル。 |
|
| 暗号化により、データストア層でのリソースの暗号化を設定できます。 |
|
| servingCert は、安全なトラフィックを提供するための TLS 証明書情報です。指定しない場合、Operator が管理する証明書は、安全なトラフィックを提供するために使用されます。 |
|
| tlsSecurityProfile は、外部に公開されたサーバーの TLS 接続の設定を指定します。設定されていない場合、デフォルト (リリース間で変更される可能性があります) が選択されます。現在サポートされているのは Old、Intermediate、および Custom プロファイルのみであり、使用可能な MinTLSVersions の最大数は VersionTLS12 であることに注意してください。 |
2.1.2. .spec.audit
- Description
- audit は、クラスター内のすべての OpenShift 提供の API サーバーに適用される監査設定の設定を指定します。
- タイプ
-
object
プロパティー | タイプ | Description |
---|---|---|
|
| customRules は、グループごとのプロファイルを指定します。これらのプロファイルは、該当する場合、最上位のプロファイルフィールドよりも優先されます。それらは上から下への評価であり、最初に一致するものが適用されます。 |
|
| AuditCustomRule は、最上位プロファイルよりも優先される監査プロファイルのカスタムルールを記述します。 |
|
|
profile は、クラスター内の OpenShift が提供する API サーバー (kube-apiserver、openshift-apiserver、oauth-apiserver) のいずれかに送信されるすべてのリクエストに適用される、目的のトップレベル監査プロファイルの名前を指定します。1 つ以上の customRules に一致するリクエスト。次のプロファイルが提供されます。- デフォルト: デフォルトのポリシー。これは、イベント (まったくログに記録されない)、oauthaccesstokens、および oauthauthorizetokens (両方とも RequestBody レベルでログに記録される) を除くメタデータレベルのログを意味します。--WriteRequestBodies: デフォルトと同様ですが、書き込みリクエスト (作成、更新、パッチ) のリクエストとレスポンスの HTTP ペイロードをログに記録します。--AllRequestBodies:'WriteRequestBodies' と同様ですが、読み取り要求 (get、list) の要求および応答 HTTP ペイロードもログに記録します。- なし:oauthaccesstokens や oauthauthorizetokens でさえも、リクエストはまったくログに記録されません。警告: 問題のトラブルシューティング時に有用なデータが記録されないリスクを完全に理解していない限り、 |
2.1.3. .spec.audit.customRules
- Description
- customRules は、グループごとのプロファイルを指定します。これらのプロファイルは、該当する場合、最上位のプロファイルフィールドよりも優先されます。それらは上から下への評価であり、最初に一致するものが適用されます。
- タイプ
-
array
2.1.4. .spec.audit.customRules[]
- Description
- AuditCustomRule は、最上位プロファイルよりも優先される監査プロファイルのカスタムルールを記述します。
- タイプ
-
object
- 必須
-
group
-
profile
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| group は、このプロファイルを適用するためにリクエストユーザーがメンバーである必要があるグループの名前です。 |
|
| プロファイルは、クラスター内のすべての OpenShift 提供の API サーバーにデプロイする必要のある監査ポリシー設定の名前を指定します。次のプロファイルが提供されています。- デフォルト: 既存のデフォルトポリシー。--WriteRequestBodies: デフォルトと同様ですが、書き込みリクエスト (作成、更新、パッチ) のリクエストとレスポンスの HTTP ペイロードをログに記録します。--AllRequestBodies:'WriteRequestBodies' と同様ですが、読み取り要求 (get、list) の要求および応答 HTTP ペイロードもログに記録します。- なし:oauthaccesstokens や oauthauthorizetokens でさえも、リクエストはまったくログに記録されません。設定されていない場合、デフォルトプロファイルがデフォルトとして使用されます。 |
2.1.5. .spec.clientCA
- Description
- clientCA は、Operator が管理する署名者に加えて、着信クライアント証明書で認識される署名者の証明書バンドルを含む ConfigMap を参照します。これが空の場合、Operator が管理する署名者のみが有効です。通常、これを設定する必要があるのは、クライアント証明書を尊重したい独自の PKI がある場合のみです。ConfigMap は、openshift-config 名前空間に存在し、以下の必須フィールドを含む必要があります。--ConfigMap.Data"ca-bundle.crt"-CA バンドル。
- タイプ
-
object
- 必須
-
name
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| name は、参照される設定マップの metadata.name です。 |
2.1.6. .spec.encryption
- Description
- 暗号化により、データストア層でのリソースの暗号化を設定できます。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| type は、データストア層でリソースを暗号化するために使用する暗号化タイプを定義します。このフィールドが設定されていない場合 (つまり、空の文字列に設定されている場合)、ID が暗黙指定されます。unset の動作は、時間の経過とともに変化する可能性があります。暗号化がデフォルトで有効になっている場合でも、ベストプラクティスの変更に基づいて、未設定の意味が別の暗号化タイプに変更される場合があります。暗号化を有効にすると、プラットフォームに付属するすべての機密リソースが暗号化されます。この機密リソースのリストは、時間の経過とともに変化する可能性があります。現在の権限のあるリストは次のとおりです。1。シークレット 2.configmaps3.routes.route.openshift.io 4. oauthaccesstokens.oauth.openshift.io 5. oauthauthorizetokens.oauth.openshift.io |
2.1.7. .spec.servingCerts
- Description
- servingCert は、安全なトラフィックを提供するための TLS 証明書情報です。指定しない場合、Operator が管理する証明書は、安全なトラフィックを提供するために使用されます。
- タイプ
-
object
プロパティー | タイプ | Description |
---|---|---|
|
| namedCertificates は、特定のホスト名に安全なトラフィックを提供するための TLS 証明書情報を含むシークレットを参照します。名前付き証明書が提供されていない場合、またはクライアントが理解できるようにサーバー名と一致する名前付き証明書がない場合は、defaultServingCertificate が使用されます。 |
|
| APIServerNamedServingCert は、クライアントが理解できるように、サーバーの DNS 名を証明書にマップします。 |
2.1.8. .spec.servingCerts.namedCertificates
- Description
- namedCertificates は、特定のホスト名に安全なトラフィックを提供するための TLS 証明書情報を含むシークレットを参照します。名前付き証明書が提供されていない場合、またはクライアントが理解できるようにサーバー名と一致する名前付き証明書がない場合は、defaultServingCertificate が使用されます。
- タイプ
-
array
2.1.9. .spec.servingCerts.namedCertificates[]
- Description
- APIServerNamedServingCert は、クライアントが理解できるように、サーバーの DNS 名を証明書にマップします。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| names は、安全なトラフィックを提供するためにこの証明書を使用する必要がある明示的な DNS 名 (先頭のワイルドカードを許可) のオプションのリストです。名前が指定されていない場合、暗黙の名前が証明書から抽出されます。正確な名前はワイルドカード名よりも優先されます。ここで定義された明示的な名前は、抽出された暗黙的な名前よりも優先されます。 |
|
| servingCertificate は、安全なトラフィックを提供するための TLS 証明書情報を含む kubernetes.io/tls タイプシークレットを参照します。シークレットは openshift-config 名前空間に存在し、以下の必須フィールドを含む必要があります。-Secret.Data"tls.key"-TLS 秘密鍵。--Secret.Data"tls.crt"-TLS 証明書。 |
2.1.10. .spec.servingCerts.namedCertificates[].servingCertificate
- Description
- servingCertificate は、安全なトラフィックを提供するための TLS 証明書情報を含む kubernetes.io/tls タイプシークレットを参照します。シークレットは openshift-config 名前空間に存在し、以下の必須フィールドを含む必要があります。-Secret.Data"tls.key"-TLS 秘密鍵。--Secret.Data"tls.crt"-TLS 証明書。
- タイプ
-
object
- 必須
-
name
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| name は、参照されるシークレットの metadata.name です。 |
2.1.11. .spec.tlsSecurityProfile
- Description
- tlsSecurityProfile は、外部に公開されたサーバーの TLS 接続の設定を指定します。設定されていない場合、デフォルト (リリース間で変更される可能性があります) が選択されます。現在サポートされているのは Old、Intermediate、および Custom プロファイルのみであり、使用可能な MinTLSVersions の最大数は VersionTLS12 であることに注意してください。
- タイプ
-
object
プロパティー | タイプ | Description |
---|---|---|
| `` | custom は、ユーザー定義の TLS セキュリティープロファイルです。無効な設定は壊滅的である可能性があるため、カスタムプロファイルの使用には細心の注意を払ってください。カスタムプロファイルの例は次のようになります。暗号:-ECDHE-ECDSA-CHACHA20-POLY1305-ECDHE-RSA-CHACHA20-POLY1305-ECDHE-RSA-AES128-GCM-SHA256-ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion:TLSv1。1 |
| `` | 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 - ECDH-ECDSA-AES128-GCM-SHA256 - ECDH-ECRSA-AES128-GCM-SHA256 - ECDH-ECDSA-AES256-GCM- - ECDH-ECDSA-AES128- GCASHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion:TLSv1.2 |
| `` | 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: TLSv1.3 注記: 現在サポートされていません。 |
| `` | old は TLS セキュリティープロファイルで、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: TLSv1.0 |
|
| タイプは、Old、Intermediate、Modern、または Custom のいずれかです。カスタムは、個々の TLS セキュリティープロファイルパラメーターを指定する機能を提供します。Old、Intermediate、Modern は、以下に基づく TLS セキュリティープロファイルです https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations プロファイルはインテントベースであるため、新しい暗号が開発され、既存の暗号が安全ではありません。プロセスで使用できる暗号の正確さに応じて、リストが削減される場合があります。Modern プロファイルは、一般的なソフトウェアライブラリーでまだ十分に採用されていないため、現在サポートされていないことに注意してください。 |
2.1.12. .status
- Description
- status クラスターから監視される値を保持します。それらはオーバーライドされない場合があります。
- タイプ
-
object