第8章 ClusterMonitoring [config.openshift.io/v1alpha1]


説明

ClusterMonitoring は、Cluster Monitoring Operator の現在の状態を保持するカスタムリソースオブジェクトです。CMO は、モニタリングスタックの中核を成すコンポーネントです。

互換性レベル 4: 互換性は提供されていません。API は、理由を問わずいつでも変更できます。これらの機能は、長期サポートを必要とするアプリケーションで使用することはできません。ClusterMonitoring は、クラスター監視 OperatorAPI のスキーマです。

object
必須
  • spec

8.1. 仕様

Expand
プロパティー説明

apiVersion

string

apiVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これは更新できません。CamelCase を使用します。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

オブジェクトメタ

標準オブジェクトのメタデータ。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

仕様には Cluster Monitoring Operator のユーザー設定が含まれています

status

object

status クラスターから監視される値を保持します。それらはオーバーライドされない場合があります。

8.1.1. .spec

説明
仕様には Cluster Monitoring Operator のユーザー設定が含まれています
object
Expand
プロパティー説明

alertmanagerConfig

object

alertmanagerConfig を使用すると、デフォルトの Alertmanager インスタンスを openshift-monitoring 名前空間にどのようにデプロイするかを設定できます。alertmanagerConfig はオプションです。省略した場合、これは意見表明がないことを意味し、プラットフォームは合理的なデフォルト値を選択することになりますが、そのデフォルト値は時間の経過とともに変更される可能性があります。現在のデフォルト値は DefaultConfig です。

metricsServerConfig

object

metricsServerConfig は、openshift-monitoring 名前空間で実行される Kubernetes メトリクスサーバーを設定するために使用できるオプションのフィールドです。具体的には、メトリクスサーバーインスタンスのデプロイ方法、Pod のスケジューリング設定、監査ポリシー、ログの詳細度などを設定できます。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。

ユーザー定義

object

userDefined は、デフォルトのプラットフォーム監視に加えて、ユーザー定義の監視を行うためのデプロイメントモードを設定します。userDefined はオプションです。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。現在のデフォルト値は 無効 です。

8.1.2. .spec.alertmanagerConfig

説明
alertmanagerConfig を使用すると、デフォルトの Alertmanager インスタンスを openshift-monitoring 名前空間にどのようにデプロイするかを設定できます。alertmanagerConfig はオプションです。省略した場合、これは意見表明がないことを意味し、プラットフォームは合理的なデフォルト値を選択することになりますが、そのデフォルト値は時間の経過とともに変更される可能性があります。現在のデフォルト値は DefaultConfig です。
object
必須
  • デプロイメントモード
Expand
プロパティー説明

customConfig

object

デプロイメントモードが CustomConfig の場合は customConfig を設定する必要があり、それ以外の場合は設定を解除する必要があります。CustomConfig に設定すると、Alertmanager はカスタム設定でデプロイされます。

デプロイメントモード

string

deploymentMode は、デフォルトの Alertmanager インスタンスをモニタリングスタックの一部としてデプロイするかどうかを決定します。許可される値は、Disabled、DefaultConfig、および CustomConfig です。無効に設定すると、Alertmanager インスタンスはデプロイされません。DefaultConfig に設定すると、プラットフォームはデフォルト設定で Alertmanager をデプロイします。CustomConfig に設定すると、Alertmanager はカスタム設定でデプロイされます。

8.1.3. .spec.alertmanagerConfig.customConfig

説明
デプロイメントモードが CustomConfig の場合は customConfig を設定する必要があり、それ以外の場合は設定を解除する必要があります。CustomConfig に設定すると、Alertmanager はカスタム設定でデプロイされます。
object
Expand
プロパティー説明

logLevel

string

