Skip to content

APIリファレンス (v2beta1)

パッケージ

apps.emqx.io/v2beta1

Package v2beta1 は apps v2beta1 APIグループのAPIスキーマ定義を含みます

リソースタイプ

BootstrapAPIKey

出現箇所:

フィールド説明デフォルトバリデーション
key stringパターン: ^[a-zA-Z\d-_]+$
secret string最大長: 128
最小長: 3
secretRef SecretRef

Config

出現箇所:

フィールド説明デフォルトバリデーション
mode stringMerge列挙: [Merge Replace]
data stringEMQX設定、HOCON形式、etc/emqx.confファイルのような形式

EMQX

EMQXはemqxes APIのスキーマです

出現箇所:

フィールド説明デフォルトバリデーション
apiVersion stringapps.emqx.io/v2beta1
kind stringEMQX
metadata ObjectMetametadataのフィールドについてはKubernetes APIドキュメントを参照してください。
spec EMQXSpecSpecはこのセット内のEMQXノードの望ましい状態を定義します。
status EMQXStatusStatusはEMQXノードの現在の状態です。このデータは一定の遅延を伴う場合があります。

EMQXCoreTemplate

出現箇所:

フィールド説明デフォルトバリデーション
metadata ObjectMetametadataのフィールドについてはKubernetes APIドキュメントを参照してください。
spec EMQXCoreTemplateSpecEMQXコアノードの望ましい動作の仕様。
詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

EMQXCoreTemplateSpec

出現箇所:

