Skip to content

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

本セクションでは、EMQX Operatorの環境準備、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.2.3
      config:
        data: |
          license {
            key = "..."
          }

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

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

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

    STATUSReadyになっていることを確認してください。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をデプロイするためのガイドは以下をご参照ください。