Skip to content

OperatorのインストールとEMQXのデプロイ ​

本セクションでは、EMQX Operatorの環境準備、Operatorのインストール、およびそれを用いたEMQXのデプロイ手順について説明します。以下の手順に従うことで、Operatorを使って効率的かつ安定的にEMQXをインストールおよび管理できます。

環境の準備 ​

EMQX Operatorをデプロイする前に、以下のコンポーネントが準備されていることを確認してください。

  • Kubernetesバージョン1.24以上が稼働しているKubernetes環境。

  • Kubernetesクラスターにアクセス可能なkubectlツール。kubectl cluster-infoコマンドでKubernetesクラスターの状態を確認できます。

EMQX Operatorのインストール ​

  1. 以下のコマンドでEMQX Operatorをインストールします。

    bash
    $ kubectl apply --server-side=true -f https://github.com/emqx/emqx-operator/releases/latest/download/install.yaml

    このコマンドは最新の2.3.xリリースをダウンロードし、クラスター全体にEMQXのCRDをインストールし、emqx-operator-systemという別のネームスペースにコントローラーサービスをデプロイします。

  2. 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のデプロイ ​

  1. 以下の内容をYAMLファイルとして保存し、kubectl applyでデプロイします。

    yaml
    apiVersion: apps.emqx.io/v2
    kind: EMQX
    metadata:
       name: emqx
    spec:
      image: emqx/emqx:6.3.1
      config:
        data: |
          license {
            key = "..."
          }

    EMQXのCRDの詳細については、リファレンスドキュメントをご参照ください。

  2. EMQXクラスターが準備完了になるまで待ちます。

    bash
    $ kubectl get emqx
    NAME      STATUS    AGE
    emqx      Ready     2m55s

    STATUSがReadyになっていることを確認してください。EMQXクラスターが準備完了になるまでには時間がかかる場合があります。

トラブルシューティング ​

EMQX OperatorはKubernetes APIに対して限定的なイベントのみを公開しています。

sh
kubectl get events --sort-by=.lastTimestamp

また、EMQXリソースがReadyステータスに到達しない場合は、コントローラーマネージャーのログを参照して詳細を確認してください。

sh
kubectl logs -l "control-plane=controller-manager" --tail=-1 --namespace emqx-operator-system

パブリッククラウドへのデプロイ ​

EMQX Operatorを使用してマネージドKubernetesサービス上にEMQXをデプロイする際は、以下のガイドをご利用ください。