フィールド説明デフォルトバリデーション
nodeSelector object (keys:string, values:string)NodeSelectorはポッドがノードに適合するために真でなければならないセレクターです。ポッドがそのノードにスケジュールされるためにノードのラベルと一致しなければなりません。
詳細: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes/
nodeName stringNodeNameはこのポッドを特定のノードにスケジュールするリクエストです。空でなければ、スケジューラーはリソース要件に適合すると仮定して単純にこのポッドをそのノードにスケジュールします。
affinity Affinityポッド割り当てのためのAffinity
参照: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/
toleRations Toleration array指定された場合、ポッドのトレランスです。
このTolerationが付与されたポッドは、マッチング演算子を使用してトリプル<key,value,effect>に一致する任意の汚染を許容します。
TODO: 将来的にはtolerationsを使用すべきで、このフィールドは旧バージョンとの互換性のためだけに存在し、将来削除されます。
tolerations Toleration array指定された場合、ポッドのトレランスです。
このTolerationが付与されたポッドは、マッチング演算子を使用してトリプル<key,value,effect>に一致する任意の汚染を許容します。
topologySpreadConstraints TopologySpreadConstraint array// TopologySpreadConstraintは指定されたトポロジー間でマッチするポッドをどのように分散させるかを指定します。
replicas integerReplicasは指定されたテンプレートの望ましいレプリカ数です。
これらは同一テンプレートのインスタンスであり、個々のレプリカは一貫した識別子を持ちます。
デフォルトは2です。
2
minAvailable IntOrString"selector"で選択された少なくとも"minAvailable"個のポッドが、退避後も利用可能である場合に退避が許可されます。つまり、退避されたポッドが存在しなくても利用可能である必要があります。
例えば、"100%"を指定するとすべての任意退避を防止できます。
XIntOrString: {}
maxUnavailable IntOrString"selector"で選択された最大"maxUnavailable"個のポッドが退避後に利用不可である場合に退避が許可されます。つまり、退避されたポッドが存在しなくても利用不可である必要があります。
例えば、0を指定するとすべての任意退避を防止できます。これは"minAvailable"と相互排他的な設定です。
XIntOrString: {}
command string arrayエントリポイント配列。シェル内で実行されません。
指定しない場合はコンテナイメージのENTRYPOINTが使用されます。
変数参照(VARNAME)に変換され、(VARNAME)"(VARNAME)""(VAR_NAME)"になります。エスケープされた参照は変数の存在に関わらず展開されません。更新不可。
詳細: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
args string arrayエントリポイントへの引数。
指定しない場合はコンテナイメージのCMDが使用されます。
変数参照(VARNAME)に変換され、(VARNAME)"(VARNAME)""(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"アドレスでリッスンしている任意のポートはネットワークからアクセス可能です。
更新不可。
env EnvVar arrayコンテナ内で設定する環境変数のリスト。
更新不可。
envFrom EnvFromSource arrayコンテナ内の環境変数を設定するためのソースのリスト。
ソース内で定義されたキーはC_IDENTIFIERでなければなりません。無効なキーはコンテナ起動時にイベントとして報告されます。複数のソースに同じキーが存在する場合、最後のソースの値が優先されます。
重複キーのEnvで定義された値が優先されます。
更新不可。
resources ResourceRequirementsこのコンテナに必要な計算リソース。
更新不可。
詳細: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
podSecurityContext PodSecurityContextSecurityContextはポッドレベルのセキュリティ属性および共通のコンテナ設定を保持します。{ fsGroup:1000 fsGroupChangePolicy:Always runAsGroup:1000 runAsUser:1000 supplementalGroups:[1000] }
containerSecurityContext SecurityContextSecurityContextはコンテナを実行する際のセキュリティオプションを定義します。
設定されている場合、SecurityContextのフィールドはPodSecurityContextの同等フィールドを上書きします。
詳細: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
{ runAsGroup:1000 runAsNonRoot:true runAsUser:1000 }
initContainers Container arrayポッドに属する初期化コンテナのリスト。
初期化コンテナはコンテナ起動前に順に実行されます。いずれかの初期化コンテナが失敗するとポッドは失敗と見なされ、restartPolicyに従って処理されます。初期化コンテナまたは通常コンテナの名前はすべてのコンテナ間で一意でなければなりません。
初期化コンテナはLifecycleアクション、Readinessプローブ、Livenessプローブ、Startupプローブを持てません。
初期化コンテナのresourceRequirementsはスケジューリング時に考慮され、各リソースタイプの最大要求/制限値を見つけ、それと通常コンテナの合計の最大値を使用します。制限も同様に適用されます。
初期化コンテナは現在追加・削除できません。
更新不可。
詳細: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
extraContainers Container arrayExtraContainersはポッドに追加される追加コンテナを表します。
詳細: https://github.com/emqx/emqx-operator/issues/252
extraVolumes Volume array詳細: https://github.com/emqx/emqx-operator/pull/72
extraVolumeMounts VolumeMount array詳細: https://github.com/emqx/emqx-operator/pull/72
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コンテナのサービス準備完了状態を定期的にチェックするプローブ。
プローブが失敗するとコンテナはサービスエンドポイントから除外されます。
更新不可。
詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
{ failureThreshold:12 httpGet:map[path:/status port:dashboard] initialDelaySeconds:10 periodSeconds:5 }
startupProbe ProbeStartupProbeはポッドが正常に初期化されたことを示します。
指定された場合、これが成功するまでは他のプローブは実行されません。
このプローブが失敗すると、livenessProbeが失敗した場合と同様にポッドは再起動されます。
これはポッドのライフサイクル開始時にデータロードやキャッシュウォームアップに時間がかかる場合に、通常運用時とは異なるプローブパラメータを提供するために使用できます。
更新不可。
詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
lifecycle Lifecycleコンテナのライフサイクルイベントに応じて管理システムが実行すべきアクション。
更新不可。
volumeClaimTemplates PersistentVolumeClaimSpecこのフィールドはVolumeClaimTemplatesという名前ですが、実際にはPersistentVolumeClaimSpecです。名前が悪くて申し訳ありません。
PersistentVolumeClaimSpecはストレージデバイスの共通属性を記述し、プロバイダー固有の属性のためのソースを許可します。
EMQXReplicantTemplateSpecより詳細です。

EMQXList

EMQXListはEMQXのリストを含みます

フィールド説明デフォルトバリデーション
apiVersion stringapps.emqx.io/v2beta1
kind stringEMQXList
metadata ListMetametadataのフィールドについてはKubernetes APIドキュメントを参照してください。
items EMQX array

EMQXNode

出現箇所:

フィールド説明デフォルトバリデーション
controllerUID UID
podUID UID
node stringEMQXノード名、例: emqx@127.0.0.1
node_status stringEMQXノードの状態、例: Running
otp_release stringEMQXが使用するErlang/OTPのバージョン、例: 24.2/12.2
version stringEMQXのバージョン
role stringEMQXクラスターのノードロール、列挙: "core" "replicant"
edition stringEMQXクラスターのノードエディション、列挙: "Opensource" "Enterprise"
connections integerEMQXの/api/v5/nodes APIにおけるconnectionsフィールドはMQTTセッション数を意味します。
live_connections integerEMQXの/api/v5/nodes APIにおけるlive_connectionsフィールドは接続中のMQTTクライアント数を意味します。
live_connectionsはEMQX 5.1以降でのみ有効です。

