APIリファレンス (v3beta1)
パッケージ
apps.emqx.io/v3beta1
Package v3beta1 は apps.emqx.io v3beta1 APIグループのAPIスキーマ定義を含みます。
リソースタイプ
Config
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
roots ConfigRoots | トップレベルのEMQX設定ルート。値はJSON互換である必要があります。Operatorは ランタイム適用可能なルートを base.hoconにシリアライズし、EMQX起動時に有効となる設定をemqx.confにシリアライズします。includes、substitutions、重複宣言などのHOCON専用構文はサポートされません。 ルートを削除するとOperatorの所有権は放棄されますが、EMQXによって永続化された値は削除されません。 node.cookieパスはOperator専用であり、ここで指定してはいけません。 |
ConfigRoots
基底型: JSON
登場箇所:
ConfigStatus
ConfigStatusはコントローラーが所有する調整チェックポイントを含みます。
これらのフィールドは情報提供のための実装詳細であり、変更される可能性があります。
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
desiredRevision string | spec.config.rootsにある完全な望ましい設定のリビジョン。 | ||
runtimeRevision string | EMQX APIによって最後に受け入れられたランタイム設定のリビジョン。 初回起動前はクラスターのブートストラップ用にステージされたリビジョンです。 | ||
desiredStartupRevision string | EMQX起動時に有効となる望ましい設定のリビジョン。 | ||
activeStartupRevisions string array | 起動構成のリビジョンで、準備完了状態のPodが使用しています。 複数のリビジョンがある場合、準備完了Podが異なるバージョンの設定で起動されたことを示します。 |
CoreNodesStatus
CoreNodesStatusは単一のStatefulSetで管理されるコアノードの概要ステータスです。
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
readyReplicas integer | 準備完了レプリカ数。 | ||
updatedReplicas integer | 望ましいPodテンプレートに既に更新されたレプリカ数。 | ||
currentReplicas integer | まだ前のPodテンプレートで稼働しているレプリカ数。 |
DSDBReplicationStatus
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
name string | データベース名 | ||
numShards integer | データベースのシャード数 | ||
numShardReplicas integer | シャードレプリカの総数 | ||
lostShardReplicas integer | ロストサイトに属するシャードレプリカの総数 | ||
numTransitions integer | 現在のシャード所有権の遷移数 | ||
minReplicas integer | データベースシャードの最小レプリケーション係数 | ||
maxReplicas integer | データベースシャードの最大レプリケーション係数 |
DSReplicationStatus
データベースごとのDSレプリケーションステータスの概要。
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
dbs DSDBReplicationStatus array |
EMQX
EMQXクラスターを表すカスタムリソース。
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
apiVersion string | apps.emqx.io/v3beta1 | ||
kind string | EMQX | ||
metadata ObjectMeta | metadataのフィールドはKubernetes APIドキュメントを参照してください。 | ||
spec EMQXSpec | EMQXクラスターの望ましい状態の仕様。 | ||
status EMQXStatus | EMQXクラスターの現在の状態。 |
EMQXCoreTemplate
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
metadata TemplateObjectMeta | このテンプレートから生成されるオブジェクトに適用されるメタデータ。 | ||
spec EMQXCoreTemplateSpec | コアノードの望ましい状態の仕様。 詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | { } |
EMQXCoreTemplateSpec
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
nodeSelector object (keys:string, values:string) | Podがノードに割り当てられるために満たす必要のあるセレクター。 Podがノードにスケジュールされるには、ノードのラベルと一致する必要があります。 詳細: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | ||
nodeName string | 特定のノードにこのPodをスケジュールするリクエスト。 空でなければ、スケジューラーはリソース要件を満たすと仮定してこのノードにPodを割り当てます。 | ||
affinity Affinity | Pod割り当てのためのアフィニティ。 参照: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | ||
tolerations Toleration array | Podのトレランス。 指定された場合、Podは<key,value,effect>のトリプルにマッチする任意のtaintを許容します。 | ||
topologySpreadConstraints TopologySpreadConstraint array | 指定されたトポロジー間でマッチするPodをどのように分散させるかを指定します。 | ||
dnsConfig PodDNSConfig | PodのDNSパラメータを指定します。 ここで指定されたパラメータはDNSPolicy(常にClusterFirst)に基づく生成されたDNS設定にマージされます。 詳細: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config | ||
minReadySeconds integer | Podが利用可能とみなされるためにReady状態である必要がある最小時間(秒)。 コアノードにはStatefulSetに適用されます(apps/v1 StatefulSetSpec.minReadySecondsに準拠)。 レプリカントにはReplicaSetに適用されます(apps/v1 ReplicaSetSpec.minReadySecondsに準拠)。 省略または0はapps/v1のデフォルト(0)と同じです。 | 最小値: 0 | |
command string array | エントリポイント配列。シェル内で実行されません。 指定しない場合はコンテナイメージのENTRYPOINTが使用されます。 変数参照 $(VAR_NAME)はコンテナの環境変数を使って展開されます。解決できない場合は文字列は変更されません。$$は単一の$に変換され、$(VAR_NAME)構文のエスケープが可能です。エスケープされた参照は変数の有無に関わらず展開されません。更新不可。 詳細: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | オプション: {} | |
args string array | エントリポイントへの引数。 指定しない場合はコンテナイメージのCMDが使用されます。 変数参照 $(VAR_NAME)はコンテナの環境変数を使って展開されます。解決できない場合は文字列は変更されません。$$は単一の$に変換され、$(VAR_NAME)構文のエスケープが可能です。エスケープされた参照は変数の有無に関わらず展開されません。 詳細: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | ||
ports ContainerPort array | コンテナから公開するポートのリスト。 ここでポートを公開することはネットワーク接続に関する追加情報をシステムに提供しますが、主に情報的なものです。 ここでポートを指定しなくても、そのポートの公開は妨げられません。コンテナ内で 0.0.0.0アドレスでリッスンしているポートはネットワークからアクセス可能です。ポート名 dashboardおよびdashboard-httpsはOperatorによって予約されており、テンプレートで指定できません。これらの名前付きポートは spec.config.roots.dashboard.listenersからOperatorが派生し、プローブ、Service、Pod単位のAPIリクエストに使用されます。コンテナポートを変更する場合は対応するリスナーのバインドを変更してください。 | ||
env EnvVar array | コンテナ内に設定する環境変数のリスト。 | ||
envFrom EnvFromSource array | コンテナ内の環境変数を設定するためのソースのリスト。 ソース内で定義されるキーはC_IDENTIFIERである必要があります。無効なキーはコンテナ起動時にイベントとして報告されます。 複数のソースに同じキーが存在する場合、最後のソースの値が優先されます。 Envで重複キーが定義されている場合はそちらが優先されます。 | ||
resources ResourceRequirementsのリンク | このコンテナが必要とする計算リソース。 | ||
podSecurityContext PodSecurityContext | Podレベルのセキュリティ属性および共通のコンテナ設定。 | { fsGroup:1000 fsGroupChangePolicy:Always runAsGroup:1000 runAsNonRoot:true runAsUser:1000 } | |
containerSecurityContext SecurityContext | コンテナ実行時のセキュリティオプション。 設定されている場合、PodSecurityContextの同等フィールドを上書きします。 詳細: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | ||
initContainers Containerのリンク | Podに属する初期化コンテナのリスト。 初期化コンテナは通常のコンテナ起動前に順番に実行されます。失敗するとPodは失敗とみなされ、restartPolicyに従って処理されます。 初期化コンテナおよび通常コンテナの名前はすべてユニークでなければなりません。 初期化コンテナはLifecycleアクション、Readinessプローブ、Livenessプローブ、Startupプローブを持てません。 スケジューリング時には、各リソースタイプの最大要求/制限値が考慮されます。制限も同様に適用されます。 | ||
extraContainers Container array | メインコンテナと共に実行される追加コンテナ。 | ||
extraVolumes Volume array | Podに提供される追加ボリューム。 | ||
extraVolumeMounts VolumeMount array | 追加ボリュームがメインコンテナにマウントされる方法を指定。 | ||
livenessProbe Probe | コンテナの生存確認を定期的に行うプローブ。 失敗するとコンテナは再起動されます。 詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | { failureThreshold:3 httpGet:map[path:/status port:dashboard] initialDelaySeconds:60 periodSeconds:30 } | |
readinessProbe Probe | コンテナのサービス準備完了状態を定期的に確認するプローブ。 失敗するとコンテナはサービスエンドポイントから除外されます。 Operatorによるノード退避やスケーリング、ローリングアップデートを考慮して、現在のデフォルト値を維持することを強く推奨します。 詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | { failureThreshold:1 httpGet:map[path:/api/v5/load_rebalance/availability_check port:dashboard] initialDelaySeconds:10 periodSeconds:5 timeoutSeconds:3 } | |
startupProbe Probe | Podの初期化成功を示すプローブ。 指定されている場合、成功するまで他のプローブは実行されません。 失敗すると livenessProbe失敗時と同様にPodは再起動されます。Podのライフサイクル初期段階でデータロードやキャッシュウォームアップに時間がかかる場合に、通常運用時とは異なるパラメータを設定可能です。 詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | ||
lifecycle Lifecycle | コンテナのライフサイクルイベントに対する管理システムのアクション。 | ||
replicas integer | 望ましいコアノード数。各インスタンスは一貫したIDを持ちます。 | 1 | 最小値: 0 |
persistentVolumeClaimSpec PersistentVolumeClaimSpec | コアノードのデータストレージ用PVC仕様。 |
EMQXNode
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
name string | ノード名 | ||
podName string | 対応するPod名 | ||
status string | ノードの状態 | ||
otpRelease string | ノードが動作しているErlang/OTPのバージョン | ||
version string | EMQXのバージョン | ||
role string | ノードの役割。coreまたはreplicant。不明な場合は省略。 | ||
sessions integer | MQTTセッション数 | ||
connections integer | 接続中のMQTTクライアント数 |
EMQXReplicantTemplate
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
metadata TemplateObjectMeta | このテンプレートから生成されるオブジェクトに適用されるメタデータ。 | ||
spec EMQXReplicantTemplateSpec | レプリカントノードの望ましい状態の仕様。 詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | { replicas:0 } |
EMQXReplicantTemplateSpec
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
nodeSelector object (keys:string, values:string) | Podがノードに割り当てられるために満たす必要のあるセレクター。 Podがノードにスケジュールされるには、ノードのラベルと一致する必要があります。 詳細: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | ||
nodeName string | 特定のノードにこのPodをスケジュールするリクエスト。 空でなければ、スケジューラーはリソース要件を満たすと仮定してこのノードにPodを割り当てます。 | ||
affinity Affinity | Pod割り当てのためのアフィニティ。 参照: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | ||
tolerations Toleration array | Podのトレランス。 指定された場合、Podは<key,value,effect>のトリプルにマッチする任意のtaintを許容します。 | ||
topologySpreadConstraints TopologySpreadConstraint array | 指定されたトポロジー間でマッチするPodをどのように分散させるかを指定します。 | ||
dnsConfig PodDNSConfig | PodのDNSパラメータを指定します。 ここで指定されたパラメータはDNSPolicy(常にClusterFirst)に基づく生成されたDNS設定にマージされます。 詳細: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config | ||
minReadySeconds integer | Podが利用可能とみなされるためにReady状態である必要がある最小時間(秒)。 コアノードにはStatefulSetに適用されます(apps/v1 StatefulSetSpec.minReadySecondsに準拠)。 レプリカントにはReplicaSetに適用されます(apps/v1 ReplicaSetSpec.minReadySecondsに準拠)。 省略または0はapps/v1のデフォルト(0)と同じです。 | 最小値: 0 | |
command string array | エントリポイント配列。シェル内で実行されません。 指定しない場合はコンテナイメージのENTRYPOINTが使用されます。 変数参照 $(VAR_NAME)はコンテナの環境変数を使って展開されます。解決できない場合は文字列は変更されません。$$は単一の$に変換され、$(VAR_NAME)構文のエスケープが可能です。エスケープされた参照は変数の有無に関わらず展開されません。更新不可。 詳細: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | オプション: {} | |
args string array | エントリポイントへの引数。 指定しない場合はコンテナイメージのCMDが使用されます。 変数参照 $(VAR_NAME)はコンテナの環境変数を使って展開されます。解決できない場合は文字列は変更されません。$$は単一の$に変換され、$(VAR_NAME)構文のエスケープが可能です。エスケープされた参照は変数の有無に関わらず展開されません。 詳細: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | ||
ports ContainerPort array | コンテナから公開するポートのリスト。 ここでポートを公開することはネットワーク接続に関する追加情報をシステムに提供しますが、主に情報的なものです。 ここでポートを指定しなくても、そのポートの公開は妨げられません。コンテナ内で 0.0.0.0アドレスでリッスンしているポートはネットワークからアクセス可能です。ポート名 dashboardおよびdashboard-httpsはOperatorによって予約されており、テンプレートで指定できません。これらの名前付きポートは spec.config.roots.dashboard.listenersからOperatorが派生し、プローブ、Service、Pod単位のAPIリクエストに使用されます。コンテナポートを変更する場合は対応するリスナーのバインドを変更してください。 | ||
env EnvVar array | コンテナ内に設定する環境変数のリスト。 | ||
envFrom EnvFromSource array | コンテナ内の環境変数を設定するためのソースのリスト。 ソース内で定義されるキーはC_IDENTIFIERである必要があります。無効なキーはコンテナ起動時にイベントとして報告されます。 複数のソースに同じキーが存在する場合、最後のソースの値が優先されます。 Envで重複キーが定義されている場合はそちらが優先されます。 | ||
resources ResourceRequirementsのリンク | このコンテナが必要とする計算リソース。 | ||
podSecurityContext PodSecurityContext | Podレベルのセキュリティ属性および共通のコンテナ設定。 | { fsGroup:1000 fsGroupChangePolicy:Always runAsGroup:1000 runAsNonRoot:true runAsUser:1000 } | |
containerSecurityContext SecurityContext | コンテナ実行時のセキュリティオプション。 設定されている場合、PodSecurityContextの同等フィールドを上書きします。 詳細: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | ||
initContainers Containerのリンク | Podに属する初期化コンテナのリスト。 初期化コンテナは通常のコンテナ起動前に順番に実行されます。失敗するとPodは失敗とみなされ、restartPolicyに従って処理されます。 初期化コンテナおよび通常コンテナの名前はすべてユニークでなければなりません。 初期化コンテナはLifecycleアクション、Readinessプローブ、Livenessプローブ、Startupプローブを持てません。 スケジューリング時には、各リソースタイプの最大要求/制限値が考慮されます。制限も同様に適用されます。 | ||
extraContainers Container array | メインコンテナと共に実行される追加コンテナ。 | ||
extraVolumes Volume array | Podに提供される追加ボリューム。 | ||
extraVolumeMounts VolumeMount array | 追加ボリュームがメインコンテナにマウントされる方法を指定。 | ||
livenessProbe Probe | コンテナの生存確認を定期的に行うプローブ。 失敗するとコンテナは再起動されます。 詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | { failureThreshold:3 httpGet:map[path:/status port:dashboard] initialDelaySeconds:60 periodSeconds:30 } | |
readinessProbe Probe | コンテナのサービス準備完了状態を定期的に確認するプローブ。 失敗するとコンテナはサービスエンドポイントから除外されます。 Operatorによるノード退避やスケーリング、ローリングアップデートを考慮して、現在のデフォルト値を維持することを強く推奨します。 詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | { failureThreshold:1 httpGet:map[path:/api/v5/load_rebalance/availability_check port:dashboard] initialDelaySeconds:10 periodSeconds:5 timeoutSeconds:3 } | |
startupProbe Probe | Podの初期化成功を示すプローブ。 指定されている場合、成功するまで他のプローブは実行されません。 失敗すると livenessProbe失敗時と同様にPodは再起動されます。Podのライフサイクル初期段階でデータロードやキャッシュウォームアップに時間がかかる場合に、通常運用時とは異なるパラメータを設定可能です。 詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | ||
lifecycle Lifecycle | コンテナのライフサイクルイベントに対する管理システムのアクション。 | ||
replicas integer | 望ましいレプリカントノード数。 | 0 | 最小値: 0 |
EMQXSpec
EMQXSpecはEMQXの望ましい状態を定義します。
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
image string | EMQXコンテナイメージ。 詳細: https://kubernetes.io/docs/concepts/containers/images | ||
imagePullPolicy PullPolicy | コンテナイメージのプルポリシー。Always、Never、IfNotPresentのいずれか。:latestタグ指定時はデフォルトでAlways、それ以外はIfNotPresent。詳細: https://kubernetes.io/docs/concepts/containers/images#updating-images | ||
imagePullSecrets LocalObjectReference array | このPodSpecで使用されるイメージのプルに使う同一ネームスペース内のシークレットへの参照リスト(オプション)。 指定すると、これらのシークレットが個別のプラー実装に渡されます。 詳細: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | ||
serviceAccountName string | ServiceAccount名。 管理されるReplicaSetおよびStatefulSetは認証のため指定されたServiceAccountに関連付けられます。 詳細: https://kubernetes.io/docs/concepts/security/service-accounts | ||
config Config | EMQX設定。 | ||
clusterDomain string | Kubernetesクラスターのドメイン。 | cluster.local | |
revisionHistoryLimit integer | ロールバックを可能にするために保持する古いReplicaSetの数。 | 3 | |
updateStrategy UpdateStrategy | クラスターアップグレード戦略の設定。 | { type:RollingUpdate } | |
coreTemplate EMQXCoreTemplate | EMQXコアノードを実行するPodのテンプレート。 | { spec:map[persistentVolumeClaimSpec:map[accessModes:[ReadWriteOnce] resources:map[requests:map[storage:500Mi]]] replicas:1] } | |
replicantTemplate EMQXReplicantTemplate | EMQXレプリカントノードを実行するPodのテンプレート。 | { spec:map[replicas:0] } | |
dashboardServiceTemplate ServiceTemplate | EMQXダッシュボードを公開するServiceのテンプレート。 ダッシュボードServiceは常にEMQXコアノードのセットを指します。 テンプレート内の dashboardまたはdashboard-httpsという名前のポートは対応する生成されたServiceポートを上書きします。その portは異なるServiceポートでリスナーを公開できますが、targetPortは対応するダッシュボードリスナーに解決される必要があります。リスナーのバインド変更に追従するため、予約済みの名前付きターゲットポートを使うことを推奨します。 | ||
listenersServiceTemplate ServiceTemplate | 有効なEMQXリスナーを公開するServiceのテンプレート。 リスナーServiceは有効かつ存在する場合、EMQXレプリカントノードのセットを指します。 そうでなければEMQXコアノードのセットを指します。 |
EMQXStatus
EMQXStatusはEMQXの観測された状態を定義します。
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
conditions Condition array | EMQXカスタムリソースの現在の状態を表す条件。 | ||
coreReplicas integer | コアセットの観測されたレプリカ数。 | ||
coreSelector string | コアPodにマッチするシリアライズされたラベルセレクター。 | ||
replicantReplicas integer | レプリカントセットPodの観測されたレプリカ数。 スケールサブリソースで使用。 | ||
replicantSelector string | レプリカントPodにマッチするシリアライズされたラベルセレクター。 HPAのPod検出にスケールサブリソースで使用。 | ||
coreNodesStatus CoreNodesStatus | コアノードセットの概要ステータス。 | ||
replicantNodesStatus ReplicantNodesStatus | レプリカントノードセットの概要ステータス。 | ||
clusterNodes EMQXNode array | 役割が不明なノードを含む観測されたクラスター内ノード。 | ||
nodeEvacuations NodeEvacuationStatus array | クラスター内のアクティブなノード退避の状態。 | ||
dsReplication DSReplicationStatus | EMQX Durable Storageのレプリケーション状態。 | ||
config ConfigStatus | 宣言的EMQX設定の調整状態。 フィールドは情報提供のための実装詳細です。設定のライフサイクル状態を判断するには ConfigApplied条件を推奨します。 |
EvacuationStrategy
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
type EvacuationStrategyType | 退避ポリシーのタイプ。 | NodeEvacuation | Enum: [NodeEvacuation Disabled] |
connectionEvictionRate integer | クライアント切断率(秒あたりの数)。 EMQXノード退避の conn-evict-rateと同じ。 | 1000 | 最小値: 1 |
sessionEvictionRate integer | セッション退避率(秒あたりの数)。 EMQXノード退避の sess-evict-rateと同じ。 | 1000 | 最小値: 1 |
waitTakeover integer | セッション退避開始までの待機時間(秒)。 EMQXノード退避の wait-takeoverと同じ。 | 10 | 最小値: 0 |
waitHealthCheck integer | ノードがロードバランサーのアクティブバックエンドリストから除外されるのを待つ時間(秒)。 EMQXノード退避の wait-health-checkと同じ。 | 60 | 最小値: 0 |
EvacuationStrategyType
基底型: string
登場箇所:
| フィールド | 説明 |
|---|---|
NodeEvacuation | |
Disabled |
NodeEvacuationStatus
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
nodeName string | 退避中のノード名 | ||
state string | 退避状態 | ||
sessionRecipients string array | セッション受け取り先 | ||
sessionEvictionRate integer | セッション退避率(秒あたりのセッション数) | ||
connectionEvictionRate integer | 接続退避率(秒あたりの接続数) | ||
initialSessions integer | このノードの初期セッション数 | ||
initialConnections integer | このノードへの初期接続数 |
ReplicantNodesStatus
ReplicantNodesStatusはレプリカントノードセットの概要ステータスです。
マルチReplicaSetパターンではCRレベルでのリビジョントラッキングが必要です。
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
readyReplicas integer | 準備完了レプリカ数。 | ||
currentRevision string | レプリカントセットの現在のリビジョン。 | ||
currentReplicas integer | 現在のリビジョンで稼働中のレプリカ数。 | ||
updateRevision string | レプリカントセットの更新リビジョン。 現在のリビジョンと異なる場合、セットは更新中。 | ||
updateReplicas integer | 更新リビジョンで稼働中のレプリカ数。 | ||
collisionCount integer |
ReplicantsUpdateStrategy
ReplicantsUpdateStrategyはレプリカントReplicaSetのローリングアップデートの進行速度を制御します。
意味論はapps/v1 Deployment.spec.strategy.rollingUpdateに準じます。
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
maxUnavailable IntOrString | MaxUnavailableはレプリカントReplicaSetのローリングアップデート中に一度にドレイン(退避、終了、削除予定)可能な古いPodの最大数。 整数は絶対数、文字列は望ましいレプリカ数の割合(例: "25%")。 デフォルトは1(シリアルドレイン)。 | XIntOrString: {} | |
maxSurge IntOrString | MaxSurgeはテンプレートローリングアップデート中に新しいReplicaSetで許可される望ましいレプリカ数を超えた追加Pod数。整数は絶対数、文字列は望ましいレプリカ数の割合。 デフォルトは0。 | XIntOrString: {} |
ServiceTemplate
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
enabled boolean | Serviceを作成するかどうかを指定します。 | true | |
metadata TemplateObjectMeta | このテンプレートから生成されるオブジェクトに適用されるメタデータ。 | ||
spec ServiceSpec | Serviceの望ましい状態の仕様。 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
TemplateObjectMeta
TemplateObjectMetaはテンプレートから作成されたオブジェクトに伝播されるメタデータを含みます。
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
labels object (keys:string, values:string) | 生成されたオブジェクトに適用されるラベル。 | ||
annotations object (keys:string, values:string) | 生成されたオブジェクトに適用されるアノテーション。 |
UpdateStrategy
登場箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
type string | クラスターアップグレードの実行方法を決定します。 * RollingUpdate: ローリングアップグレードを実行し、Podを段階的に更新します。コアPodは常に1つずつ更新され、レプリカントの更新はreplicants戦略で制御されます。 | RollingUpdate | Enum: [RollingUpdate] |
evacuationStrategy EvacuationStrategy | 退避戦略の設定。 | { type:NodeEvacuation } | |
replicants ReplicantsUpdateStrategy | レプリカントReplicaSetのローリングアップデートのパラメータ。 |