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コンテナイメージのプルポリシー。
Always、Never、IfNotPresent のいずれか。
: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にアクセスするためのBootstrap 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は、レプリカントノードが有効かつ存在する場合はそのセットを指し、そうでなければコアノードのセットを指します。

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退避戦略の設定。