EMQXNodesStatus

出現箇所:

フィールド説明デフォルトバリデーション
replicas integer
readyReplicas integer
currentRevision string
currentReplicas integer
updateRevision string
updateReplicas integer
collisionCount integer

EMQXReplicantTemplate

出現箇所:

フィールド説明デフォルトバリデーション
metadata ObjectMetametadataのフィールドについてはKubernetes APIドキュメントを参照してください。
spec EMQXReplicantTemplateSpecEMQXレプリカントノードの望ましい動作の仕様。
詳細: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Controller toolsは複雑なバリデーション(oneOf/anyOf/allOfなど)をサポートしていないため、代わりにバリデーションルールを使用してください。 https://github.com/kubernetes-sigs/controller-tools/issues/461#issuecomment-1982741599

EMQXReplicantTemplateSpec

出現箇所:

フィールド説明デフォルトバリデーション
nodeSelector object (keys:string, values:string)NodeSelectorはポッドがノードに適合するために真でなければならないセレクターです。ポッドがそのノードにスケジュールされるためにノードのラベルと一致しなければなりません。
詳細: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes/
nodeName stringNodeNameはこのポッドを特定のノードにスケジュールするリクエストです。空でなければ、スケジューラーはリソース要件に適合すると仮定して単純にこのポッドをそのノードにスケジュールします。
affinity Affinityポッド割り当てのためのAffinity
参照: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/
toleRations Toleration array指定された場合、ポッドのトレランスです。
このTolerationが付与されたポッドは、マッチング演算子を使用してトリプル<key,value,effect>に一致する任意の汚染を許容します。
TODO: 将来的にはtolerationsを使用すべきで、このフィールドは旧バージョンとの互換性のためだけに存在し、将来削除されます。
tolerations Toleration array指定された場合、ポッドのトレランスです。
このTolerationが付与されたポッドは、マッチング演算子を使用してトリプル<key,value,effect>に一致する任意の汚染を許容します。
topologySpreadConstraints TopologySpreadConstraint array// TopologySpreadConstraintは指定されたトポロジー間でマッチするポッドをどのように分散させるかを指定します。
replicas integerReplicasは指定されたテンプレートの望ましいレプリカ数です。
これらは同一テンプレートのインスタンスであり、個々のレプリカは一貫した識別子を持ちます。
デフォルトは2です。
2
minAvailable IntOrString"selector"で選択された少なくとも"minAvailable"個のポッドが、退避後も利用可能である場合に退避が許可されます。つまり、退避されたポッドが存在しなくても利用可能である必要があります。
例えば、"100%"を指定するとすべての任意退避を防止できます。
XIntOrString: {}
maxUnavailable IntOrString"selector"で選択された最大"maxUnavailable"個のポッドが退避後に利用不可である場合に退避が許可されます。つまり、退避されたポッドが存在しなくても利用不可である必要があります。
例えば、0を指定するとすべての任意退避を防止できます。これは"minAvailable"と相互排他的な設定です。
XIntOrString: {}
command string arrayエントリポイント配列。シェル内で実行されません。
指定しない場合はコンテナイメージのENTRYPOINTが使用されます。
変数参照(VARNAME)に変換され、(VARNAME)"(VARNAME)""(VAR_NAME)"になります。エスケープされた参照は変数の存在に関わらず展開されません。更新不可。
詳細: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
args string arrayエントリポイントへの引数。
指定しない場合はコンテナイメージのCMDが使用されます。
変数参照(VARNAME)に変換され、(VARNAME)"(VARNAME)""(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"アドレスでリッスンしている任意のポートはネットワークからアクセス可能です。
更新不可。
env EnvVar arrayコンテナ内で設定する環境変数のリスト。
更新不可。
envFrom EnvFromSource arrayコンテナ内の環境変数を設定するためのソースのリスト。
ソース内で定義されたキーはC_IDENTIFIERでなければなりません。無効なキーはコンテナ起動時にイベントとして報告されます。複数のソースに同じキーが存在する場合、最後のソースの値が優先されます。
重複キーのEnvで定義された値が優先されます。
更新不可。
resources ResourceRequirementsこのコンテナに必要な計算リソース。
更新不可。
詳細: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
podSecurityContext PodSecurityContextSecurityContextはポッドレベルのセキュリティ属性および共通のコンテナ設定を保持します。{ fsGroup:1000 fsGroupChangePolicy:Always runAsGroup:1000 runAsUser:1000 supplementalGroups:[1000] }
containerSecurityContext SecurityContextSecurityContextはコンテナを実行する際のセキュリティオプションを定義します。
設定されている場合、SecurityContextのフィールドはPodSecurityContextの同等フィールドを上書きします。
詳細: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
{ runAsGroup:1000 runAsNonRoot:true runAsUser:1000 }
initContainers Container arrayポッドに属する初期化コンテナのリスト。
初期化コンテナはコンテナ起動前に順に実行されます。いずれかの初期化コンテナが失敗するとポッドは失敗と見なされ、restartPolicyに従って処理されます。初期化コンテナまたは通常コンテナの名前はすべてのコンテナ間で一意でなければなりません。
初期化コンテナはLifecycleアクション、Readinessプローブ、Livenessプローブ、Startupプローブを持てません。
初期化コンテナのresourceRequirementsはスケジューリング時に考慮され、各リソースタイプの最大要求/制限値を見つけ、それと通常コンテナの合計の最大値を使用します。制限も同様に適用されます。
初期化コンテナは現在追加・削除できません。
更新不可。
詳細: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
extraContainers Container arrayExtraContainersはポッドに追加される追加コンテナを表します。
詳細: https://github.com/emqx/emqx-operator/issues/252
extraVolumes Volume array詳細: https://github.com/emqx/emqx-operator/pull/72
extraVolumeMounts VolumeMount array詳細: https://github.com/emqx/emqx-operator/pull/72
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コンテナのサービス準備完了状態を定期的にチェックするプローブ。
プローブが失敗するとコンテナはサービスエンドポイントから除外されます。
更新不可。
詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
{ failureThreshold:12 httpGet:map[path:/status port:dashboard] initialDelaySeconds:10 periodSeconds:5 }
startupProbe ProbeStartupProbeはポッドが正常に初期化されたことを示します。
指定された場合、これが成功するまでは他のプローブは実行されません。
このプローブが失敗すると、livenessProbeが失敗した場合と同様にポッドは再起動されます。
これはポッドのライフサイクル開始時にデータロードやキャッシュウォームアップに時間がかかる場合に、通常運用時とは異なるプローブパラメータを提供するために使用できます。
更新不可。
詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
lifecycle Lifecycleコンテナのライフサイクルイベントに応じて管理システムが実行すべきアクション。
更新不可。