logLevel は、Alertmanager によって出力されるログの詳細度を定義します。このフィールドを使用すると、生成されるログの量と深刻度を制御できます。これは、問題のデバッグや、実稼働環境におけるノイズの低減に役立ちます。使用可能な値は、Error、Warn、Info、および Debug です。エラーに設定すると、エラーのみがログに記録されます。警告に設定すると、警告とエラーの両方がログに記録されます。情報に設定すると、一般的な情報、警告、エラーがすべてログに記録されます。デバッグに設定すると、詳細なデバッグ情報がログに記録されます。省略した場合、これは意見表明がないことを意味し、プラットフォームは合理的なデフォルト値を選択することになりますが、そのデフォルト値は時間の経過とともに変更される可能性があります。現在のデフォルト値は Info です。

nodeSelector

object (string)

nodeSelector は、Pod がスケジュールされるノードを定義します。nodeSelector はオプションです。

これを省略した場合、ユーザーには選択する意図がないことを意味し、プラットフォームが適切なデフォルトを選択します。これらのデフォルトは時間の経過とともに変更される可能性があります。現在のデフォルト値は kubernetes.io/os: linux です。

resources

array

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 です。

resources[]

object

ContainerResource は、コンテナーに必要な単一のリソース要件を定義します。

secrets

array (string)

secrets は、Alertmanager にマウントする必要のあるシークレットのリストを定義します。シークレットは、Alertmanager オブジェクトと同じ namespace 内になければなりません。これらは、secret-<secret-name> という名前のボリュームとして追加され、Alertmanager Pod の 'alertmanager' コンテナー内の/etc/alertmanager/secrets/<secret-name> にマウントされます。

これらのシークレットは、エンドポイントレシーバーとの間で Alertmanager を認証するために使用できます。たとえば、シークレットを使用して以下のことができます。- プライベート CA 証明書を必要とするレシーバーとの TLS 認証用の証明書を提供する - パスワードベースの認証を必要とする受信レシーバーとの基本 HTTP 認証用の認証情報を保存する - アラートレシーバーが必要とするその他の認証情報を保存する

このフィールドは任意です。このリストの最大長は 10 です。このリストの最小文字数は 1 です。このリストの項目はすべて重複してはなりません。

tolerations

array

toleration は Pod の toleration を定義します。toleration はオプションです。

これを省略した場合、ユーザーには選択する意図がないことを意味し、プラットフォームが適切なデフォルトを選択します。これらのデフォルトは時間の経過とともに変更される可能性があります。デフォルト値は空/未設定です。このリストの最大長は 10、最小長は 1 です。

tolerations[]

object

この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致する taint を許容します。

topologySpreadConstraints

array

topologySpreadConstraints は、Alertmanager Pod をゾーン、ノード、その他のユーザー定義ラベルなどのトポロジードメイン全体にどのように分散させるかに関するルールを定義します。topologySpreadConstraints はオプションです。これは、同じ障害ドメインにレプリカを過剰に配置することを避けることで、高可用性とリソース効率の向上に役立ちます。

省略した場合、これは意見表明がないことを意味し、プラットフォームがデフォルト設定を選択することになりますが、そのデフォルト設定は時間の経過とともに変更される可能性があります。このフィールドは、Pod 仕様の topologySpreadConstraints フィールドに直接対応します。デフォルトは空のリストです。このリストの最大長は 10 です。このリストの最小長は 1 です。エントリーには一意の topologyKey と whenUnsatisfiable のペアが必要です。

topologySpreadConstraints[]

object

topologySpreadConstraint は、指定されたトポロジー間で一致する Pod を分散する方法を指定します。

volumeClaimTemplate

object

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
Expand
プロパティー説明

limit

integer-or-string

