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