Runtime Fabric の手動インストール

このトピックでは、データセンターでホストする VM に VM/ベアメタルの Anypoint Runtime Fabric を手動でインストールする方法について説明します。

VM/ベアメタルの Runtime Fabric をインストールする前に、​「VM/ベアメタルの Runtime Fabric の共有責任」​を参照してください。インフラストラクチャがハードウェア、オペレーティングシステム、ネットワークの最小要件を満たしていない場合、VM/ベアメタルの Runtime Fabric は正常に動作しません。

組織の運用チーム、ネットワークチーム、セキュリティチームが関与する必要があります。​「Anypoint Runtime Fabric インストールの前提条件」​を参照してください。

始める前に

インストールを開始する前に次の条件が満たされていることを確認します。

  • Runtime Manager で Runtime Fabric を作成​している。

  • 「VM/ベアメタルの Anypoint Runtime Fabric インストールの前提条件」​で示されているとおりに、必要なハードウェアがプロビジョニングされている。

  • 必要なディスクが各 VM のブロックデバイスとしてリストされている。ディスクをマウントまたはフォーマットしないでください。

  • 「VM/ベアメタルの Anypoint Runtime Fabric インストールの前提条件」​で示されているとおりに、必要なポートが開いており、ホスト名が許可リストに追加されている。

  • 環境で実行されているすべてのウイルス対策エージェント (McAfee など) が無効化されている。

  • 負荷分散の要件を確認済みである。VM/ベアメタルの Runtime Fabric では、インバウンドロードバランサーは共有モードまたは専用モードで実行されます。

    • [Shared Mode (共有モード)]​ では、内部ロードバランサーの CPU コア数とメモリ量を指定できます。共有モードでは、内部ロードバランサーはコントローラーノード全体に分散されます。 [Shared Mode (共有モード)]​ はデフォルトの設定です。

    • [Dedicated Mode (専用モード)]​ では、すべての使用可能なリソースが内部ロードバランサー専用であることが指定されます。このため、CPU コア数およびメモリ量を選択することはできません。専用モードでは、内部ロードバランサーは専用の内部ロードバランサーノードにデプロイされます。

      詳細は、​「Runtime Fabric の管理」​を参照してください。

インストール中に実行される操作

インストールでは各 VM で次のアクションが実行されます。

  • 専用ディスクをフォーマットします。

  • 専用ディスクを適切なパスにマウントします。

  • iptables ルールを設定します。

  • 必要なカーネルモジュールを有効にします。

  • システムサービスを有効にして、再読み込みします。

Mule ライセンスキーの Base64 でのエンコード

Runtime Fabric をインストールするには、Mule ライセンスキーが Base64 でエンコードされている必要があります。ライセンスファイル (​license.lic​) をインストーラーノードにコピーします。

  1. MuleSoft から提供された新しい Mule ​.lic​ ライセンスファイルを Base64 でエンコードします。

    • MacOS では、次のコマンドをターミナルで実行します。

      BASE64_ENCODED_LICENSE=$(base64 -b0 license.lic)
    • Unix では、次のコマンドを実行します。

      BASE64_ENCODED_LICENSE=$(base64 -w0 license.lic)
    • Windows では、次のいずれかを選択します。

      • base64 ツールが含まれる WSL または Cygwin シェルを使用し、上記の Unix コマンドを使用します。

      • Windows git (​C:\Program Files\Git\usr\bin​) と一緒に含まれている ​base64.exe​ プログラムを使用します。

      • 次の Powershell コマンドを使用します。

        $BASE64_ENCODED_LICENSE=[convert]::ToBase64String((Get-Content -path "license.lic" -Encoding byte))

Windows

Windows でライセンスファイルをエンコードするには、シェルターミナルエミュレーター (cygwin など) や Unix ベースのコンピューターを使用して、次の手順を実行します。

  1. 組織の Mule Enterprise ライセンスキーファイル (​license.lic​) を見つけ、必要に応じて Unix 環境に転送します。

  2. 次のコマンドを実行して、ライセンスキーを Base64 でエンコードします。

    base64 -w0 license.lic

インストールスクリプトのダウンロード

インストールでリーダーとして機能するコントローラー VM にスクリプト ZIP ファイルをダウンロードします。