EMQXSpec

EMQXSpecはEMQXの望ましい状態を定義します

出現箇所:

フィールド説明デフォルトバリデーション
image stringEMQXのイメージ名。
詳細: 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 arrayImagePullSecretsはこのPodSpecで使用されるイメージをプルするために同じネームスペース内のシークレットへの参照のオプションリストです。
指定された場合、これらのシークレットは個別のプラー実装に渡されて使用されます。
詳細: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
serviceAccountName stringサービスアカウント名
ReplicaSetまたはStatefulSetを指定されたサービスアカウントに関連付けて認証目的で使用します。
詳細: https://kubernetes.io/docs/concepts/security/service-accounts
bootstrapAPIKeys BootstrapAPIKey arrayEMQXのブートストラップユーザー
更新不可。
config ConfigEMQX設定
clusterDomain stringcluster.local
revisionHistoryLimit integerロールバックを可能にするために保持する古いReplicaSet、古いStatefulSet、古いPersistentVolumeClaimの数。
明示的なゼロと未指定を区別するためのポインター。
デフォルトは3。
3
updateStrategy UpdateStrategyUpdateStrategyはEMQXのブルーグリーンアップデート戦略を記述するオブジェクトです{ evacuationStrategy:map[connEvictRate:1000 sessEvictRate:1000 waitTakeover:10] initialDelaySeconds:10 type:Recreate }
coreTemplate EMQXCoreTemplateCoreTemplateは作成されるEMQXコアノードを記述するオブジェクトです{ spec:map[replicas:1] }
replicantTemplate EMQXReplicantTemplateReplicantTemplateは作成されるEMQXレプリカントノードを記述するオブジェクトです
dashboardServiceTemplate ServiceTemplateDashboardServiceTemplateは作成されるEMQXダッシュボードサービスを記述するオブジェクトです
このサービスは常にEMQXコアノードをセレクトします
listenersServiceTemplate ServiceTemplateListenersServiceTemplateは作成されるEMQXリスナーサービスを記述するオブジェクトです
EMQXレプリカントノードが存在する場合、このサービスはEMQXレプリカントノードをセレクトします
存在しない場合はEMQXコアノードをセレクトします

