Skip to content

APIリファレンス (v2)

パッケージ

apps.emqx.io/v2

package v2 は apps v2 APIグループのAPIスキーマ定義を含みます。

リソースタイプ

BootstrapAPIKey

出現箇所:

フィールド説明デフォルトバリデーション
key stringパターン: ^[a-zA-Z\d-_]+$
secret string最大長: 128
最小長: 3
secretRef SecretRefEMQX APIキーを含むSecretエントリへの参照。

Config

出現箇所:

フィールド説明デフォルトバリデーション
mode string設定更新の適用方法を決定します。
* Merge: 新しい設定を既存の設定にマージします。
* Replace: 設定全体を置き換えます。
Merge列挙型: [Merge Replace]
data stringHOCON形式のEMQX設定。
この設定はコンテナに base.hocon として提供されます。詳細は
ドキュメントを参照してください。

DSDBReplicationStatus

出現箇所:

フィールド説明デフォルトバリデーション
name stringデータベース名
numShards integerデータベースのシャード数
numShardReplicas integerシャードレプリカの総数
lostShardReplicas integer失われたサイトに属するシャードレプリカの総数
numTransitions integer現在のシャード所有権の遷移数
minReplicas integerデータベースシャードの最小レプリケーション係数
maxReplicas integerデータベースシャードの最大レプリケーション係数

DSReplicationStatus

データベースごとのDSレプリケーション状態の概要。

出現箇所:

フィールド説明デフォルトバリデーション
dbs DSDBReplicationStatus 配列

EMQX

EMQXクラスターを表すカスタムリソース。

フィールド説明デフォルトバリデーション
apiVersion stringapps.emqx.io/v2
kind stringEMQX
metadata ObjectMetametadataフィールドの詳細はKubernetes APIドキュメントを参照してください。
spec EMQXSpecEMQXクラスターの望ましい状態の仕様。
status EMQXStatusEMQXクラスターの現在の状態。

EMQXCoreTemplate

出現箇所:

フィールド説明デフォルトバリデーション
metadata ObjectMetametadataフィールドの詳細はKubernetes APIドキュメントを参照してください。
spec EMQXCoreTemplateSpecコアノードの望ましい状態の仕様。
詳細: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

EMQXCoreTemplateSpec

出現箇所:

フィールド説明デフォルトバリデーション
nodeSelector object (keys:string, values:string)Podがノードに割り当てられるために満たす必要があるセレクター。
Podがスケジュールされるノードのラベルと一致する必要があります。
詳細: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes/
nodeName string特定のノードにこのPodをスケジュールするリクエスト。
空でなければ、スケジューラーはリソース要件を満たすと仮定してこのPodをそのノードに割り当てます。
affinity AffinityPod割り当てのためのアフィニティ。
参照: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/
tolerations Toleration 配列Podのトレランス。
指定された場合、Podは<key,value,effect>のトリプルにマッチする任意のテイントを許容します。
topologySpreadConstraints TopologySpreadConstraint 配列指定されたトポロジー間でマッチするPodをどのように分散させるかを指定します。
replicas integer望ましいインスタンス数。
コアノードの場合、各インスタンスは一貫したIDを持ちます。
2最小値: 0
minAvailable IntOrString"selector"で選択されたPodのうち、少なくとも"minAvailable"が退避後も利用可能であれば退避を許可します。
例えば、"100%"を指定するとすべての任意退避を防止できます。
XIntOrString: {}
maxUnavailable IntOrString"selector"で選択されたPodのうち、最大で"maxUnavailable"が退避後に利用不可であれば退避を許可します。
例えば、0を指定するとすべての任意退避を防止できます。"minAvailable"と排他です。
XIntOrString: {}
command string 配列エントリポイント配列。シェル内で実行されません。
指定しない場合はコンテナイメージの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 配列エントリポイントへの引数。
指定しない場合はコンテナイメージの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 配列コンテナから公開するポートのリスト。
ここでポートを公開することはネットワーク接続に関する追加情報をシステムに提供しますが、主に情報目的です。ここで指定しなくてもポートは公開されます。コンテナ内のデフォルト 0.0.0.0 アドレスでリッスンしているポートはネットワークからアクセス可能です。
env EnvVar 配列コンテナ内に設定する環境変数のリスト。
envFrom EnvFromSource 配列コンテナ内の環境変数を設定するためのソースリスト。
ソース内のキーはC_IDENTIFIERである必要があります。不正なキーはコンテナ起動時にイベントとして報告されます。複数のソースに同じキーがある場合、最後のソースの値が優先されます。
Envで定義された重複キーの値が優先されます。
resources ResourceRequirementsこのコンテナに必要な計算リソース。
詳細: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
podSecurityContext PodSecurityContextPodレベルのセキュリティ属性および共通のコンテナ設定。{ fsGroup:1000 fsGroupChangePolicy:Always runAsGroup:1000 runAsUser:1000 supplementalGroups:[1000] }
containerSecurityContext SecurityContextコンテナの実行に使用されるセキュリティオプション。
設定されている場合、SecurityContextのフィールドはPodSecurityContextの対応するフィールドを上書きします。
詳細: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
{ runAsGroup:1000 runAsNonRoot:true runAsUser:1000 }
initContainers Container 配列Podに属する初期化コンテナのリスト。
初期化コンテナはコンテナ起動前に順番に実行されます。失敗するとPodは失敗とみなされ、restartPolicyに従って処理されます。初期化コンテナと通常コンテナの名前はすべて一意である必要があります。
初期化コンテナはLifecycleアクション、Readinessプローブ、Livenessプローブ、Startupプローブを持てません。
スケジューリング時には、各リソースタイプの最大要求/制限値を計算し、通常コンテナの合計と比較して最大値を使用します。制限も同様に適用されます。
詳細: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
extraContainers Container 配列メインコンテナと並行して実行する追加コンテナ。
extraVolumes Volume 配列Podに提供する追加ボリューム。
extraVolumeMounts VolumeMount 配列追加ボリュームをメインコンテナにマウントする方法を指定。
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 ProbePodの初期化成功を示すプローブ。
指定された場合、成功するまで他のプローブは実行されません。
失敗すると livenessProbe と同様にPodは再起動されます。
Podのライフサイクル初期段階でデータロードやキャッシュウォームアップに時間がかかる場合に異なるパラメータを設定可能です。
詳細: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
lifecycle Lifecycleコンテナのライフサイクルイベントに対して管理システムが取るべきアクション。
volumeClaimTemplates PersistentVolumeClaimSpecコアノードのデータストレージ用PVC仕様。
注意: フィールド名は一貫しておらず、実際には単なる PersistentVolumeClaimSpec です。

EMQXNode

出現箇所:

フィールド説明デフォルトバリデーション
name stringノード名
podName string対応するPod名
status stringノードの状態
otpRelease stringノードが動作しているErlang/OTPのバージョン
version stringEMQXのバージョン
role stringノードの役割。 "core" または "replicant"
sessions integerMQTTセッション数
connections integer接続中のMQTTクライアント数

EMQXNodesStatus

出現箇所:

フィールド説明デフォルトバリデーション
replicas integerレプリカの総数。
readyReplicas integer準備完了のレプリカ数。
currentRevision string対応するコアまたはレプリカントセットの現在のリビジョン。
currentReplicas integer現在のリビジョンを実行しているレプリカ数。
updateRevision string対応するコアまたはレプリカントセットの更新リビジョン。
現在のリビジョンと異なる場合、セットは更新中です。
updateReplicas integer更新リビジョンを実行しているレプリカ数。
collisionCount integer

EMQXReplicantTemplate

出現箇所:

フィールド説明デフォルトバリデーション
metadata ObjectMetametadataフィールドの詳細はKubernetes APIドキュメントを参照してください。
spec EMQXReplicantTemplateSpecレプリカントノードの望ましい状態の仕様。
詳細: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

EMQXReplicantTemplateSpec

出現箇所:

フィールド説明デフォルトバリデーション
nodeSelector object (keys:string, values:string)Podがノードに割り当てられるために満たす必要があるセレクター。
Podがスケジュールされるノードのラベルと一致する必要があります。
詳細: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes/
nodeName string特定のノードにこのPodをスケジュールするリクエスト。
空でなければ、スケジューラーはリソース要件を満たすと仮定してこのPodをそのノードに割り当てます。
affinity AffinityPod割り当てのためのアフィニティ。
参照: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/
tolerations Toleration 配列Podのトレランス。
指定された場合、Podは<key,value,effect>のトリプルにマッチする任意のテイントを許容します。
topologySpreadConstraints TopologySpreadConstraint 配列指定されたトポロジー間でマッチするPodをどのように分散させるかを指定します。
replicas integer望ましいインスタンス数。
コアノードの場合、各インスタンスは一貫したIDを持ちます。
2最小値: 0
minAvailable IntOrString"selector"で選択されたPodのうち、少なくとも"minAvailable"が退避後も利用可能であれば退避を許可します。
例えば、"100%"を指定するとすべての任意退避を防止できます。
XIntOrString: {}
maxUnavailable IntOrString"selector"で選択されたPodのうち、最大で"maxUnavailable"が退避後に利用不可であれば退避を許可します。
例えば、0を指定するとすべての任意退避を防止できます。"minAvailable"と排他です。
XIntOrString: {}
command string 配列エントリポイント配列。シェル内で実行されません。
指定しない場合はコンテナイメージの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 配列エントリポイントへの引数。
指定しない場合はコンテナイメージの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 配列コンテナから公開するポートのリスト。
ここでポートを公開することはネットワーク接続に関する追加情報をシステムに提供しますが、主に情報目的です。ここで指定しなくてもポートは公開されます。コンテナ内のデフォルト 0.0.0.0 アドレスでリッスンしているポートはネットワークからアクセス可能です。
env EnvVar 配列コンテナ内に設定する環境変数のリスト。
envFrom EnvFromSource 配列コンテナ内の環境変数を設定するためのソースリスト。
ソース内のキーはC_IDENTIFIERである必要があります。不正なキーはコンテナ起動時にイベントとして報告されます。複数のソースに同じキーがある場合、最後のソースの値が優先されます。
Envで定義された重複キーの値が優先されます。
resources ResourceRequirementsこのコンテナに必要な計算リソース。
詳細: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
podSecurityContext PodSecurityContextPodレベルのセキュリティ属性および共通のコンテナ設定。{ fsGroup:1000 fsGroupChangePolicy:Always runAsGroup:1000 runAsUser:1000 supplementalGroups:[1000] }
containerSecurityContext SecurityContextコンテナの実行に使用されるセキュリティオプション。
設定されている場合、SecurityContextのフィールドはPodSecurityContextの対応するフィールドを上書きします。
詳細: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
{ runAsGroup:1000 runAsNonRoot:true runAsUser:1000 }
initContainers Container 配列Podに属する初期化コンテナのリスト。
初期化コンテナはコンテナ起動前に順番に実行されます。失敗するとPodは失敗とみなされ、restartPolicyに従って処理されます。初期化コンテナと通常コンテナの名前はすべて一意である必要があります。
初期化コンテナはLifecycleアクション、Readinessプローブ、Livenessプローブ、Startupプローブを持てません。
スケジューリング時には、各リソースタイプの最大要求/制限値を計算し、通常コンテナの合計と比較して最大値を使用します。制限も同様に適用されます。
詳細: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
extraContainers Container 配列メインコンテナと並行して実行する追加コンテナ。
extraVolumes Volume 配列Podに提供する追加ボリューム。
extraVolumeMounts VolumeMount 配列追加ボリュームをメインコンテナにマウントする方法を指定。
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 ProbePodの初期化成功を示すプローブ。
指定された場合、成功するまで他のプローブは実行されません。
失敗すると livenessProbe と同様にPodは再起動されます。
Podのライフサイクル初期段階でデータロードやキャッシュウォームアップに時間がかかる場合に異なるパラメータを設定可能です。
詳細: 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コンテナイメージのプルポリシー。
AlwaysNeverIfNotPresent のいずれか。
:latestタグが指定されている場合はデフォルトでAlways、それ以外はIfNotPresent
詳細: https://kubernetes.io/docs/concepts/containers/images#updating-images
imagePullSecrets LocalObjectReference 配列このPodSpecで使用されるイメージをプルするために同じネームスペースのSecretへの参照の任意リスト。
指定された場合、これらのSecretは個々のプラー実装に渡されます。
詳細: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
serviceAccountName stringServiceAccount名。
管理されたReplicaSetsおよびStatefulSetsは認証目的で指定されたServiceAccountに関連付けられます。
詳細: https://kubernetes.io/docs/concepts/security/service-accounts
bootstrapAPIKeys BootstrapAPIKey 配列EMQX APIにアクセスするためのブートストラップAPIキー。
更新不可。
config ConfigEMQX設定。
clusterDomain stringKubernetesクラスターのドメイン。cluster.local
revisionHistoryLimit integerロールバックを可能にするために保持する古いReplicaSets、StatefulSets、PersistentVolumeClaimsの数。3
updateStrategy UpdateStrategyクラスターアップグレード戦略の設定。{ type:Recreate }
coreTemplate EMQXCoreTemplateEMQXコアノードを実行するPodのテンプレート。{ spec:map[replicas:2] }
replicantTemplate EMQXReplicantTemplateEMQXレプリカントノードを実行するPodのテンプレート。
dashboardServiceTemplate ServiceTemplateEMQXダッシュボードを公開するServiceのテンプレート。
ダッシュボードServiceは常にEMQXコアノードのセットを指します。
listenersServiceTemplate ServiceTemplate有効なEMQXリスナーを公開するServiceのテンプレート。
リスナーServiceは有効かつ存在する場合、EMQXレプリカントノードのセットを指します。
そうでなければ、EMQXコアノードのセットを指します。