VM/ベアメタルの Runtime Fabric の特定のバージョンをインストールするには、インストール時にリーダーとして機能するコントローラー VM のパス ​/opt/anypoint/runtimefabric/installer.tar.gz​ にインストールパッケージを転送します。これは、Anypoint コントロールプレーンからの最新パッケージのダウンロードをスキップします。

  1. Anypoint Platform にサインインし、[Runtime Manager] に移動します。

  2. 左側のナビゲーションペインで、​Runtime Fabric​ を選択します。

  3. 作成した Runtime Fabric をクリックします。その状態は [Activating (有効化中)] になっている必要があります。

  4. [Download files (ファイルをダウンロード)]​ ボタンを右クリックし、[Copy link location (リンクの場所をコピー)] を選択します。

  5. コントローラー VM にファイルをダウンロードします。

    1. コントローラー VM へのシェル (SSH セッション) を開きます。

    2. ファイル ​curl -L {INSTALLER_URL} --output rtf-install-scripts.zip​ をダウンロードします。

  6. ダウンロードしたら、​rtf-install-scripts.zip​ ファイルを別のディレクトリに展開します。

    mkdir -p ./rtf-install-scripts && unzip rtf-install-scripts.zip -d ./rtf-install-scripts

    rtf-install-scripts/​ ディレクトリ内に、次を含む ​manual​ という名前のサブディレクトリがあります。

    • generate-configs.sh​: 各 VM の環境変数の生成に役立つスクリプト。

    • README.md​: インストールをサポートする手順を含むマークダウンファイル。

インストール用変数の生成とインストールスクリプトの実行

インストールスクリプトは Bash シェルから実行する必要があります。

  1. インストールで必要な変数​を理解します。

  2. ./generate-configs.sh​ スクリプトを使用して、VM ごとに環境変数を生成します。

  3. 以下のコマンドをテキストエディターにコピーして、一重引用符内の各変数の値を入力します。必要に応じて、​省略可能な変数​を追加して定義します。一般的な例は、アウトバウンドインターネット接続に HTTP プロキシが必要な場合です。

    RTF_CONTROLLER_IPS='' \
    RTF_WORKER_IPS='' \
    RTF_DOCKER_DEVICE='' \
    RTF_ETCD_DEVICE='' \
    RTF_ACTIVATION_DATA='' \
    RTF_MULE_LICENSE='' \
    ./generate-configs.sh
  4. コントローラー VM でシェル/SSH を開き、展開したディレクトリから ​manual​ サブディレクトリに移動します。

  5. テキストエディターからコマンドをコピーし、ターミナルに貼り付けて、コントローラー VM でコマンドを実行します。このスクリプトは、各 VM で実行する一連の手順とスクリプトを各 VM の IP アドレスで分類して出力します。出力された手順を表示するには、上へのスクロールが必要な場合があります。

    1. 各 VM でその IP アドレスに基づいてスニペットを実行し、必要な環境変数を適用します。

    2. 各 VM で ​./scripts/init.sh​ ファイルを ​/opt/anypoint/runtimefabric​ にコピーして、スクリプトが実行可能であることを確認します。以下のスクリプトは、現在の作業ディレクトリに、展開されたディレクトリ ​rtf-install-scripts​ が含まれることを前提とします。

      mkdir -p /opt/anypoint/runtimefabric && cp ./rtf-install-scripts/scripts/init.sh /opt/anypoint/runtimefabric/init.sh && chmod +x /opt/anypoint/runtimefabric/init.sh
  6. コントローラー VM で特権モードで ​init.sh​ スクリプトを実行します。

    init.sh​ スクリプトを実行するには、ルート権限が必要です。

    sudo /opt/anypoint/runtimefabric/init.sh
  7. インストールで事前チェックが完了するまで待機します。出力は「​Execute preflight checks (事前チェックを実行)​」メッセージを過ぎても継続し、チェックが合格したことを示す必要があります。

    ...
    Tue Aug 14 02:28:54 UTC Starting the installation
    Tue Aug 14 02:28:56 UTC Operation has been created
    Tue Aug 14 02:28:57 UTC Execute preflight checks
    Tue Aug 14 02:29:48 UTC Configure packages for all nodes
    Tue Aug 14 02:29:59 UTC Bootstrap all nodes
    ...
  8. 他のすべての VM で特権モードで ​init.sh​ スクリプトを実行します。このステップは各 VM で同時に実行できます。

    sudo /opt/anypoint/runtimefabric/init.sh
  9. インストールプロセスでエラーが発生した場合、エラーの解決方法を示すメッセージを出力してプロセスは終了します。多くの場合、1 つまたは複数の変数を有効な値に更新し、​init.sh​ スクリプトを再実行することで、エラーを解決できます。

    このステップにより、クラスターを形成するすべての VM に VM/ベアメタルの Runtime Fabric がインストールされます。完了するまでに 15 ~ 25 分以上かかることがあります。

    インストールが正常に完了すると、ファイル ​/opt/anypoint/runtimefabric/.state/init-complete​ が作成されます。

    内部ロードバランサーは、共有モードの場合はコントローラーノード全体に分散され、専用モードの場合は内部ロードバランサーノードにデプロイされます。