制限とは、許可されるリソースの最大量です (例:2Mi、1Gi。このフィールドは任意です。要求値を指定する場合、制限値は要求値より小さくすることはできません。指定する際は、値は 0 より大きい値でなければなりません。

name

string

リソースの名前 (例:cpu、memory、hugepages-2Mi)。このフィールドは必須です。名前は英数字、ハイフンアンダースコアピリオド のみで設定され、英数字で始まり英数字で終わる必要があります。

request

integer-or-string

要求とは、必要なリソースの最小量です (例: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
Expand
プロパティー説明

effect

string

effect は、照合する taint の効果を示します。空の場合は、すべての taint 効果に一致します。指定されている場合、許可される値は NoSchedule、PreferNoSchedule、および NoExecute です。

key

string

key は toleration が適用される taint キーです。空の場合は、すべての taint キーに一致します。キーが空の場合、Operator は Exists である必要があります。この組み合わせは、すべての値とすべてのキーに一致することを意味します。

operator

string

Operator はキーと値の関係を表します。有効な Operator は Exists および Equal です。デフォルトは Equal です。Exists は、値のワイルドカードと同等であるため、Pod は特定のカテゴリーのすべての taint に耐えることができます。

tolerationSeconds

integer

tolerationSeconds は、toleration (effect は NoExecute でなければならず、NoExecute 以外の場合このフィールドは無視されます) が taint を許容する期間を表します。デフォルトでは設定されていません。つまり、taint を永続的に許容します (退避しないでください)。ゼロ値と負の値は、システムによって 0 (すぐに退避) として扱われます。

value

string

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
Expand
プロパティー説明

labelSelector

object

LabelSelector は、一致する Pod を見つけるために使用されます。このラベルセレクターに一致する Pod は、対応するトポロジードメイン内の Pod の数を決定するためにカウントされます。

matchLabelKeys

array (string)

MatchLabelKeys は、分散を計算する Pod を選択するための Pod ラベルキーのセットです。このようなキーは受信 Pod のラベルから値を検索するために使用され、このキーと値のラベルは labelSelector と AND 演算されて、受信 Pod の分散が計算される既存の Pod のグループを選択します。同じキーが MatchLabelKeys と LabelSelector の両方に存在することはできません。LabelSelector が設定されていないと、MatchLabelKeys は設定できません。受信 Pod ラベルに存在しないキーは無視されます。null または空のリストは、labelSelector とのみ一致することを意味します。

これはベータフィールドであり、MatchLabelKeysInPodTopologySpread フィーチャーゲートを有効にする必要があります (デフォルトで有効)。

maxSkew

integer

MaxSkew は、Pod が不均一に分布している可能性の程度を表します。whenUnsatisfiable=DoNotSchedule の場合、これは、ターゲットトポロジー内の一致する Pod の数とグローバル最小値との間の最大許容差です。グローバル最小値は、適格なドメイン内で一致する Pod の最小数です。または、適格なドメインの数が MinDomains 未満の場合はゼロになります。たとえば、3 ゾーンクラスターでは、MaxSkew が 1 に設定され、同じ labelSelector を持つ Pod は 2/2/1 に分散されます。この場合、グローバル最小値は 1 です。| zone1 | zone2 | zone3 | | P P | P P | P | - MaxSkew が 1 の場合、受信 Pod は 2/2/2 になるように zone 3 にのみスケジュールできます。これを zone1(zone2) にスケジュールすると、zone1(zone2) の ActualSkew(3-1) が MaxSkew(1) に違反します。- MaxSkew が 2 の場合、受信 Pod を任意のゾーンにスケジュールできます。whenUnsatisfiable=ScheduleAnyway の場合、それを満たすトポロジーに高い優先順位を与えるために使用されます。必須フィールドです。デフォルト値は 1 で、0 は許可されていません。

minDomains

integer

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

string

nodeAffinityPolicy は、Pod トポロジーの分散スキューを計算するときに Pod の nodeAffinity/nodeSelector をどのように扱うかを示します。オプションは - Honor: nodeAffinity/nodeSelector に一致するノードのみが計算に含まれます。- Ignore: nodeAffinity/nodeSelector は無視されます。すべてのノードが計算に含まれます。

この値が nil の場合、この動作は Honor ポリシーと同じです。

nodeTaintsPolicy

string

NodeTaintsPolicy は、Pod トポロジースプレッドスキューを計算するときにノードのテイントを処理する方法を示します。オプション: - Honor: テイントのないノードと、受信 Pod が許容範囲でテイントがあるノードが含まれます。- Ignore: ノードのテイントは無視されます。すべてのノードが含まれます。

この値が nil の場合、この動作は Ignore ポリシーと同じです。

topologyKey

string

TopologyKey は、ノードラベルのキーです。このキーと同じ値のラベルを持つノードは、同じトポロジーにあると見なされます。各 <key, value> を "バケット" と見なし、バランスの取れた数の Pod を各バケットに配置しようとします。ドメインをトポロジーの特定のインスタンスとして定義します。また、ノードが nodeAffinityPolicy および nodeTaintsPolicy の要件を満たすドメインとして、適格なドメインを定義します。たとえば、TopologyKey が "kubernetes.io/hostname" の場合、各ノードはそのトポロジーのドメインです。また、TopologyKey が "topology.kubernetes.io/zone" の場合は、各ゾーンがそのトポロジーのドメインになります。必須フィールドです。

whenUnsatisfiable

string

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
Expand
プロパティー説明

matchExpressions

array

matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。

matchExpressions[]

object

ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。

matchLabels

object (string)

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
Expand
プロパティー説明

key

string

key は、セレクターの適用先のラベルキーです。

operator

string

operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。

values

array (string)

values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

8.1.13. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate

説明
volumeClaimTemplate は Alertmanager の永続ストレージを定義します。この設定を使用して、ストレージクラス、ボリュームサイズ、名前などの永続ボリューム要求を設定します。省略した場合、Pod は一時的なストレージを使用するため、アラートデータは再起動後も保持されません。このフィールドは任意です。
object
Expand
プロパティー説明

apiVersion

string

apiVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これは更新できません。CamelCase を使用します。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

object

標準オブジェクトのメタデータ。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

spec は、Pod 作成者が要求するボリュームの望ましい特性を定義します。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

status

object

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
Expand
プロパティー説明

accessModes

array (string)

accessModes には、ボリュームに割り当てる必要のあるアクセスモードが含まれます。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

object

dataSource フィールドは、次のいずれかを指定するために使用できます。*既存の VolumeSnapshot オブジェクト (snapshot.storage.k8s.io/VolumeSnapshot)*既存の PVC(PersistentVolumeClaim) プロビジョナーまたは外部コントローラーが指定されたデータソースをサポートできる場合、指定されたデータソースのコンテンツに基づく新しいボリューム。AnyVolumeDataSource フィーチャーゲートが有効になっている場合、dataSource の内容は dataSourceRef にコピーされ、dataSourceRef.namespace が指定されていない場合に dataSourceRef コンテンツが dataSource にコピーされます。namespace が指定されている場合、dataSourceRef は dataSource にコピーされません。

dataSourceRef

object

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

object

resources は、ボリュームに必要な最小リソースを表します。RecoverVolumeExpansionFailure 機能が有効になっている場合、ユーザーは以前の値よりも低いリソース要件を指定できますが、要求のステータスフィールドに記録された容量よりも大きい必要があります。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources

selector

object

selector は、バインドを考慮するボリュームに対するラベルクエリーです。

storageClassName

string

storageClassName は、要求に必要な StorageClass の名前です。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassName

string

volumeAttributesClassName は、このクレームで使用される VolumeAttributesClass を設定するために使用できます。指定すると、CSI ドライバーは、対応する VolumeAttributesClass で定義された属性を使用してボリュームを作成または更新します。これは storageClassName とは異なる目的があり、クレームの作成後に変更できます。空の文字列または nil 値は、請求に VolumeAttributesClass が適用されないことを示します。請求が実行不可能なエラー状態になった場合、このフィールドを以前の値 (nil を含む) にリセットすることで、変更をキャンセルできます。volumeAttributesClass によって参照されるリソースが存在しない場合は、そのようなリソースが存在するまで、この PersistentVolumeClaim は、modifyVolumeStatus フィールドに反映されるように、保留状態に設定されます。詳細はこちら: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/

volumeMode

string

volumeMode は、要求に必要なボリュームのタイプを定義します。Filesystem の値は、要求仕様に含まれていない場合に暗示されます。

volumeName

string

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
Expand
プロパティー説明

apiGroup

string

APIGroup は参照されているリソースのグループです。APIGroup が指定されていない場合は、指定の Kind をコア API グループに設定する必要があります。他のサードパーティータイプには、APIGroup が必要です。

kind

string

kind は参照されているリソースのタイプです。

name

string

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
Expand
プロパティー説明

apiGroup

string

APIGroup は参照されているリソースのグループです。APIGroup が指定されていない場合は、指定の Kind をコア API グループに設定する必要があります。他のサードパーティータイプには、APIGroup が必要です。

kind

string

kind は参照されているリソースのタイプです。

name

string

name は、参照されているリソースの名前です。

namespace

string

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
Expand
プロパティー説明

limits

integer-or-string

limits は、許可されるコンピュートリソースの最大量を示します。詳細: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

integer-or-string

requests は、必要なコンピュートリソースの最小量を示します。コンテナーで Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。リクエストは制限を超えることはできません。詳細: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

8.1.19. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.spec.selector

説明
selector は、バインドを考慮するボリュームに対するラベルクエリーです。
object
Expand
プロパティー説明

matchExpressions

array

matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。

matchExpressions[]

object

ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。

matchLabels

object (string)

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
Expand
プロパティー説明

key

string

key は、セレクターの適用先のラベルキーです。

operator

string

operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。

values

array (string)

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
Expand
プロパティー説明

accessModes

array (string)

accessModes には、PVC をサポートするボリュームが実際に持つアクセスモードが含まれます。詳細は、https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 を参照してください。

allocatedResourceStatuses

object (string)

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

integer-or-string

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

integer-or-string

capacity は、基礎となるボリュームの実際のリソースを表します。

conditions

array

conditions は永続ボリューム要求の現在の条件です。基礎となる永続ボリュームのサイズが変更されていると、条件が 'Resizing' に設定されます。

conditions[]

object

PersistentVolumeClaimCondition での pvc の状態の詳細

currentVolumeAttributesClassName

string

currentVolumeAttributesClassName は、PVC が使用している VolumeAttributesClass の現在の名前です。設定されていない場合、この PersistentVolumeClaim には VolumeAttributeClass は適用されません。

modifyVolumeStatus

object

ModifyVolumeStatus は、ControllerModifyVolume 操作のステータスオブジェクトを表します。これが設定されていない場合、ModifyVolume 操作は試行されません。

phase

string

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
Expand
プロパティー説明

lastProbeTime

string

lastProbeTime は、条件を調査した時間です。

lastTransitionTime

string

lastTransitionTime は、ある状態から別の状態に最後に遷移した時間です。

message

string

message は、最後の遷移に関する詳細を示し、人間が判読できるメッセージです。

reason

string

一意であり、これは、条件の最後の遷移理由を示す、マシンが理解できる短い文字列である必要があります。"Resizing" と報告された場合は、基礎となる永続ボリュームのサイズが変更になっていることを意味します。

status

string

ステータスは、状態のステータスです。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

type

string

タイプは条件のタイプです。詳細情報: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=set%20to%20%27ResizeStarted%27.-,PersistentVolumeClaimCondition,-contains%20details%20about

8.1.25. .spec.alertmanagerConfig.customConfig.volumeClaimTemplate.status.modifyVolumeStatus

説明
ModifyVolumeStatus は、ControllerModifyVolume 操作のステータスオブジェクトを表します。これが設定されていない場合、ModifyVolume 操作は試行されません。
object
必須
  • status
Expand
プロパティー説明

status

string

status は、ControllerModifyVolume 操作のステータスです。状態は次のいずれかになります: - Pending。Pending は、指定された VolumeAttributesClass が存在しないなど、要件が満たされていないため、PersistentVolumeClaim を変更できないことを示します。- InProgress。InProgress は、ボリュームが変更中であることを示します。- Infeasible。Infeasible は、要求が CSI ドライバーによって無効として拒否されたことを示します。エラーを解決するには、有効な VolumeAttributesClass を指定する必要があります。注記: 将来的に新しいステータスが追加される可能性があります。コンシューマーは不明なステータスをチェックし、適切に失敗する必要があります。

targetVolumeAttributesClassName

string

targetVolumeAttributesClassName は、現在調整中の PVC の VolumeAttributesClass の名前です。

8.1.26. .spec.metricsServerConfig

説明
metricsServerConfig は、openshift-monitoring 名前空間で実行される Kubernetes メトリクスサーバーを設定するために使用できるオプションのフィールドです。具体的には、メトリクスサーバーインスタンスのデプロイ方法、Pod のスケジューリング設定、監査ポリシー、ログの詳細度などを設定できます。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。
object
Expand
プロパティー説明

audit

object

audit は、メトリクス Server インスタンスで使用される監査設定を定義します。audit はオプションです。省略した場合、これは意見表明がないことを意味し、プラットフォームは合理的なデフォルト値を選択することになりますが、そのデフォルト値は時間の経過とともに変更される可能性があります。現在のデフォルト設定では、audit.profile は Metadata に設定されます。

nodeSelector

object (string)

nodeSelector は、Pod がスケジュールされるノードを定義します。nodeSelector はオプションです。

これを省略した場合、ユーザーには選択する意図がないことを意味し、プラットフォームが適切なデフォルトを選択します。これらのデフォルトは時間の経過とともに変更される可能性があります。現在のデフォルト値は kubernetes.io/os: linux です。

resources

array

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 です。

resources[]

object

ContainerResource は、コンテナーに必要な単一のリソース要件を定義します。

tolerations

array

toleration は Pod の toleration を定義します。toleration はオプションです。

これを省略した場合、ユーザーには選択する意図がないことを意味し、プラットフォームが適切なデフォルトを選択します。これらのデフォルトは時間の経過とともに変更される可能性があります。デフォルト値は空/未設定です。このリストの最大長は 10、最小長は 1 です。

tolerations[]

object

この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致する taint を許容します。

topologySpreadConstraints

array

topologySpreadConstraints は、メトリクス Server Pod をゾーン、ノード、その他のユーザー定義ラベルなどのトポロジードメイン全体にどのように分散させるかに関するルールを定義します。topologySpreadConstraints はオプションです。これは、同じ障害ドメインにレプリカを過剰に配置することを避けることで、高可用性とリソース効率の向上に役立ちます。

省略した場合、これは意見表明がないことを意味し、プラットフォームがデフォルト設定を選択することになりますが、そのデフォルト設定は時間の経過とともに変更される可能性があります。このフィールドは、Pod 仕様の topologySpreadConstraints フィールドに直接対応します。デフォルトは空のリストです。このリストの最大長は 10 です。このリストの最小長は 1 です。エントリーには一意の topologyKey と whenUnsatisfiable のペアが必要です。

topologySpreadConstraints[]

object

topologySpreadConstraint は、指定されたトポロジー間で一致する Pod を分散する方法を指定します。

verbosity

string

verbosity は、メトリクス Server のログメッセージの詳細度を定義します。有効な値は、Errors、Info、Trace、TraceAll、および省略です。エラーに設定すると、重大なメッセージとエラーのみがログに記録されます。情報に設定すると、基本的な情報メッセージのみがログに記録されます。トレースに設定すると、一般的なデバッグに役立つ情報がログに記録されます。TraceAll に設定すると、メトリクスのスクレイピングに関する詳細情報がログに記録されます。省略した場合、これは意見表明がないことを意味し、プラットフォームは合理的なデフォルト値を選択することになりますが、そのデフォルト値は時間の経過とともに変更される可能性があります。現在のデフォルト値は エラー です

8.1.27. .spec.metricsServerConfig.audit

説明
audit は、メトリクス Server インスタンスで使用される監査設定を定義します。audit はオプションです。省略した場合、これは意見表明がないことを意味し、プラットフォームは合理的なデフォルト値を選択することになりますが、そのデフォルト値は時間の経過とともに変更される可能性があります。現在のデフォルト設定では、audit.profile は Metadata に設定されます。
object
必須
  • profile
Expand
プロパティー説明

profile

string

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
Expand
プロパティー説明

limit

integer-or-string

制限とは、許可されるリソースの最大量です (例:2Mi、1Gi。このフィールドは任意です。要求値を指定する場合、制限値は要求値より小さくすることはできません。指定する際は、値は 0 より大きい値でなければなりません。

name

string

リソースの名前 (例:cpu、memory、hugepages-2Mi)。このフィールドは必須です。名前は英数字、ハイフンアンダースコアピリオド のみで設定され、英数字で始まり英数字で終わる必要があります。

request

integer-or-string

要求とは、必要なリソースの最小量です (例: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
Expand
プロパティー説明

effect

string

effect は、照合する taint の効果を示します。空の場合は、すべての taint 効果に一致します。指定されている場合、許可される値は NoSchedule、PreferNoSchedule、および NoExecute です。

key

string

key は toleration が適用される taint キーです。空の場合は、すべての taint キーに一致します。キーが空の場合、Operator は Exists である必要があります。この組み合わせは、すべての値とすべてのキーに一致することを意味します。

operator

string

Operator はキーと値の関係を表します。有効な Operator は Exists および Equal です。デフォルトは Equal です。Exists は、値のワイルドカードと同等であるため、Pod は特定のカテゴリーのすべての taint に耐えることができます。

tolerationSeconds

integer

tolerationSeconds は、toleration (effect は NoExecute でなければならず、NoExecute 以外の場合このフィールドは無視されます) が taint を許容する期間を表します。デフォルトでは設定されていません。つまり、taint を永続的に許容します (退避しないでください)。ゼロ値と負の値は、システムによって 0 (すぐに退避) として扱われます。

value

string

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
Expand
プロパティー説明

labelSelector

object

LabelSelector は、一致する Pod を見つけるために使用されます。このラベルセレクターに一致する Pod は、対応するトポロジードメイン内の Pod の数を決定するためにカウントされます。

matchLabelKeys

array (string)

MatchLabelKeys は、分散を計算する Pod を選択するための Pod ラベルキーのセットです。このようなキーは受信 Pod のラベルから値を検索するために使用され、このキーと値のラベルは labelSelector と AND 演算されて、受信 Pod の分散が計算される既存の Pod のグループを選択します。同じキーが MatchLabelKeys と LabelSelector の両方に存在することはできません。LabelSelector が設定されていないと、MatchLabelKeys は設定できません。受信 Pod ラベルに存在しないキーは無視されます。null または空のリストは、labelSelector とのみ一致することを意味します。

これはベータフィールドであり、MatchLabelKeysInPodTopologySpread フィーチャーゲートを有効にする必要があります (デフォルトで有効)。

maxSkew

integer

MaxSkew は、Pod が不均一に分布している可能性の程度を表します。whenUnsatisfiable=DoNotSchedule の場合、これは、ターゲットトポロジー内の一致する Pod の数とグローバル最小値との間の最大許容差です。グローバル最小値は、適格なドメイン内で一致する Pod の最小数です。または、適格なドメインの数が MinDomains 未満の場合はゼロになります。たとえば、3 ゾーンクラスターでは、MaxSkew が 1 に設定され、同じ labelSelector を持つ Pod は 2/2/1 に分散されます。この場合、グローバル最小値は 1 です。| zone1 | zone2 | zone3 | | P P | P P | P | - MaxSkew が 1 の場合、受信 Pod は 2/2/2 になるように zone 3 にのみスケジュールできます。これを zone1(zone2) にスケジュールすると、zone1(zone2) の ActualSkew(3-1) が MaxSkew(1) に違反します。- MaxSkew が 2 の場合、受信 Pod を任意のゾーンにスケジュールできます。whenUnsatisfiable=ScheduleAnyway の場合、それを満たすトポロジーに高い優先順位を与えるために使用されます。必須フィールドです。デフォルト値は 1 で、0 は許可されていません。

minDomains

integer

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

string

nodeAffinityPolicy は、Pod トポロジーの分散スキューを計算するときに Pod の nodeAffinity/nodeSelector をどのように扱うかを示します。オプションは - Honor: nodeAffinity/nodeSelector に一致するノードのみが計算に含まれます。- Ignore: nodeAffinity/nodeSelector は無視されます。すべてのノードが計算に含まれます。

この値が nil の場合、この動作は Honor ポリシーと同じです。

nodeTaintsPolicy

string

NodeTaintsPolicy は、Pod トポロジースプレッドスキューを計算するときにノードのテイントを処理する方法を示します。オプション: - Honor: テイントのないノードと、受信 Pod が許容範囲でテイントがあるノードが含まれます。- Ignore: ノードのテイントは無視されます。すべてのノードが含まれます。

この値が nil の場合、この動作は Ignore ポリシーと同じです。

topologyKey

string

TopologyKey は、ノードラベルのキーです。このキーと同じ値のラベルを持つノードは、同じトポロジーにあると見なされます。各 <key, value> を "バケット" と見なし、バランスの取れた数の Pod を各バケットに配置しようとします。ドメインをトポロジーの特定のインスタンスとして定義します。また、ノードが nodeAffinityPolicy および nodeTaintsPolicy の要件を満たすドメインとして、適格なドメインを定義します。たとえば、TopologyKey が "kubernetes.io/hostname" の場合、各ノードはそのトポロジーのドメインです。また、TopologyKey が "topology.kubernetes.io/zone" の場合は、各ゾーンがそのトポロジーのドメインになります。必須フィールドです。

whenUnsatisfiable

string

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
Expand
プロパティー説明

matchExpressions

array

matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。

matchExpressions[]

object

ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。

matchLabels

object (string)

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
Expand
プロパティー説明

key

string

key は、セレクターの適用先のラベルキーです。

operator

string

operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。

values

array (string)

values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

8.1.37. .spec.userDefined

説明
userDefined は、デフォルトのプラットフォーム監視に加えて、ユーザー定義の監視を行うためのデプロイメントモードを設定します。userDefined はオプションです。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。現在のデフォルト値は 無効 です。
object
必須
  • mode
Expand
プロパティー説明

mode

string

mode は UserDefinedMonitoring のさまざまな設定を定義します。有効な値は Disabled と NamespaceIsolated です。Disabled はユーザー定義プロジェクトの監視を無効にします。これにより、openshift-monitoring プロジェクトにインストールされているデフォルトのモニタリングスタックは、プラットフォームの名前空間のみを監視するように制限され、ユーザー定義の名前空間にカスタム監視設定やリソースが適用されることが防止されます。NamespaceIsolated を使用すると、名前空間スコープのテナントを持つユーザー定義プロジェクトの監視が可能になります。これにより、メトリクス、アラート、および監視データがネームスペースレベルで分離されることが保証されます。現在のデフォルト値は 無効 です。

8.1.38. .status

説明
status クラスターから監視される値を保持します。それらはオーバーライドされない場合があります。
object
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る