EMQXStatus

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

出現箇所:

フィールド説明デフォルトバリデーション
conditions Condition 配列EMQXカスタムリソースの現在の状態を表す条件。
coreNodes EMQXNode 配列クラスター内の各コアノードの状態。
coreNodesStatus EMQXNodesStatusコアノードセットの概要状態。
replicantNodes EMQXNode 配列クラスター内の各レプリカントノードの状態。
replicantNodesStatus EMQXNodesStatusレプリカントノードセットの概要状態。
nodeEvacuationsStatus NodeEvacuationStatus 配列クラスター内のアクティブなノード退避の状態。
dsReplication DSReplicationStatusEMQX Durable Storageのレプリケーション状態。

EvacuationStrategy

出現箇所:

フィールド説明デフォルトバリデーション
connEvictRate integerクライアント切断率(秒あたりの数)。
EMQXノード退避conn-evict-rate と同じ。
1000最小値: 1
sessEvictRate integerセッション退避率(秒あたりの数)。
EMQXノード退避sess-evict-rate と同じ。
1000最小値: 1
waitTakeover integerセッション退避開始までの待機時間(秒)。
EMQXノード退避wait-takeover と同じ。
10最小値: 0
waitHealthCheck integerノードがロードバランサーのアクティブなバックエンドノードリストから削除されるまでの待機時間(秒)。
EMQXノード退避wait-health-check と同じ。
60最小値: 0

KeyRef

出現箇所:

フィールド説明デフォルトバリデーション
secretName stringSecretオブジェクトの名前。
secretKey stringSecretデータ内のエントリ。パターン: ^[a-zA-Z\d-_]+$

NodeEvacuationStatus

出現箇所:

フィールド説明デフォルトバリデーション
nodeName string退避中のノード名
state string退避状態
sessionRecipients string 配列セッション受信者
sessionEvictionRate integerセッション退避率(秒あたりのセッション数)。
connectionEvictionRate integer接続退避率(秒あたりの接続数)。
initialSessions integerこのノードの初期セッション数
initialConnections integerこのノードへの初期接続数

SecretRef

出現箇所:

フィールド説明デフォルトバリデーション
key KeyRefEMQX APIキーを含むSecretエントリへの参照。
secret KeyRefEMQX APIキーのシークレットを含むSecretエントリへの参照。

ServiceTemplate

出現箇所:

フィールド説明デフォルトバリデーション
enabled booleanServiceを作成するかどうかを指定します。true
metadata ObjectMetametadataフィールドの詳細はKubernetes APIドキュメントを参照してください。
spec ServiceSpecServiceの望ましい状態の仕様。
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

UpdateStrategy

出現箇所:

フィールド説明デフォルトバリデーション
type stringクラスターアップグレードの実行方法を決定します。
* Recreate: ブルーグリーンアップグレードを実行。
Recreate列挙型: [Recreate]
initialDelaySeconds integer接続退避開始までの秒数。10最小値: 0
evacuationStrategy EvacuationStrategy退避戦略の設定。