EMQXStatus

EMQXStatusはEMQXの観測された状態を定義します

出現箇所:

フィールド説明デフォルトバリデーション
conditions Condition arrayEMQXカスタムリソースの現在の状態に関する最新の観測結果を表します。
coreNodes EMQXNode array
coreNodesStatus EMQXNodesStatus
replicantNodes EMQXNode array
replicantNodesStatus EMQXNodesStatus
nodeEvacuationsStatus NodeEvacuationStatus array

EvacuationStrategy

出現箇所:

フィールド説明デフォルトバリデーション
waitTakeover integer最小値: 0
connEvictRate integerEMQX Enterpriseでのみ有効です。1000最小値: 1
sessEvictRate integerEMQX Enterpriseでのみ有効です。1000最小値: 1

KeyRef

出現箇所:

フィールド説明デフォルトバリデーション
secretName string
secretKey stringパターン: ^[a-zA-Z\d-_]+$

NodeEvacuationStats

出現箇所:

フィールド説明デフォルトバリデーション
initial_sessions integer
initial_connected integer
current_sessions integer
current_connected integer

NodeEvacuationStatus

出現箇所:

フィールド説明デフォルトバリデーション
node string
stats NodeEvacuationStats
state string
session_recipients string array
session_goal integer
session_eviction_rate integer
connection_goal integer
connection_eviction_rate integer

Rebalance

Rebalanceはrebalances APIのスキーマです

出現箇所:

フィールド説明デフォルトバリデーション
apiVersion stringapps.emqx.io/v2beta1
kind stringRebalance
metadata ObjectMetametadataのフィールドについてはKubernetes APIドキュメントを参照してください。
spec RebalanceSpec
status RebalanceStatus

RebalanceCondition

RebalanceConditionはEMQXのリバランシングジョブの現在の状態を表します。

出現箇所:

フィールド説明デフォルトバリデーション
type RebalanceConditionTypeリバランス条件タイプの状態。Processing、Complete、Failedのいずれか。
status ConditionStatus条件の状態。True、False、Unknownのいずれか。
lastUpdateTime Timeこの条件が最後に更新された時刻。
lastTransitionTime Time条件がある状態から別の状態に遷移した最後の時刻。
reason string条件の最後の遷移理由。
message string遷移の詳細を示す人間が読みやすいメッセージ。

RebalanceConditionType

基底型: string

出現箇所:

フィールド説明
Processing
Completed
Failed

RebalanceList

RebalanceListはRebalanceのリストを含みます

フィールド説明デフォルトバリデーション
apiVersion stringapps.emqx.io/v2beta1
kind stringRebalanceList
metadata ListMetametadataのフィールドについてはKubernetes APIドキュメントを参照してください。
items Rebalance array

RebalancePhase

基底型: string

出現箇所:

フィールド説明
Processing
Completed
Failed

RebalanceSpec

RebalanceSpecはRebalanceの望ましい状態を定義します

出現箇所:

フィールド説明デフォルトバリデーション
instanceKind stringInstanceKindはEMQXとEMQXEnterpriseを区別するために使用されます。
"EMQX"に設定されている場合はEMQX CRがv2beta1であることを意味し、
"EmqxEnterprise"に設定されている場合はEmqxEnterprise CRがv1beta4であることを意味します。
EMQX
instanceName stringInstanceNameはEMQX CRの名前を表し、EMQX Enterpriseでのみ有効です。必須: {}
rebalanceStrategy RebalanceStrategyRebalanceStrategyはEMQXのリバランス戦略を表します。
詳細: https://docs.emqx.com/en/enterprise/v4.4/advanced/rebalancing.html#rebalancing
必須: {}

RebalanceState

RebalanceStateはEMQXの観測されたリバランス状態を定義します

出現箇所:

フィールド説明デフォルトバリデーション
state stringStateはemqxクラスターのリバランス状態を表します。
session_eviction_rate integerSessionEvictionRateはノードのセッション退避率(秒あたり)を表します。
recipients string arrayRecipientsはリバランスの対象ノードを表します。
node stringNodeはリバランスのスケジューリングノードを表します。
donors string arrayDonorsはリバランスのソースノードを表します。
coordinator_node stringCoordinatorNodeは現在リバランス中のノードを表します。
connection_eviction_rate integerConnectionEvictionRateはノードの接続退避率(秒あたり)を表します。

