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 string | Merge | 列挙: [Merge Replace] | |
data string | EMQX設定、HOCON形式、etc/emqx.confファイルのような形式 |
EMQX
EMQXはemqxes APIのスキーマです
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
apiVersion string | apps.emqx.io/v2beta1 | ||
kind string | EMQX | ||
metadata ObjectMeta | metadataのフィールドについてはKubernetes APIドキュメントを参照してください。 | ||
spec EMQXSpec | Specはこのセット内のEMQXノードの望ましい状態を定義します。 | ||
status EMQXStatus | StatusはEMQXノードの現在の状態です。このデータは一定の遅延を伴う場合があります。 |
EMQXCoreTemplate
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
metadata ObjectMeta | metadataのフィールドについてはKubernetes APIドキュメントを参照してください。 | ||
spec EMQXCoreTemplateSpec | EMQXコアノードの望ましい動作の仕様。 詳細: 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 string | NodeNameはこのポッドを特定のノードにスケジュールするリクエストです。空でなければ、スケジューラーはリソース要件に適合すると仮定して単純にこのポッドをそのノードにスケジュールします。 | ||
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 integer | Replicasは指定されたテンプレートの望ましいレプリカ数です。 これらは同一テンプレートのインスタンスであり、個々のレプリカは一貫した識別子を持ちます。 デフォルトは2です。 | 2 | |
minAvailable IntOrString | "selector"で選択された少なくとも"minAvailable"個のポッドが、退避後も利用可能である場合に退避が許可されます。つまり、退避されたポッドが存在しなくても利用可能である必要があります。 例えば、"100%"を指定するとすべての任意退避を防止できます。 | XIntOrString: {} | |
maxUnavailable IntOrString | "selector"で選択された最大"maxUnavailable"個のポッドが退避後に利用不可である場合に退避が許可されます。つまり、退避されたポッドが存在しなくても利用不可である必要があります。 例えば、0を指定するとすべての任意退避を防止できます。これは"minAvailable"と相互排他的な設定です。 | XIntOrString: {} | |
command string array | エントリポイント配列。シェル内で実行されません。 指定しない場合はコンテナイメージのENTRYPOINTが使用されます。 変数参照 詳細: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | ||
args string array | エントリポイントへの引数。 指定しない場合はコンテナイメージのCMDが使用されます。 変数参照 詳細: 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 PodSecurityContext | SecurityContextはポッドレベルのセキュリティ属性および共通のコンテナ設定を保持します。 | { fsGroup:1000 fsGroupChangePolicy:Always runAsGroup:1000 runAsUser:1000 supplementalGroups:[1000] } | |
containerSecurityContext SecurityContext | SecurityContextはコンテナを実行する際のセキュリティオプションを定義します。 設定されている場合、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 array | ExtraContainersはポッドに追加される追加コンテナを表します。 詳細: 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 Probe | StartupProbeはポッドが正常に初期化されたことを示します。 指定された場合、これが成功するまでは他のプローブは実行されません。 このプローブが失敗すると、livenessProbeが失敗した場合と同様にポッドは再起動されます。 これはポッドのライフサイクル開始時にデータロードやキャッシュウォームアップに時間がかかる場合に、通常運用時とは異なるプローブパラメータを提供するために使用できます。 更新不可。 詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | ||
lifecycle Lifecycle | コンテナのライフサイクルイベントに応じて管理システムが実行すべきアクション。 更新不可。 | ||
volumeClaimTemplates PersistentVolumeClaimSpec | このフィールドはVolumeClaimTemplatesという名前ですが、実際にはPersistentVolumeClaimSpecです。名前が悪くて申し訳ありません。 PersistentVolumeClaimSpecはストレージデバイスの共通属性を記述し、プロバイダー固有の属性のためのソースを許可します。 EMQXReplicantTemplateSpecより詳細です。 |
EMQXList
EMQXListはEMQXのリストを含みます
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
apiVersion string | apps.emqx.io/v2beta1 | ||
kind string | EMQXList | ||
metadata ListMeta | metadataのフィールドについてはKubernetes APIドキュメントを参照してください。 | ||
items EMQX array |
EMQXNode
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
controllerUID UID | |||
podUID UID | |||
node string | EMQXノード名、例: emqx@127.0.0.1 | ||
node_status string | EMQXノードの状態、例: Running | ||
otp_release string | EMQXが使用するErlang/OTPのバージョン、例: 24.2/12.2 | ||
version string | EMQXのバージョン | ||
role string | EMQXクラスターのノードロール、列挙: "core" "replicant" | ||
edition string | EMQXクラスターのノードエディション、列挙: "Opensource" "Enterprise" | ||
connections integer | EMQXの/api/v5/nodes APIにおけるconnectionsフィールドはMQTTセッション数を意味します。 | ||
live_connections integer | EMQXの/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 ObjectMeta | metadataのフィールドについてはKubernetes APIドキュメントを参照してください。 | ||
spec EMQXReplicantTemplateSpec | EMQXレプリカントノードの望ましい動作の仕様。 詳細: 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 string | NodeNameはこのポッドを特定のノードにスケジュールするリクエストです。空でなければ、スケジューラーはリソース要件に適合すると仮定して単純にこのポッドをそのノードにスケジュールします。 | ||
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 integer | Replicasは指定されたテンプレートの望ましいレプリカ数です。 これらは同一テンプレートのインスタンスであり、個々のレプリカは一貫した識別子を持ちます。 デフォルトは2です。 | 2 | |
minAvailable IntOrString | "selector"で選択された少なくとも"minAvailable"個のポッドが、退避後も利用可能である場合に退避が許可されます。つまり、退避されたポッドが存在しなくても利用可能である必要があります。 例えば、"100%"を指定するとすべての任意退避を防止できます。 | XIntOrString: {} | |
maxUnavailable IntOrString | "selector"で選択された最大"maxUnavailable"個のポッドが退避後に利用不可である場合に退避が許可されます。つまり、退避されたポッドが存在しなくても利用不可である必要があります。 例えば、0を指定するとすべての任意退避を防止できます。これは"minAvailable"と相互排他的な設定です。 | XIntOrString: {} | |
command string array | エントリポイント配列。シェル内で実行されません。 指定しない場合はコンテナイメージのENTRYPOINTが使用されます。 変数参照 詳細: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | ||
args string array | エントリポイントへの引数。 指定しない場合はコンテナイメージのCMDが使用されます。 変数参照 詳細: 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 PodSecurityContext | SecurityContextはポッドレベルのセキュリティ属性および共通のコンテナ設定を保持します。 | { fsGroup:1000 fsGroupChangePolicy:Always runAsGroup:1000 runAsUser:1000 supplementalGroups:[1000] } | |
containerSecurityContext SecurityContext | SecurityContextはコンテナを実行する際のセキュリティオプションを定義します。 設定されている場合、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 array | ExtraContainersはポッドに追加される追加コンテナを表します。 詳細: 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 Probe | StartupProbeはポッドが正常に初期化されたことを示します。 指定された場合、これが成功するまでは他のプローブは実行されません。 このプローブが失敗すると、livenessProbeが失敗した場合と同様にポッドは再起動されます。 これはポッドのライフサイクル開始時にデータロードやキャッシュウォームアップに時間がかかる場合に、通常運用時とは異なるプローブパラメータを提供するために使用できます。 更新不可。 詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | ||
lifecycle Lifecycle | コンテナのライフサイクルイベントに応じて管理システムが実行すべきアクション。 更新不可。 |
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 | ImagePullSecretsはこの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 array | EMQXのブートストラップユーザー 更新不可。 | ||
config Config | EMQX設定 | ||
clusterDomain string | cluster.local | ||
revisionHistoryLimit integer | ロールバックを可能にするために保持する古いReplicaSet、古いStatefulSet、古いPersistentVolumeClaimの数。 明示的なゼロと未指定を区別するためのポインター。 デフォルトは3。 | 3 | |
updateStrategy UpdateStrategy | UpdateStrategyはEMQXのブルーグリーンアップデート戦略を記述するオブジェクトです | { evacuationStrategy:map[connEvictRate:1000 sessEvictRate:1000 waitTakeover:10] initialDelaySeconds:10 type:Recreate } | |
coreTemplate EMQXCoreTemplate | CoreTemplateは作成されるEMQXコアノードを記述するオブジェクトです | { spec:map[replicas:1] } | |
replicantTemplate EMQXReplicantTemplate | ReplicantTemplateは作成されるEMQXレプリカントノードを記述するオブジェクトです | ||
dashboardServiceTemplate ServiceTemplate | DashboardServiceTemplateは作成されるEMQXダッシュボードサービスを記述するオブジェクトです このサービスは常にEMQXコアノードをセレクトします | ||
listenersServiceTemplate ServiceTemplate | ListenersServiceTemplateは作成されるEMQXリスナーサービスを記述するオブジェクトです EMQXレプリカントノードが存在する場合、このサービスはEMQXレプリカントノードをセレクトします 存在しない場合はEMQXコアノードをセレクトします |
EMQXStatus
EMQXStatusはEMQXの観測された状態を定義します
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
conditions Condition array | EMQXカスタムリソースの現在の状態に関する最新の観測結果を表します。 | ||
coreNodes EMQXNode array | |||
coreNodesStatus EMQXNodesStatus | |||
replicantNodes EMQXNode array | |||
replicantNodesStatus EMQXNodesStatus | |||
nodeEvacuationsStatus NodeEvacuationStatus array |
EvacuationStrategy
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
waitTakeover integer | 最小値: 0 | ||
connEvictRate integer | EMQX Enterpriseでのみ有効です。 | 1000 | 最小値: 1 |
sessEvictRate integer | EMQX 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 string | apps.emqx.io/v2beta1 | ||
kind string | Rebalance | ||
metadata ObjectMeta | metadataのフィールドについては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 string | apps.emqx.io/v2beta1 | ||
kind string | RebalanceList | ||
metadata ListMeta | metadataのフィールドについてはKubernetes APIドキュメントを参照してください。 | ||
items Rebalance array |
RebalancePhase
基底型: string
出現箇所:
| フィールド | 説明 |
|---|---|
Processing | |
Completed | |
Failed |
RebalanceSpec
RebalanceSpecはRebalanceの望ましい状態を定義します
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
instanceKind string | InstanceKindはEMQXとEMQXEnterpriseを区別するために使用されます。 "EMQX"に設定されている場合はEMQX CRがv2beta1であることを意味し、 "EmqxEnterprise"に設定されている場合はEmqxEnterprise CRがv1beta4であることを意味します。 | EMQX | |
instanceName string | InstanceNameはEMQX CRの名前を表し、EMQX Enterpriseでのみ有効です。 | 必須: {} | |
rebalanceStrategy RebalanceStrategy | RebalanceStrategyはEMQXのリバランス戦略を表します。 詳細: https://docs.emqx.com/en/enterprise/v4.4/advanced/rebalancing.html#rebalancing | 必須: {} |
RebalanceState
RebalanceStateはEMQXの観測されたリバランス状態を定義します
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
state string | Stateはemqxクラスターのリバランス状態を表します。 | ||
session_eviction_rate integer | SessionEvictionRateはノードのセッション退避率(秒あたり)を表します。 | ||
recipients string array | Recipientsはリバランスの対象ノードを表します。 | ||
node string | Nodeはリバランスのスケジューリングノードを表します。 | ||
donors string array | Donorsはリバランスのソースノードを表します。 | ||
coordinator_node string | CoordinatorNodeは現在リバランス中のノードを表します。 | ||
connection_eviction_rate integer | ConnectionEvictionRateはノードの接続退避率(秒あたり)を表します。 |
RebalanceStatus
RebalanceStatusはRebalanceの現在の状態を表します
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
conditions RebalanceCondition array | オブジェクトの現在の状態に関する最新の観測結果。 Rebalanceが失敗した場合、条件は"type"が"Failed"でstatusがfalseになります。 Rebalanceが処理中の場合、条件は"type"が"Processing"でstatusがtrueになります。 Rebalanceが完了した場合、条件は"type"が"Complete"でstatusがtrueになります。 | ||
phase RebalancePhase | PhaseはRebalanceのフェーズを表します。 | ||
rebalanceStates RebalanceState array | |||
startedTime Time | StartedTimeはリバランスジョブの開始時刻を表します。 | ||
completedTime Time | CompletedTimeはリバランスジョブの完了時刻を表します。 |
RebalanceStrategy
RebalanceStrategyはEMQXのリバランス戦略を表します
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
connEvictRate integer | ConnEvictRateはソースノードのクライアント切断率(秒あたり)を表します。 EMQXリバランシングのconn-evict-rateと同じです。 値は0より大きくなければなりません。 | 最小値: 1 必須: {} | |
sessEvictRate integer | SessEvictRateはソースノードのセッション退避率(秒あたり)を表します。 EMQXリバランシングのsess-evict-rateと同じです。 値は0より大きくなければなりません。 デフォルトは500です。 | 500 | |
waitTakeover integer | WaitTakeoverはすべての接続が切断された後、クライアントがセッションを引き継ぐために再接続を待つ秒数を表します。 EMQXリバランシングのwait-takeoverと同じです。 値は0より大きくなければなりません。 デフォルトは60秒です。 | 60 | |
waitHealthCheck integer | WaitHealthCheckはロードバランサーがソースノードをアクティブなバックエンドノードのリストから除外するまでの待機時間(秒)を表します。 指定された待機時間を超えるとリバランスタスクが開始されます。 EMQXリバランシングのwait-health-checkと同じです。 値は0より大きくなければなりません。 デフォルトは60秒です。 | 60 | |
absConnThreshold integer | AbsConnThresholdは接続バランスチェックの絶対閾値を表します。 EMQXリバランシングのabs-conn-thresholdと同じです。 値は0より大きくなければなりません。 デフォルトは1000です。 | 1000 | |
relConnThreshold string | RelConnThresholdは接続バランスチェックの相対閾値を表します。 EMQXリバランシングのrel-conn-thresholdと同じです。 浮動小数点の使用は言語間のサポート差異が大きいため推奨されません。 そのためRelConnThresholdは文字列型で定義されており、浮動小数点型ではありません。 値は"1.0"より大きくなければなりません。 デフォルトは"1.1"です。 | 1.1 | |
absSessThreshold integer | AbsSessThresholdはセッション接続バランスチェックの絶対閾値を表します。 EMQXリバランシングのabs-sess-thresholdと同じです。 値は0より大きくなければなりません。 デフォルトは1000です。 | 1000 | |
relSessThreshold string | RelSessThresholdはセッション接続バランスチェックの相対閾値を表します。 EMQXリバランシングのrel-sess-thresholdと同じです。 浮動小数点の使用は言語間のサポート差異が大きいため推奨されません。 そのためRelSessThresholdは文字列型で定義されており、浮動小数点型ではありません。 値は"1.0"より大きくなければなりません。 デフォルトは"1.1"です。 | 1.1 |
SecretRef
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
key KeyRef | |||
secret KeyRef |
ServiceTemplate
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
enabled boolean | EMQX OperatorはEMQXノード用のサービスを作成します。 これは falseと未指定を区別するためのポインターです。 | true | |
metadata ObjectMeta | metadataのフィールドについてはKubernetes APIドキュメントを参照してください。 | ||
spec ServiceSpec | Specはサービスの動作を定義します。 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
UpdateStrategy
出現箇所:
| フィールド | 説明 | デフォルト | バリデーション |
|---|---|---|---|
type string | Recreate | 列挙: [Recreate] | |
initialDelaySeconds integer | 退避接続開始までの秒数。 | ||
evacuationStrategy EvacuationStrategy | 退避接続タイムアウトまでの秒数。 |