OperatorのインストールとEMQXのデプロイ
本セクションでは、EMQX Operatorの環境準備、Operatorのインストール、およびOperatorを使用したEMQXのデプロイ方法について説明します。以下の手順に従うことで、Operatorを使って効率的かつ安定的にEMQXをインストールおよび管理できます。
環境の準備
EMQX Operatorをデプロイする前に、以下のコンポーネントが準備されていることを確認してください。
- バージョン1.27以降の Kubernetesクラスターで、
StatefulSetAutoDeletePVC機能ゲートが有効になっていること。この機能ゲートは対応するKubernetesバージョンではデフォルトで有効です。 - Kubernetesクラスターにアクセス可能なkubectlツール。
kubectl cluster-infoコマンドでKubernetesクラスターの状態を確認できます。
EMQX Operatorのインストール
以下のコマンドでEMQX Operatorをインストールします。
bash$ kubectl apply --server-side=true -f https://github.com/emqx/emqx-operator/releases/latest/download/install.yamlこのコマンドは最新のEMQX Operatorリリースをダウンロードし、クラスター全体のEMQX CRDをインストールし、
emqx-operator-systemネームスペースにコントローラーをデプロイします。または、EMQX Operator Helmチャートを使ってインストールすることも可能です。
bashhelm repo add emqx https://repos.emqx.io/charts helm repo update helm install emqx-operator emqx/emqx-operator \ --version 3.0.0 \ --namespace emqx-operator-system \ --create-namespaceこのチャートはEMQX CRDとコントローラーをインストールします。マニフェストまたはHelmのいずれかのインストール方法を選択し、次に示す準備完了の確認に進んでください。
EMQX Operatorが準備完了になるまで待ちます。
bash$ kubectl wait --for=condition=Ready pods --namespace emqx-operator-system -l "control-plane=controller-manager" pod/emqx-operator-controller-manager-57bd7b8bd4-h2mcr condition met
Operatorが稼働したら、EMQXのデプロイに進めます。
EMQXのデプロイ
以下の内容をYAMLファイルとして保存し、
kubectl applyでデプロイします。yamlapiVersion: apps.emqx.io/v3beta1 kind: EMQX metadata: name: emqx spec: image: emqx/emqx:6.3.2 config: roots: license: key: "evaluation"このマニフェストはシングルノードのEMQXクラスターをデプロイします。これはデフォルトのCommunity Licenseでサポートされています。複数ノードの構成や既存クラスターのスケールアウトを行う場合は、クラスタリングをサポートするライセンスを設定してください。本例では
license.keyを"evaluation"に設定しています。EMQX CRDの詳細については、リファレンスドキュメントをご参照ください。
EMQXクラスターが準備完了になるまで待ちます。
bash$ kubectl get emqx NAME STATUS AGE emqx Ready 2m55sSTATUSがReadyになっていることを確認してください。EMQXクラスターが準備完了になるまでに時間がかかる場合があります。
トラブルシューティング
EMQX OperatorはKubernetes APIに対して限定的なイベントのみを公開しています。
kubectl get events --sort-by=.lastTimestampまたは、EMQXリソースがReady状態にならない場合は、コントローラーマネージャーのログを確認してください。
kubectl logs -l "control-plane=controller-manager" --tail=-1 --namespace emqx-operator-systemパブリッククラウドでのデプロイ
EMQX Operatorを使ってマネージドKubernetesサービス上にEMQXをデプロイする場合は、以下のガイドをご参照ください。