RebalanceStatus

RebalanceStatusはRebalanceの現在の状態を表します

出現箇所:

フィールド説明デフォルトバリデーション
conditions RebalanceCondition arrayオブジェクトの現在の状態に関する最新の観測結果。
Rebalanceが失敗した場合、条件は"type"が"Failed"でstatusがfalseになります。
Rebalanceが処理中の場合、条件は"type"が"Processing"でstatusがtrueになります。
Rebalanceが完了した場合、条件は"type"が"Complete"でstatusがtrueになります。
phase RebalancePhasePhaseはRebalanceのフェーズを表します。
rebalanceStates RebalanceState array
startedTime TimeStartedTimeはリバランスジョブの開始時刻を表します。
completedTime TimeCompletedTimeはリバランスジョブの完了時刻を表します。

RebalanceStrategy

RebalanceStrategyはEMQXのリバランス戦略を表します

出現箇所:

フィールド説明デフォルトバリデーション
connEvictRate integerConnEvictRateはソースノードのクライアント切断率(秒あたり)を表します。
EMQXリバランシングのconn-evict-rateと同じです。
値は0より大きくなければなりません。
最小値: 1
必須: {}
sessEvictRate integerSessEvictRateはソースノードのセッション退避率(秒あたり)を表します。
EMQXリバランシングのsess-evict-rateと同じです。
値は0より大きくなければなりません。
デフォルトは500です。
500
waitTakeover integerWaitTakeoverはすべての接続が切断された後、クライアントがセッションを引き継ぐために再接続を待つ秒数を表します。
EMQXリバランシングのwait-takeoverと同じです。
値は0より大きくなければなりません。
デフォルトは60秒です。
60
waitHealthCheck integerWaitHealthCheckはロードバランサーがソースノードをアクティブなバックエンドノードのリストから除外するまでの待機時間(秒)を表します。
指定された待機時間を超えるとリバランスタスクが開始されます。
EMQXリバランシングのwait-health-checkと同じです。
値は0より大きくなければなりません。
デフォルトは60秒です。
60
absConnThreshold integerAbsConnThresholdは接続バランスチェックの絶対閾値を表します。
EMQXリバランシングのabs-conn-thresholdと同じです。
値は0より大きくなければなりません。
デフォルトは1000です。
1000
relConnThreshold stringRelConnThresholdは接続バランスチェックの相対閾値を表します。
EMQXリバランシングのrel-conn-thresholdと同じです。
浮動小数点の使用は言語間のサポート差異が大きいため推奨されません。
そのためRelConnThresholdは文字列型で定義されており、浮動小数点型ではありません。
値は"1.0"より大きくなければなりません。
デフォルトは"1.1"です。
1.1
absSessThreshold integerAbsSessThresholdはセッション接続バランスチェックの絶対閾値を表します。
EMQXリバランシングのabs-sess-thresholdと同じです。
値は0より大きくなければなりません。
デフォルトは1000です。
1000
relSessThreshold stringRelSessThresholdはセッション接続バランスチェックの相対閾値を表します。
EMQXリバランシングのrel-sess-thresholdと同じです。
浮動小数点の使用は言語間のサポート差異が大きいため推奨されません。
そのためRelSessThresholdは文字列型で定義されており、浮動小数点型ではありません。
値は"1.0"より大きくなければなりません。
デフォルトは"1.1"です。
1.1

SecretRef

出現箇所:

フィールド説明デフォルトバリデーション
key KeyRef
secret KeyRef

ServiceTemplate

出現箇所:

フィールド説明デフォルトバリデーション
enabled booleanEMQX OperatorはEMQXノード用のサービスを作成します。
これはfalseと未指定を区別するためのポインターです。
true
metadata ObjectMetametadataのフィールドについてはKubernetes APIドキュメントを参照してください。
spec ServiceSpecSpecはサービスの動作を定義します。
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

UpdateStrategy

出現箇所:

フィールド説明デフォルトバリデーション
type stringRecreate列挙: [Recreate]
initialDelaySeconds integer退避接続開始までの秒数。
evacuationStrategy EvacuationStrategy退避接続タイムアウトまでの秒数。