Skip to content

APIリファレンス (v2beta1)

パッケージ

apps.emqx.io/v2beta1

パッケージ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ポッド割り当てのためのアフィニティ
参照: 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 /api/v5/nodesconnections フィールドはMQTTセッション数を意味します。
live_connections integerEMQXのAPI /api/v5/nodeslive_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ポッド割り当てのためのアフィニティ
参照: 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が失敗した場合、conditionは"type"が"Failed"、statusがfalseになります。
Rebalanceが処理中の場合、conditionは"type"が"Processing"、statusがtrueになります。
Rebalanceが完了した場合、conditionは"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退避接続タイムアウトまでの秒数。