定義する変数

Rutime Fabric をインストールするには次の必須の変数を使用します。

Table 1. 必須のインストール変数
パラメーター 説明

RTF_CONTROLLER_IPS

空白で区切られた、コントローラー VM の IP アドレス。1 番目の IP アドレスは、インストールのリーダーである必要があります。

"10.3.0.4 10.3.0.5 10.3.0.6"

RTF_WORKER_IPS

空白で区切られた、ワーカー VM の IP アドレス。

"10.3.0.11 10.3.0.12 10.3.0.13"

RTF_DOCKER_DEVICE

プロビジョニングされた 1000 IOPS をサポートする Docker 専用のディスクのブロックデバイスのフルパス。

/dev/xvdc

RTF_ETCD_DEVICE

プロビジョニングされた 3000 IOPS をサポートする etcd 専用のディスクのブロックデバイスのフルパス。

/dev/xvdb

RTF_ACTIVATION_DATA

エンコードされた Runtime Fabric アクティベーションデータ。このデータにアクセスするには、Runtime Manager で Runtime Fabric を表示します。

NzdlMzU1YTktMzAxMC00OGE0LWJlMGQtMDdxxxx

RTF_MULE_LICENSE

組織の Mule Enterprise ライセンスキー (​license.lic​) を Base64 でエンコードしたコンテンツ。

==ABCD12934…​

ディスクへのブロックデバイスのパスを特定するには、VM で ​lsblk​ コマンドを使用します。 Mule ライセンスキーを Base64 でエンコードするには、上記の「Mule ライセンスキーの Base64 でのエンコード」の手順を参照してください。

省略可能な変数

次の変数は、組織の要件に基づいて定義できます。

Table 2. 省略可能なインストール変数
パラメーター 説明

RTF_HTTP_PROXY

アウトバウンド HTTP 要求を転送する HTTP プロキシサーバーのホスト名およびポート。

http://1.1.1.1:80

RTF_MONITORING_PROXY

SOCKS5 プロキシサーバーがメトリクスとログを Anypoint Monitoring に転送するためのホスト名とポート、および省略可能なユーザー名とパスワード。

socks5://user:pass@1.1.1.2:800

RTF_NO_PROXY

プロキシをバイパスする必要があるホストのカンマ区切りリスト。

1.1.1.1,no-proxy.com

RTF_SERVICE_UID

各 Runtime Fabric サービスを実行するユーザー ID を表す整数。「planet」という名前のユーザーを作成するデフォルトの動作を上書きします。

1000

RTF_SERVICE_GID

各 Runtime Fabric サービスを実行するときに使用されるグループ ID を表す整数。「planet」という名前のグループを作成するデフォルトの動作を上書きします。

900

POD_NETWORK_CIDR

カスタムポッド CIDR ブロックをサポートします。

10.244.0.0/16

SERVICE_CIDR

カスタムサービス CIDR ブロックをサポートします。

10.100.0.0/16

disable_selinux

ホストのオペレーティングシステムで SELinux を無効化/有効化するブール変数。デフォルト値は ​true​ で、SELinux を無効にします。

ホストオペレーティングシステムが RHEL 8 の場合、インストールに失敗するため、​false​ に設定しないでください。

true

RTF_PRIVATE_INTERFACE

非公開 IP アドレスがネットワークインターフェースから検出されることを許可します。

eth0

インストールの進行状況の監視

init.sh​ スクリプトの実行時に ​forground​ パラメーターが渡された場合、インストールログがターミナルに出力されます。それ以外の場合、インストール中に進行状況を参照するには、各 VM の出力ログを確認します。

  1. VM への別のシェル (SSH セッション) を開きます。

  2. /var/log/rtf-init.log​ にある出力ログを確認します。

    tail -f /var/log/rtf-init.log
各 VM の同じログを確認して、その進行状況を参照できます。

インストールが正常に完了すると、ファイル ​/opt/anypoint/runtimefabric/.state/init-complete​ が作成されます。

オペレーションセンターへのアクセス

インストールが正常に完了したら、オペレーションセンターにログインして Runtime Fabric インフラストラクチャの状況を表示します。オペレーションセンターへのアクセスとオペレーションセンターのユーザー名とパスワードの決定については、​「Anypoint Runtime Fabric でのオペレーションセンターの使用」​を参照してください。

一般的なエラー

インストールプロセスでエラーが発生した場合、エラーの解決方法を示すメッセージを出力してプロセスは終了します。多くの場合、​/opt/anypoint/runtimefabric/env​ ファイルの 1 つまたは複数の値を正しい値に更新し、​init.sh​ スクリプトを再実行することで、エラーを解決できます。