第8章 ClusterMonitoring [config.openshift.io/v1alpha1]
- 説明
ClusterMonitoring は、Cluster Monitoring Operator の現在の状態を保持するカスタムリソースオブジェクトです。CMO は、モニタリングスタックの中核を成すコンポーネントです。
互換性レベル 4: 互換性は提供されていません。API は、理由を問わずいつでも変更できます。これらの機能は、長期サポートを必要とするアプリケーションで使用することはできません。ClusterMonitoring は、クラスター監視 OperatorAPI のスキーマです。
- 型
-
object - 必須
-
spec
-
8.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 | |
|
|
| 仕様には Cluster Monitoring Operator のユーザー設定が含まれています |
|
|
| status クラスターから監視される値を保持します。それらはオーバーライドされない場合があります。 |
8.1.1. .spec リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- 仕様には Cluster Monitoring Operator のユーザー設定が含まれています
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
|
alertmanagerConfig を使用すると、デフォルトの Alertmanager インスタンスを |
|
|
| metricsServerConfig は、openshift-monitoring 名前空間で実行される Kubernetes メトリクスサーバーを設定するために使用できるオプションのフィールドです。具体的には、メトリクスサーバーインスタンスのデプロイ方法、Pod のスケジューリング設定、監査ポリシー、ログの詳細度などを設定できます。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。 |
|
|
|
userDefined は、デフォルトのプラットフォーム監視に加えて、ユーザー定義の監視を行うためのデプロイメントモードを設定します。userDefined はオプションです。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。現在のデフォルト値は |
8.1.2. .spec.alertmanagerConfig リンクのコピーリンクがクリップボードにコピーされました!
- 説明
-
alertmanagerConfig を使用すると、デフォルトの Alertmanager インスタンスを
openshift-monitoring名前空間にどのようにデプロイするかを設定できます。alertmanagerConfig はオプションです。省略した場合、これは意見表明がないことを意味し、プラットフォームは合理的なデフォルト値を選択することになりますが、そのデフォルト値は時間の経過とともに変更される可能性があります。現在のデフォルト値はDefaultConfigです。 - 型
-
object - 必須
-
デプロイメントモード
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| デプロイメントモードが CustomConfig の場合は customConfig を設定する必要があり、それ以外の場合は設定を解除する必要があります。CustomConfig に設定すると、Alertmanager はカスタム設定でデプロイされます。 |
|
|
| deploymentMode は、デフォルトの Alertmanager インスタンスをモニタリングスタックの一部としてデプロイするかどうかを決定します。許可される値は、Disabled、DefaultConfig、および CustomConfig です。無効に設定すると、Alertmanager インスタンスはデプロイされません。DefaultConfig に設定すると、プラットフォームはデフォルト設定で Alertmanager をデプロイします。CustomConfig に設定すると、Alertmanager はカスタム設定でデプロイされます。 |
8.1.3. .spec.alertmanagerConfig.customConfig リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- デプロイメントモードが CustomConfig の場合は customConfig を設定する必要があり、それ以外の場合は設定を解除する必要があります。CustomConfig に設定すると、Alertmanager はカスタム設定でデプロイされます。
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
|
logLevel は、Alertmanager によって出力されるログの詳細度を定義します。このフィールドを使用すると、生成されるログの量と深刻度を制御できます。これは、問題のデバッグや、実稼働環境におけるノイズの低減に役立ちます。使用可能な値は、Error、Warn、Info、および Debug です。エラーに設定すると、エラーのみがログに記録されます。警告に設定すると、警告とエラーの両方がログに記録されます。情報に設定すると、一般的な情報、警告、エラーがすべてログに記録されます。デバッグに設定すると、詳細なデバッグ情報がログに記録されます。省略した場合、これは意見表明がないことを意味し、プラットフォームは合理的なデフォルト値を選択することになりますが、そのデフォルト値は時間の経過とともに変更される可能性があります。現在のデフォルト値は |
|
|
| nodeSelector は、Pod がスケジュールされるノードを定義します。nodeSelector はオプションです。
これを省略した場合、ユーザーには選択する意図がないことを意味し、プラットフォームが適切なデフォルトを選択します。これらのデフォルトは時間の経過とともに変更される可能性があります。現在のデフォルト値は |
|
|
| resources は、Alertmanager コンテナーに対するコンピュートリソースの要求と制限を定義します。これには、スケジューリングとリソース使用量を制御するための CPU、メモリー、および huge page の制約が含まれます。指定がない場合、プラットフォームによってデフォルト値が使用されます。リクエストは制限を超えることはできません。このフィールドは任意です。詳細情報: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ これは、Kubernetes ResourceRequirements に対応する簡略化された API です。現在のデフォルト値は次のとおりです。resources: - name: cpu request: 4m limit: null - name: memory request: 40Mi limit: null このリストの最大長は 10 です。このリストの最小文字数は 1 です。 |
|
|
| ContainerResource は、コンテナーに必要な単一のリソース要件を定義します。 |
|
|
| secrets は、Alertmanager にマウントする必要のあるシークレットのリストを定義します。シークレットは、Alertmanager オブジェクトと同じ namespace 内になければなりません。これらは、secret-<secret-name> という名前のボリュームとして追加され、Alertmanager Pod の 'alertmanager' コンテナー内の/etc/alertmanager/secrets/<secret-name> にマウントされます。 これらのシークレットは、エンドポイントレシーバーとの間で Alertmanager を認証するために使用できます。たとえば、シークレットを使用して以下のことができます。- プライベート CA 証明書を必要とするレシーバーとの TLS 認証用の証明書を提供する - パスワードベースの認証を必要とする受信レシーバーとの基本 HTTP 認証用の認証情報を保存する - アラートレシーバーが必要とするその他の認証情報を保存する このフィールドは任意です。このリストの最大長は 10 です。このリストの最小文字数は 1 です。このリストの項目はすべて重複してはなりません。 |
|
|
| toleration は Pod の toleration を定義します。toleration はオプションです。 これを省略した場合、ユーザーには選択する意図がないことを意味し、プラットフォームが適切なデフォルトを選択します。これらのデフォルトは時間の経過とともに変更される可能性があります。デフォルト値は空/未設定です。このリストの最大長は 10、最小長は 1 です。 |
|
|
| この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致する taint を許容します。 |
|
|
| topologySpreadConstraints は、Alertmanager Pod をゾーン、ノード、その他のユーザー定義ラベルなどのトポロジードメイン全体にどのように分散させるかに関するルールを定義します。topologySpreadConstraints はオプションです。これは、同じ障害ドメインにレプリカを過剰に配置することを避けることで、高可用性とリソース効率の向上に役立ちます。
省略した場合、これは意見表明がないことを意味し、プラットフォームがデフォルト設定を選択することになりますが、そのデフォルト設定は時間の経過とともに変更される可能性があります。このフィールドは、Pod 仕様の |
|
|
| topologySpreadConstraint は、指定されたトポロジー間で一致する Pod を分散する方法を指定します。 |
|
|
| volumeClaimTemplate は Alertmanager の永続ストレージを定義します。この設定を使用して、ストレージクラス、ボリュームサイズ、名前などの永続ボリューム要求を設定します。省略した場合、Pod は一時的なストレージを使用するため、アラートデータは再起動後も保持されません。このフィールドは任意です。 |
8.1.4. .spec.alertmanagerConfig.customConfig.resources リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- resources は、Alertmanager コンテナーに対するコンピュートリソースの要求と制限を定義します。これには、スケジューリングとリソース使用量を制御するための CPU、メモリー、および huge page の制約が含まれます。指定がない場合、プラットフォームによってデフォルト値が使用されます。リクエストは制限を超えることはできません。このフィールドは任意です。詳細情報: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ これは、Kubernetes ResourceRequirements に対応する簡略化された API です。現在のデフォルト値は次のとおりです。resources: - name: cpu request: 4m limit: null - name: memory request: 40Mi limit: null このリストの最大長は 10 です。このリストの最小文字数は 1 です。
- 型
-
array
8.1.5. .spec.alertmanagerConfig.customConfig.resources[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- ContainerResource は、コンテナーに必要な単一のリソース要件を定義します。
- 型
-
object - 必須
-
name
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| 制限とは、許可されるリソースの最大量です (例:2Mi、1Gi。このフィールドは任意です。要求値を指定する場合、制限値は要求値より小さくすることはできません。指定する際は、値は 0 より大きい値でなければなりません。 |
|
|
|
リソースの名前 (例:cpu、memory、hugepages-2Mi)。このフィールドは必須です。名前は英数字、 |
|
|
| 要求とは、必要なリソースの最小量です (例:2Mi、1Gi。このフィールドは任意です。制限が指定されている場合、リクエストは制限を超えることはできません。 |
8.1.6. .spec.alertmanagerConfig.customConfig.tolerations リンクのコピーリンクがクリップボードにコピーされました!
- 説明
toleration は Pod の toleration を定義します。toleration はオプションです。
これを省略した場合、ユーザーには選択する意図がないことを意味し、プラットフォームが適切なデフォルトを選択します。これらのデフォルトは時間の経過とともに変更される可能性があります。デフォルト値は空/未設定です。このリストの最大長は 10、最小長は 1 です。
- 型
-
array
8.1.7. .spec.alertmanagerConfig.customConfig.tolerations[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致する taint を許容します。
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| effect は、照合する taint の効果を示します。空の場合は、すべての taint 効果に一致します。指定されている場合、許可される値は NoSchedule、PreferNoSchedule、および NoExecute です。 |
|
|
| key は toleration が適用される taint キーです。空の場合は、すべての taint キーに一致します。キーが空の場合、Operator は Exists である必要があります。この組み合わせは、すべての値とすべてのキーに一致することを意味します。 |
|
|
| Operator はキーと値の関係を表します。有効な Operator は Exists および Equal です。デフォルトは Equal です。Exists は、値のワイルドカードと同等であるため、Pod は特定のカテゴリーのすべての taint に耐えることができます。 |
|
|
| tolerationSeconds は、toleration (effect は NoExecute でなければならず、NoExecute 以外の場合このフィールドは無視されます) が taint を許容する期間を表します。デフォルトでは設定されていません。つまり、taint を永続的に許容します (退避しないでください)。ゼロ値と負の値は、システムによって 0 (すぐに退避) として扱われます。 |
|
|
| value は、toleration が一致する taint の値です。Operator が Exists の場合、値は空である必要があります。それ以外の場合は、通常の文字列のみになります。 |
8.1.8. .spec.alertmanagerConfig.customConfig.topologySpreadConstraints リンクのコピーリンクがクリップボードにコピーされました!
- 説明
topologySpreadConstraints は、Alertmanager Pod をゾーン、ノード、その他のユーザー定義ラベルなどのトポロジードメイン全体にどのように分散させるかに関するルールを定義します。topologySpreadConstraints はオプションです。これは、同じ障害ドメインにレプリカを過剰に配置することを避けることで、高可用性とリソース効率の向上に役立ちます。
省略した場合、これは意見表明がないことを意味し、プラットフォームがデフォルト設定を選択することになりますが、そのデフォルト設定は時間の経過とともに変更される可能性があります。このフィールドは、Pod 仕様の
topologySpreadConstraintsフィールドに直接対応します。デフォルトは空のリストです。このリストの最大長は 10 です。このリストの最小長は 1 です。エントリーには一意の topologyKey と whenUnsatisfiable のペアが必要です。- 型
-
array
8.1.9. .spec.alertmanagerConfig.customConfig.topologySpreadConstraints[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- topologySpreadConstraint は、指定されたトポロジー間で一致する Pod を分散する方法を指定します。
- 型
-
object - 必須
-
maxSkew -
topologyKey -
whenUnsatisfiable
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| LabelSelector は、一致する Pod を見つけるために使用されます。このラベルセレクターに一致する Pod は、対応するトポロジードメイン内の Pod の数を決定するためにカウントされます。 |
|
|
| MatchLabelKeys は、分散を計算する Pod を選択するための Pod ラベルキーのセットです。このようなキーは受信 Pod のラベルから値を検索するために使用され、このキーと値のラベルは labelSelector と AND 演算されて、受信 Pod の分散が計算される既存の Pod のグループを選択します。同じキーが MatchLabelKeys と LabelSelector の両方に存在することはできません。LabelSelector が設定されていないと、MatchLabelKeys は設定できません。受信 Pod ラベルに存在しないキーは無視されます。null または空のリストは、labelSelector とのみ一致することを意味します。 これはベータフィールドであり、MatchLabelKeysInPodTopologySpread フィーチャーゲートを有効にする必要があります (デフォルトで有効)。 |
|
|
|
MaxSkew は、Pod が不均一に分布している可能性の程度を表します。 |
|
|
| MinDomains は、対象となるドメインの最小数を示します。トポロジーキーが一致する適格なドメインの数が minDomains より少ない場合、Pod Topology Spread は "グローバル最小値" を 0 として扱い、スキューの計算が実行されます。また、トポロジーキーが一致する適格なドメインの数が minDomains の数以上の場合、この値はスケジュールに影響しません。その結果、対象となるドメインの数が minDomains より少ない場合、スケジューラーはそれらのドメインに対して maxSkew を超える Pod をスケジュールしません。値が nil の場合、制約は MinDomains が 1 と等しいかのように動作します。有効な値は 0 より大きい整数です。値が nil でない場合、WhenUnsatisfiable は DoNotSchedule でなければなりません。 たとえば、3 ゾーンクラスターの場合、MaxSkew は 2 に設定され、MinDomains は 5 に設定され、同じ labelSelector を持つ Pod は 2/2/2 に分散されます ( | zone1 | zone2 | zone3 | | P P | P | P | P P | P P | P P | P |)。ドメインの数は 5 (MinDomains 未満) であるため、"global minimum" は 0 として扱われます。このような場合、同じ labelSelector を持つ新しい Pod をスケジュールすることはできません。新しい Pod が 3 つのゾーンのいずれかにスケジュールされている場合、スキューは 3(3 - 0) と計算され、MaxSkew に違反するためです。 |
|
|
| nodeAffinityPolicy は、Pod トポロジーの分散スキューを計算するときに Pod の nodeAffinity/nodeSelector をどのように扱うかを示します。オプションは - Honor: nodeAffinity/nodeSelector に一致するノードのみが計算に含まれます。- Ignore: nodeAffinity/nodeSelector は無視されます。すべてのノードが計算に含まれます。 この値が nil の場合、この動作は Honor ポリシーと同じです。 |
|
|
| NodeTaintsPolicy は、Pod トポロジースプレッドスキューを計算するときにノードのテイントを処理する方法を示します。オプション: - Honor: テイントのないノードと、受信 Pod が許容範囲でテイントがあるノードが含まれます。- Ignore: ノードのテイントは無視されます。すべてのノードが含まれます。 この値が nil の場合、この動作は Ignore ポリシーと同じです。 |
|
|
| TopologyKey は、ノードラベルのキーです。このキーと同じ値のラベルを持つノードは、同じトポロジーにあると見なされます。各 <key, value> を "バケット" と見なし、バランスの取れた数の Pod を各バケットに配置しようとします。ドメインをトポロジーの特定のインスタンスとして定義します。また、ノードが nodeAffinityPolicy および nodeTaintsPolicy の要件を満たすドメインとして、適格なドメインを定義します。たとえば、TopologyKey が "kubernetes.io/hostname" の場合、各ノードはそのトポロジーのドメインです。また、TopologyKey が "topology.kubernetes.io/zone" の場合は、各ゾーンがそのトポロジーのドメインになります。必須フィールドです。 |
|
|
| WhenUnsatisfiable は、スプレッドの制約を満たさない場合に Pod を処理する方法を示します。-DoNotSchedule (デフォルト) は、スケジューラーにスケジュールしないように指示します。--ScheduleAnyway は、任意の場所で Pod をスケジュールするようにスケジューラーに指示しますが、スキューを減らすのに役立つトポロジーに高い優先順位を与えます。受信 Pod に対する制約は、対象となる Pod へのノード割り当て候補すべてがトポロジーの一部の "MaxSkew" に違反する場合に、"Unsatisfiable" とみなされます。たとえば、3 ゾーンクラスターでは、MaxSkew は 1 に設定され、labelSelector が同じ Pod は 3/1/1 ( | zone1 | zone2 | zone3 | | P P P | P | P |) に分散されます。WhenUnsatisfiable が DoNotSchedule に設定されている場合、zone2(zone3) の ActualSkew(2-1) が MaxSkew(1) を満たすため、受信 Pod は zone2(zone3) にのみスケジュールして 3/2/1(3/1/2) になります。つまり、クラスターは依然として不均衡である可能性がありますが、スケジューラーによってクラスターが さらに 不均衡になることはありません。必須フィールドです。 |
8.1.10. .spec.alertmanagerConfig.customConfig.topologySpreadConstraints[].labelSelector リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- LabelSelector は、一致する Pod を見つけるために使用されます。このラベルセレクターに一致する Pod は、対応するトポロジードメイン内の Pod の数を決定するためにカウントされます。
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
8.1.11. .spec.alertmanagerConfig.customConfig.topologySpreadConstraints[].labelSelector.matchExpressions リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
8.1.12. .spec.alertmanagerConfig.customConfig.topologySpreadConstraints[].labelSelector.matchExpressions[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object - 必須
-
key -
operator
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| key は、セレクターの適用先のラベルキーです。 |
|
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
8.1.13. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- volumeClaimTemplate は Alertmanager の永続ストレージを定義します。この設定を使用して、ストレージクラス、ボリュームサイズ、名前などの永続ボリューム要求を設定します。省略した場合、Pod は一時的なストレージを使用するため、アラートデータは再起動後も保持されません。このフィールドは任意です。
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| 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 は、Pod 作成者が要求するボリュームの望ましい特性を定義します。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
|
|
| status は、継続的なボリュームクレームの現在の情報/ステータスを表します。read-only詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
8.1.14. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.metadata リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- 標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。
- 型
-
object
8.1.15. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.spec リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- spec は、Pod 作成者が要求するボリュームの望ましい特性を定義します。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| accessModes には、ボリュームに割り当てる必要のあるアクセスモードが含まれます。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 |
|
|
| dataSource フィールドは、次のいずれかを指定するために使用できます。*既存の VolumeSnapshot オブジェクト (snapshot.storage.k8s.io/VolumeSnapshot)*既存の PVC(PersistentVolumeClaim) プロビジョナーまたは外部コントローラーが指定されたデータソースをサポートできる場合、指定されたデータソースのコンテンツに基づく新しいボリューム。AnyVolumeDataSource フィーチャーゲートが有効になっている場合、dataSource の内容は dataSourceRef にコピーされ、dataSourceRef.namespace が指定されていない場合に dataSourceRef コンテンツが dataSource にコピーされます。namespace が指定されている場合、dataSourceRef は dataSource にコピーされません。 |
|
|
| dataSourceRef は、空でないボリュームが必要な場合は、ボリュームにデータを取り込むオブジェクトを指定します。これには、空ではない API グループ (コアオブジェクトではない) または PersistentVolumeClaim オブジェクトの任意のオブジェクトを指定できます。このフィールドが指定されている場合、ボリュームバインディングは、指定されたオブジェクトのタイプが、インストールされているボリュームポピュレーターまたはダイナミックプロビジョナーと一致する場合にのみ成功します。このフィールドは、dataSource フィールドの機能を置き換えるため、両方のフィールドが空でない場合は、同じ値である必要があります。下位互換性を確保するために、dataSourceRef で namespace が指定されておらず、一方が空でもう一方が空でない場合、両方のフィールド (dataSource と dataSourceRef) が自動的に同じ値に設定されます。dataSourceRef で namespace が指定されている場合、dataSource は同じ値に設定されていないため、空にする必要があります。dataSource と dataSourceRef には 3 つの重要な違いがあります。* dataSource では 2 つの特定のタイプのオブジェクトのみが使用できますが、dataSourceRef ではコアオブジェクト以外および PersistentVolumeClaim オブジェクトを使用できます。* dataSource は使用できない値を無視 (ドロップ) しますが、dataSourceRef はすべての値を保持し、使用できない値が指定された場合はエラーを生成します。* dataSource ではローカルオブジェクトのみが使用できますが、dataSourceRef では任意の namespace のオブジェクトを使用できます。(ベータ版) このフィールドを使用するには、AnyVolumeDataSource フィーチャーゲートを有効にする必要があります。(アルファ版) dataSourceRef の namespace フィールドを使用するには、CrossNamespaceVolumeDataSource フィーチャーゲートを有効にする必要があります。 |
|
|
| resources は、ボリュームに必要な最小リソースを表します。RecoverVolumeExpansionFailure 機能が有効になっている場合、ユーザーは以前の値よりも低いリソース要件を指定できますが、要求のステータスフィールドに記録された容量よりも大きい必要があります。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources |
|
|
| selector は、バインドを考慮するボリュームに対するラベルクエリーです。 |
|
|
| storageClassName は、要求に必要な StorageClass の名前です。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 |
|
|
| volumeAttributesClassName は、このクレームで使用される VolumeAttributesClass を設定するために使用できます。指定すると、CSI ドライバーは、対応する VolumeAttributesClass で定義された属性を使用してボリュームを作成または更新します。これは storageClassName とは異なる目的があり、クレームの作成後に変更できます。空の文字列または nil 値は、請求に VolumeAttributesClass が適用されないことを示します。請求が実行不可能なエラー状態になった場合、このフィールドを以前の値 (nil を含む) にリセットすることで、変更をキャンセルできます。volumeAttributesClass によって参照されるリソースが存在しない場合は、そのようなリソースが存在するまで、この PersistentVolumeClaim は、modifyVolumeStatus フィールドに反映されるように、保留状態に設定されます。詳細はこちら: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ |
|
|
| volumeMode は、要求に必要なボリュームのタイプを定義します。Filesystem の値は、要求仕様に含まれていない場合に暗示されます。 |
|
|
| volumeName は、この要求をサポートする PersistentVolume へのバインディング参照です。 |
8.1.16. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.spec.dataSource リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- dataSource フィールドは、次のいずれかを指定するために使用できます。*既存の VolumeSnapshot オブジェクト (snapshot.storage.k8s.io/VolumeSnapshot)*既存の PVC(PersistentVolumeClaim) プロビジョナーまたは外部コントローラーが指定されたデータソースをサポートできる場合、指定されたデータソースのコンテンツに基づく新しいボリューム。AnyVolumeDataSource フィーチャーゲートが有効になっている場合、dataSource の内容は dataSourceRef にコピーされ、dataSourceRef.namespace が指定されていない場合に dataSourceRef コンテンツが dataSource にコピーされます。namespace が指定されている場合、dataSourceRef は dataSource にコピーされません。
- 型
-
object - 必須
-
kind -
name
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| APIGroup は参照されているリソースのグループです。APIGroup が指定されていない場合は、指定の Kind をコア API グループに設定する必要があります。他のサードパーティータイプには、APIGroup が必要です。 |
|
|
| kind は参照されているリソースのタイプです。 |
|
|
| name は、参照されているリソースの名前です。 |
8.1.17. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.spec.dataSourceRef リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- dataSourceRef は、空でないボリュームが必要な場合は、ボリュームにデータを取り込むオブジェクトを指定します。これには、空ではない API グループ (コアオブジェクトではない) または PersistentVolumeClaim オブジェクトの任意のオブジェクトを指定できます。このフィールドが指定されている場合、ボリュームバインディングは、指定されたオブジェクトのタイプが、インストールされているボリュームポピュレーターまたはダイナミックプロビジョナーと一致する場合にのみ成功します。このフィールドは、dataSource フィールドの機能を置き換えるため、両方のフィールドが空でない場合は、同じ値である必要があります。下位互換性を確保するために、dataSourceRef で namespace が指定されておらず、一方が空でもう一方が空でない場合、両方のフィールド (dataSource と dataSourceRef) が自動的に同じ値に設定されます。dataSourceRef で namespace が指定されている場合、dataSource は同じ値に設定されていないため、空にする必要があります。dataSource と dataSourceRef には 3 つの重要な違いがあります。* dataSource では 2 つの特定のタイプのオブジェクトのみが使用できますが、dataSourceRef ではコアオブジェクト以外および PersistentVolumeClaim オブジェクトを使用できます。* dataSource は使用できない値を無視 (ドロップ) しますが、dataSourceRef はすべての値を保持し、使用できない値が指定された場合はエラーを生成します。* dataSource ではローカルオブジェクトのみが使用できますが、dataSourceRef では任意の namespace のオブジェクトを使用できます。(ベータ版) このフィールドを使用するには、AnyVolumeDataSource フィーチャーゲートを有効にする必要があります。(アルファ版) dataSourceRef の namespace フィールドを使用するには、CrossNamespaceVolumeDataSource フィーチャーゲートを有効にする必要があります。
- 型
-
object - 必須
-
kind -
name
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| APIGroup は参照されているリソースのグループです。APIGroup が指定されていない場合は、指定の Kind をコア API グループに設定する必要があります。他のサードパーティータイプには、APIGroup が必要です。 |
|
|
| kind は参照されているリソースのタイプです。 |
|
|
| name は、参照されているリソースの名前です。 |
|
|
| Namespace は、参照されるリソースの namespace です。namespace が指定されている場合は、その namespace の所有者が参照を受け入れることができるように、参照された namespace に gateway.networking.k8s.io/ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。(アルファ版) このフィールドでは、CrossNamespaceVolumeDataSource フィーチャーゲートを有効にする必要があります。 |
8.1.18. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.spec.resources リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- resources は、ボリュームに必要な最小リソースを表します。RecoverVolumeExpansionFailure 機能が有効になっている場合、ユーザーは以前の値よりも低いリソース要件を指定できますが、要求のステータスフィールドに記録された容量よりも大きい必要があります。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| limits は、許可されるコンピュートリソースの最大量を示します。詳細: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
|
|
| requests は、必要なコンピュートリソースの最小量を示します。コンテナーで Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。リクエストは制限を超えることはできません。詳細: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
8.1.19. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.spec.selector リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- selector は、バインドを考慮するボリュームに対するラベルクエリーです。
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
8.1.20. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.spec.selector.matchExpressions リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
8.1.21. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.spec.selector.matchExpressions[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object - 必須
-
key -
operator
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| key は、セレクターの適用先のラベルキーです。 |
|
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
8.1.22. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.status リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- status は、継続的なボリュームクレームの現在の情報/ステータスを表します。read-only詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| accessModes には、PVC をサポートするボリュームが実際に持つアクセスモードが含まれます。詳細は、https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 を参照してください。 |
|
|
| allocatedResourceStatuses は、指定された PVC に対してサイズが変更になるリソースのステータスを格納します。キー名は標準の Kubernetes ラベル構文に従います。有効な値は次のいずれかです: * 接頭辞のないキー: - ストレージ - ボリュームの容量。* カスタムリソースでは、"example.com/my-custom-resource" などの実装定義の接頭辞付きの名前を使用する必要があります。上記の値以外では、接頭辞のないキーや kubernetes.io 接頭辞を持つキーは予約済みとみなされるため、使用できません。 ClaimResourceStatus は、次のいずれかの状態になります。- ControllerResizeInProgress: サイズ変更コントローラーがコントロールプレーンでボリュームのサイズ変更を開始したときに設定される状態。- ControllerResizeFailed: サイズ変更コントローラーで端末エラーが発生してサイズ変更が失敗したときに設定される状態。- NodeResizePending: サイズ変更コントローラーがボリュームのサイズ変更を完了したが、ノードでさらにボリュームのサイズ変更が必要な場合に設定される状態。- NodeResizeInProgress: kubelet がボリュームのサイズ変更を開始するときに設定される状態。- NodeResizeFailed: kubelet で端末エラーが発生してサイズ変更が失敗した場合に設定される状態。一時的なエラーでは NodeResizeFailed は設定されません。たとえば、容量を増やすために PVC を拡張する場合、このフィールドは次のいずれかの状態になります。- pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeFailed" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizePending" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeFailed" このフィールドが設定されていないと、指定された PVC に対してサイズ変更操作が進行中ではないことを意味します。 以前は不明だった resourceName または ClaimResourceStatus を持つ PVC 更新を受信したコントローラーは、設計された目的のためにその更新を無視する必要があります。たとえば、ボリュームの容量のサイズ変更のみを担当するコントローラーは、PVC に関連付けられている他の有効なリソースを変更する PVC 更新を無視する必要があります。 これはアルファフィールドであるため、RecoverVolumeExpansionFailure 機能を有効にする必要があります。 |
|
|
| allocatedResources は、PVC に割り当てられたリソース (容量を含む) を追跡します。キー名は標準の Kubernetes ラベル構文に従います。有効な値は次のいずれかです: * 接頭辞のないキー: - ストレージ - ボリュームの容量。* カスタムリソースでは、"example.com/my-custom-resource" などの実装定義の接頭辞付きの名前を使用する必要があります。上記の値以外では、接頭辞のないキーや kubernetes.io 接頭辞を持つキーは予約済みとみなされるため、使用できません。 ここで報告される容量は、ボリューム拡張操作が要求された場合の実際の容量よりも大きくなる可能性があります。ストレージクォータには、allocatedResources と PVC.spec.resources を比較して大きい方の値が使用されます。allocatedResources が設定されていない場合、PVC.spec.resources のみがクォータの計算に使用されます。ボリューム拡張容量要求が下げられ、進行中の拡張操作がなく、実際のボリューム容量が要求された容量以下である場合にのみ、allocatedResources が引き下げられます。 以前は不明だった resourceName を持つ PVC 更新を受信したコントローラーは、設計された目的のため、その更新を無視する必要があります。たとえば、ボリュームの容量のサイズ変更のみを担当するコントローラーは、PVC に関連付けられている他の有効なリソースを変更する PVC 更新を無視する必要があります。 これはアルファフィールドであるため、RecoverVolumeExpansionFailure 機能を有効にする必要があります。 |
|
|
| capacity は、基礎となるボリュームの実際のリソースを表します。 |
|
|
| conditions は永続ボリューム要求の現在の条件です。基礎となる永続ボリュームのサイズが変更されていると、条件が 'Resizing' に設定されます。 |
|
|
| PersistentVolumeClaimCondition での pvc の状態の詳細 |
|
|
| currentVolumeAttributesClassName は、PVC が使用している VolumeAttributesClass の現在の名前です。設定されていない場合、この PersistentVolumeClaim には VolumeAttributeClass は適用されません。 |
|
|
| ModifyVolumeStatus は、ControllerModifyVolume 操作のステータスオブジェクトを表します。これが設定されていない場合、ModifyVolume 操作は試行されません。 |
|
|
| phase は PersistentVolumeClaim の現在のフェーズを表します。 |
8.1.23. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.status.conditions リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- conditions は永続ボリューム要求の現在の条件です。基礎となる永続ボリュームのサイズが変更されていると、条件が 'Resizing' に設定されます。
- 型
-
array
8.1.24. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.status.conditions[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- PersistentVolumeClaimCondition での pvc の状態の詳細
- 型
-
object - 必須
-
status -
type
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| lastProbeTime は、条件を調査した時間です。 |
|
|
| lastTransitionTime は、ある状態から別の状態に最後に遷移した時間です。 |
|
|
| message は、最後の遷移に関する詳細を示し、人間が判読できるメッセージです。 |
|
|
| 一意であり、これは、条件の最後の遷移理由を示す、マシンが理解できる短い文字列である必要があります。"Resizing" と報告された場合は、基礎となる永続ボリュームのサイズが変更になっていることを意味します。 |
|
|
| ステータスは、状態のステータスです。True、False、Unknown の場合があります。詳細: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=state%20of%20pvc-,conditions.status,-(string)%2C%20required |
|
|
|
8.1.25. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.status.modifyVolumeStatus リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- ModifyVolumeStatus は、ControllerModifyVolume 操作のステータスオブジェクトを表します。これが設定されていない場合、ModifyVolume 操作は試行されません。
- 型
-
object - 必須
-
status
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| status は、ControllerModifyVolume 操作のステータスです。状態は次のいずれかになります: - Pending。Pending は、指定された VolumeAttributesClass が存在しないなど、要件が満たされていないため、PersistentVolumeClaim を変更できないことを示します。- InProgress。InProgress は、ボリュームが変更中であることを示します。- Infeasible。Infeasible は、要求が CSI ドライバーによって無効として拒否されたことを示します。エラーを解決するには、有効な VolumeAttributesClass を指定する必要があります。注記: 将来的に新しいステータスが追加される可能性があります。コンシューマーは不明なステータスをチェックし、適切に失敗する必要があります。 |
|
|
| targetVolumeAttributesClassName は、現在調整中の PVC の VolumeAttributesClass の名前です。 |
8.1.26. .spec.metricsServerConfig リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- metricsServerConfig は、openshift-monitoring 名前空間で実行される Kubernetes メトリクスサーバーを設定するために使用できるオプションのフィールドです。具体的には、メトリクスサーバーインスタンスのデプロイ方法、Pod のスケジューリング設定、監査ポリシー、ログの詳細度などを設定できます。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| audit は、メトリクス Server インスタンスで使用される監査設定を定義します。audit はオプションです。省略した場合、これは意見表明がないことを意味し、プラットフォームは合理的なデフォルト値を選択することになりますが、そのデフォルト値は時間の経過とともに変更される可能性があります。現在のデフォルト設定では、audit.profile は Metadata に設定されます。 |
|
|
| nodeSelector は、Pod がスケジュールされるノードを定義します。nodeSelector はオプションです。
これを省略した場合、ユーザーには選択する意図がないことを意味し、プラットフォームが適切なデフォルトを選択します。これらのデフォルトは時間の経過とともに変更される可能性があります。現在のデフォルト値は |
|
|
| resources は、メトリクス Server コンテナーに対するコンピュートリソース要求と制限を定義します。これには、スケジューリングとリソース使用量を制御するための CPU、メモリー、および huge page の制約が含まれます。指定がない場合、プラットフォームによってデフォルト値が使用されます。リクエストは制限を超えることはできません。このフィールドは任意です。詳細情報: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ これは、Kubernetes ResourceRequirements に対応する簡略化された API です。現在のデフォルト値は次のとおりです。resources: - name: cpu request: 4m limit: null - name: memory request: 40Mi limit: null このリストの最大長は 10 です。このリストの最小文字数は 1 です。 |
|
|
| ContainerResource は、コンテナーに必要な単一のリソース要件を定義します。 |
|
|
| toleration は Pod の toleration を定義します。toleration はオプションです。 これを省略した場合、ユーザーには選択する意図がないことを意味し、プラットフォームが適切なデフォルトを選択します。これらのデフォルトは時間の経過とともに変更される可能性があります。デフォルト値は空/未設定です。このリストの最大長は 10、最小長は 1 です。 |
|
|
| この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致する taint を許容します。 |
|
|
| topologySpreadConstraints は、メトリクス Server Pod をゾーン、ノード、その他のユーザー定義ラベルなどのトポロジードメイン全体にどのように分散させるかに関するルールを定義します。topologySpreadConstraints はオプションです。これは、同じ障害ドメインにレプリカを過剰に配置することを避けることで、高可用性とリソース効率の向上に役立ちます。
省略した場合、これは意見表明がないことを意味し、プラットフォームがデフォルト設定を選択することになりますが、そのデフォルト設定は時間の経過とともに変更される可能性があります。このフィールドは、Pod 仕様の |
|
|
| topologySpreadConstraint は、指定されたトポロジー間で一致する Pod を分散する方法を指定します。 |
|
|
|
verbosity は、メトリクス Server のログメッセージの詳細度を定義します。有効な値は、Errors、Info、Trace、TraceAll、および省略です。エラーに設定すると、重大なメッセージとエラーのみがログに記録されます。情報に設定すると、基本的な情報メッセージのみがログに記録されます。トレースに設定すると、一般的なデバッグに役立つ情報がログに記録されます。TraceAll に設定すると、メトリクスのスクレイピングに関する詳細情報がログに記録されます。省略した場合、これは意見表明がないことを意味し、プラットフォームは合理的なデフォルト値を選択することになりますが、そのデフォルト値は時間の経過とともに変更される可能性があります。現在のデフォルト値は |
8.1.27. .spec.metricsServerConfig.audit リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- audit は、メトリクス Server インスタンスで使用される監査設定を定義します。audit はオプションです。省略した場合、これは意見表明がないことを意味し、プラットフォームは合理的なデフォルト値を選択することになりますが、そのデフォルト値は時間の経過とともに変更される可能性があります。現在のデフォルト設定では、audit.profile は Metadata に設定されます。
- 型
-
object - 必須
-
profile
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| profile は、Kubernetes メトリクス Server の監査ログレベルを設定するために必須のフィールドです。許可される値は、None、Metadata、Request、または RequestResponse です。なしに設定すると、監査ロギングは無効になり、監査イベントは記録されません。メタデータに設定すると、リクエストのメタデータ (リクエスト元のユーザー、タイムスタンプ、リソース、動詞など) のみがログに記録され、リクエスト本文やレスポンス本文は記録されません。リクエストに設定すると、イベントメタデータとリクエストボディーはログに記録されますが、レスポンスボディーは記録されません。RequestResponse に設定すると、イベントメタデータ、リクエストボディー、レスポンスボディーがすべてログに記録され、最も詳細な監査情報が提供されます。 監査とログレベルの詳細は、https://kubernetes.io/docs/tasks/debug-application-cluster/audit/#audit-policy を参照してください。 |
8.1.28. .spec.metricsServerConfig.resources リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- resources は、メトリクス Server コンテナーに対するコンピュートリソース要求と制限を定義します。これには、スケジューリングとリソース使用量を制御するための CPU、メモリー、および huge page の制約が含まれます。指定がない場合、プラットフォームによってデフォルト値が使用されます。リクエストは制限を超えることはできません。このフィールドは任意です。詳細情報: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ これは、Kubernetes ResourceRequirements に対応する簡略化された API です。現在のデフォルト値は次のとおりです。resources: - name: cpu request: 4m limit: null - name: memory request: 40Mi limit: null このリストの最大長は 10 です。このリストの最小文字数は 1 です。
- 型
-
array
8.1.29. .spec.metricsServerConfig.resources[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- ContainerResource は、コンテナーに必要な単一のリソース要件を定義します。
- 型
-
object - 必須
-
name
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| 制限とは、許可されるリソースの最大量です (例:2Mi、1Gi。このフィールドは任意です。要求値を指定する場合、制限値は要求値より小さくすることはできません。指定する際は、値は 0 より大きい値でなければなりません。 |
|
|
|
リソースの名前 (例:cpu、memory、hugepages-2Mi)。このフィールドは必須です。名前は英数字、 |
|
|
| 要求とは、必要なリソースの最小量です (例:2Mi、1Gi。このフィールドは任意です。制限が指定されている場合、リクエストは制限を超えることはできません。 |
8.1.30. .spec.metricsServerConfig.tolerations リンクのコピーリンクがクリップボードにコピーされました!
- 説明
toleration は Pod の toleration を定義します。toleration はオプションです。
これを省略した場合、ユーザーには選択する意図がないことを意味し、プラットフォームが適切なデフォルトを選択します。これらのデフォルトは時間の経過とともに変更される可能性があります。デフォルト値は空/未設定です。このリストの最大長は 10、最小長は 1 です。
- 型
-
array
8.1.31. .spec.metricsServerConfig.tolerations[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致する taint を許容します。
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| effect は、照合する taint の効果を示します。空の場合は、すべての taint 効果に一致します。指定されている場合、許可される値は NoSchedule、PreferNoSchedule、および NoExecute です。 |
|
|
| key は toleration が適用される taint キーです。空の場合は、すべての taint キーに一致します。キーが空の場合、Operator は Exists である必要があります。この組み合わせは、すべての値とすべてのキーに一致することを意味します。 |
|
|
| Operator はキーと値の関係を表します。有効な Operator は Exists および Equal です。デフォルトは Equal です。Exists は、値のワイルドカードと同等であるため、Pod は特定のカテゴリーのすべての taint に耐えることができます。 |
|
|
| tolerationSeconds は、toleration (effect は NoExecute でなければならず、NoExecute 以外の場合このフィールドは無視されます) が taint を許容する期間を表します。デフォルトでは設定されていません。つまり、taint を永続的に許容します (退避しないでください)。ゼロ値と負の値は、システムによって 0 (すぐに退避) として扱われます。 |
|
|
| value は、toleration が一致する taint の値です。Operator が Exists の場合、値は空である必要があります。それ以外の場合は、通常の文字列のみになります。 |
8.1.32. .spec.metricsServerConfig.topologySpreadConstraints リンクのコピーリンクがクリップボードにコピーされました!
- 説明
topologySpreadConstraints は、メトリクス Server Pod をゾーン、ノード、その他のユーザー定義ラベルなどのトポロジードメイン全体にどのように分散させるかに関するルールを定義します。topologySpreadConstraints はオプションです。これは、同じ障害ドメインにレプリカを過剰に配置することを避けることで、高可用性とリソース効率の向上に役立ちます。
省略した場合、これは意見表明がないことを意味し、プラットフォームがデフォルト設定を選択することになりますが、そのデフォルト設定は時間の経過とともに変更される可能性があります。このフィールドは、Pod 仕様の
topologySpreadConstraintsフィールドに直接対応します。デフォルトは空のリストです。このリストの最大長は 10 です。このリストの最小長は 1 です。エントリーには一意の topologyKey と whenUnsatisfiable のペアが必要です。- 型
-
array
8.1.33. .spec.metricsServerConfig.topologySpreadConstraints[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- topologySpreadConstraint は、指定されたトポロジー間で一致する Pod を分散する方法を指定します。
- 型
-
object - 必須
-
maxSkew -
topologyKey -
whenUnsatisfiable
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| LabelSelector は、一致する Pod を見つけるために使用されます。このラベルセレクターに一致する Pod は、対応するトポロジードメイン内の Pod の数を決定するためにカウントされます。 |
|
|
| MatchLabelKeys は、分散を計算する Pod を選択するための Pod ラベルキーのセットです。このようなキーは受信 Pod のラベルから値を検索するために使用され、このキーと値のラベルは labelSelector と AND 演算されて、受信 Pod の分散が計算される既存の Pod のグループを選択します。同じキーが MatchLabelKeys と LabelSelector の両方に存在することはできません。LabelSelector が設定されていないと、MatchLabelKeys は設定できません。受信 Pod ラベルに存在しないキーは無視されます。null または空のリストは、labelSelector とのみ一致することを意味します。 これはベータフィールドであり、MatchLabelKeysInPodTopologySpread フィーチャーゲートを有効にする必要があります (デフォルトで有効)。 |
|
|
|
MaxSkew は、Pod が不均一に分布している可能性の程度を表します。 |
|
|
| MinDomains は、対象となるドメインの最小数を示します。トポロジーキーが一致する適格なドメインの数が minDomains より少ない場合、Pod Topology Spread は "グローバル最小値" を 0 として扱い、スキューの計算が実行されます。また、トポロジーキーが一致する適格なドメインの数が minDomains の数以上の場合、この値はスケジュールに影響しません。その結果、対象となるドメインの数が minDomains より少ない場合、スケジューラーはそれらのドメインに対して maxSkew を超える Pod をスケジュールしません。値が nil の場合、制約は MinDomains が 1 と等しいかのように動作します。有効な値は 0 より大きい整数です。値が nil でない場合、WhenUnsatisfiable は DoNotSchedule でなければなりません。 たとえば、3 ゾーンクラスターの場合、MaxSkew は 2 に設定され、MinDomains は 5 に設定され、同じ labelSelector を持つ Pod は 2/2/2 に分散されます ( | zone1 | zone2 | zone3 | | P P | P | P | P P | P P | P P | P |)。ドメインの数は 5 (MinDomains 未満) であるため、"global minimum" は 0 として扱われます。このような場合、同じ labelSelector を持つ新しい Pod をスケジュールすることはできません。新しい Pod が 3 つのゾーンのいずれかにスケジュールされている場合、スキューは 3(3 - 0) と計算され、MaxSkew に違反するためです。 |
|
|
| nodeAffinityPolicy は、Pod トポロジーの分散スキューを計算するときに Pod の nodeAffinity/nodeSelector をどのように扱うかを示します。オプションは - Honor: nodeAffinity/nodeSelector に一致するノードのみが計算に含まれます。- Ignore: nodeAffinity/nodeSelector は無視されます。すべてのノードが計算に含まれます。 この値が nil の場合、この動作は Honor ポリシーと同じです。 |
|
|
| NodeTaintsPolicy は、Pod トポロジースプレッドスキューを計算するときにノードのテイントを処理する方法を示します。オプション: - Honor: テイントのないノードと、受信 Pod が許容範囲でテイントがあるノードが含まれます。- Ignore: ノードのテイントは無視されます。すべてのノードが含まれます。 この値が nil の場合、この動作は Ignore ポリシーと同じです。 |
|
|
| TopologyKey は、ノードラベルのキーです。このキーと同じ値のラベルを持つノードは、同じトポロジーにあると見なされます。各 <key, value> を "バケット" と見なし、バランスの取れた数の Pod を各バケットに配置しようとします。ドメインをトポロジーの特定のインスタンスとして定義します。また、ノードが nodeAffinityPolicy および nodeTaintsPolicy の要件を満たすドメインとして、適格なドメインを定義します。たとえば、TopologyKey が "kubernetes.io/hostname" の場合、各ノードはそのトポロジーのドメインです。また、TopologyKey が "topology.kubernetes.io/zone" の場合は、各ゾーンがそのトポロジーのドメインになります。必須フィールドです。 |
|
|
| WhenUnsatisfiable は、スプレッドの制約を満たさない場合に Pod を処理する方法を示します。-DoNotSchedule (デフォルト) は、スケジューラーにスケジュールしないように指示します。--ScheduleAnyway は、任意の場所で Pod をスケジュールするようにスケジューラーに指示しますが、スキューを減らすのに役立つトポロジーに高い優先順位を与えます。受信 Pod に対する制約は、対象となる Pod へのノード割り当て候補すべてがトポロジーの一部の "MaxSkew" に違反する場合に、"Unsatisfiable" とみなされます。たとえば、3 ゾーンクラスターでは、MaxSkew は 1 に設定され、labelSelector が同じ Pod は 3/1/1 ( | zone1 | zone2 | zone3 | | P P P | P | P |) に分散されます。WhenUnsatisfiable が DoNotSchedule に設定されている場合、zone2(zone3) の ActualSkew(2-1) が MaxSkew(1) を満たすため、受信 Pod は zone2(zone3) にのみスケジュールして 3/2/1(3/1/2) になります。つまり、クラスターは依然として不均衡である可能性がありますが、スケジューラーによってクラスターが さらに 不均衡になることはありません。必須フィールドです。 |
8.1.34. .spec.metricsServerConfig.topologySpreadConstraints[].labelSelector リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- LabelSelector は、一致する Pod を見つけるために使用されます。このラベルセレクターに一致する Pod は、対応するトポロジードメイン内の Pod の数を決定するためにカウントされます。
- 型
-
object
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
8.1.35. .spec.metricsServerConfig.topologySpreadConstraints[].labelSelector.matchExpressions リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
8.1.36. .spec.metricsServerConfig.topologySpreadConstraints[].labelSelector.matchExpressions[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object - 必須
-
key -
operator
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
| key は、セレクターの適用先のラベルキーです。 |
|
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
8.1.37. .spec.userDefined リンクのコピーリンクがクリップボードにコピーされました!
- 説明
-
userDefined は、デフォルトのプラットフォーム監視に加えて、ユーザー定義の監視を行うためのデプロイメントモードを設定します。userDefined はオプションです。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。現在のデフォルト値は
無効です。 - 型
-
object - 必須
-
mode
-
| プロパティー | 型 | 説明 |
|---|---|---|
|
|
|
mode は UserDefinedMonitoring のさまざまな設定を定義します。有効な値は Disabled と NamespaceIsolated です。Disabled はユーザー定義プロジェクトの監視を無効にします。これにより、openshift-monitoring プロジェクトにインストールされているデフォルトのモニタリングスタックは、プラットフォームの名前空間のみを監視するように制限され、ユーザー定義の名前空間にカスタム監視設定やリソースが適用されることが防止されます。NamespaceIsolated を使用すると、名前空間スコープのテナントを持つユーザー定義プロジェクトの監視が可能になります。これにより、メトリクス、アラート、および監視データがネームスペースレベルで分離されることが保証されます。現在のデフォルト値は |
8.1.38. .status リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- status クラスターから監視される値を保持します。それらはオーバーライドされない場合があります。
- 型
-
object