VM/ベアメタルの Runtime Fabric を使用する場合、Runtime Fabric からノードを追加および削除できます。ノードの追加または削除が必要になる場合があるシナリオを以下に示します。
-
ノードを追加して Runtime Fabric をスケールアップする。
-
ノードを削除または追加して、Runtime Fabric の健全性と安定性を確保する。
-
ノードを削除し、OS パッチを実行した後、ノードを Runtime Fabric に再度追加する。
| オペレーションセンター UI からのノードの追加はサポートされていません。Runtime Fabric 似新しいノードを追加するには、次の手順を使用してください。 |
Runtime Fabric へのノードの追加
ノードを追加する前に、新しいノードのインフラストラクチャをプロビジョニングします。クラスターに参加できるようにするには、新しいノードが Runtime Fabric インストールと同じネットワーク上に存在する必要があります。
始める前に
新しいノードを追加する前に、次を確認してください。
-
「Anypoint Runtime Fabric インストールの前提条件」で示されているとおりに、必要なハードウェアをプロビジョニングしている。
-
必要なディスクを各 VM のブロックデバイスとしてリストしている。ディスクをマウントまたはフォーマットしないでください。
-
「ネットワークおよびポートの要件」で示されているとおりに、必要なポートを開いてホスト名を許可リストに追加している。
-
環境で実行されているすべてのウイルス対策エージェント (McAfee など) を無効にしている。
新しいノードを追加する手順は、次のとおりです。
-
新しいノードの仮想マシンで
/opt/anypoint/runtimefabric ディレクトリを作成します。mkdir -p /opt/anypoint/runtimefabric
-
init.sh インストールスクリプトを新しいノードの /opt/anypoint/runtimefabric ディレクトリの下にコピーします。このスクリプトは、Runtime Fabric のインストール時にダウンロードしたファイルに含まれます。
-
環境ファイルを既存のノードの
/opt/anypoint/runtimefabric ディレクトリから新しいノードの同じディレクトリにコピーします。環境ファイルを正しいノード種別 (コントローラーまたはワーカー) からコピーしたことを確認します。
-
正しいノード種別で必要とされるパラメーターのみを含めるように、コピーした環境ファイルを変更します。
-
ワーカーノードパラメーター
次の例は、ワーカーノードで必要とされる環境パラメーターを示しています。コピーしたファイルの
RTF_DOCKER_DEVICE_SIZE、RTF_TOKEN、および RTF_INSTALLER_IP の値を使用します。RTF_DOCKER_DEVICE では、device_name を適切な値に置き換えます。-
RTF_NODE_ROLE=worker_node -
RTF_INSTALL_ROLE=joiner -
RTF_DOCKER_DEVICE=/dev/device_name -
RTF_TOKEN="R6J4UR6J4UR6J4UO" -
RTF_INSTALLER_IP="10.0.42.86" -
RTF_ACTIVATION_DATA が存在する場合は削除する。
-
-
コントローラーノードパラメーター
次の例は、コントローラーノードで必要とされる環境パラメーターを示しています。コピーしたファイルの
RTF_DOCKER_DEVICE_SIZE、RTF_TOKEN、および RTF_ETCD_DEVICE の値を使用します。RTF_DOCKER_DEVICE では、device_name を適切な値に置き換えます。RTF_INSTALLER_IP では、リードコントローラーノードの IP アドレスを指定します。-
RTF_NODE_ROLE=controller_node -
RTF_INSTALL_ROLE=joiner -
RTF_DOCKER_DEVICE=/dev/device_name -
RTF_TOKEN="R6J4UR6J4UR6J4UO" -
RTF_ETCD_DEVICE=/dev/etcd_device -
RTF_INSTALLER_IP="10.1.255.93" -
RTF_ACTIVATION_DATA が存在する場合は削除する
-
-
専用ノードパラメーター
次の例は、ロードバランサーノードで必要とされる環境パラメーターを示しています。環境ファイルをコントローラーノードからコピーした場合、例に示されている行を除き、ファイルのすべての行を削除します。コピーしたファイルの
RTF_DOCKER_DEVICE_SIZE および RTF_TOKEN の値を使用します。RTF_DOCKER_DEVICE では、device_name を適切な値に置き換えます。RTF_INSTALLER_IP では、リードコントローラーノードの IP アドレスを指定します。-
RTF_NODE_ROLE=dedicated_ingress_node -
RTF_INSTALL_ROLE=joiner -
RTF_DOCKER_DEVICE=/dev/device_name -
RTF_DOCKER_DEVICE_SIZE=50G -
RTF_TOKEN="R6J4UR6J4UR6J4Uy" -
RTF_INSTALLER_IP="10.1.255.93"
-
-
-
新しいノードで特権ユーザーとして
init.sh スクリプトを実行します。このスクリプトを実行する場合、実行可能権限の追加が必要になる場合があります。sudo chmod +x ./init.sh
このスクリプトにより、新しいノードが Runtime Fabric クラスターに参加します。
-
新しいノードが Runtime Fabric に追加されたことを確認します。
sudo gravity status
専用の内部ロードバランサーノードがクラスターに追加されている場合、インバウンドトラフィックを有効にすると、専用ノードを指定するオプションが提供されます。専用ノードでは、CPU コアおよびメモリの量を指定できません。
Runtime Fabric からのノードの削除
Runtime Fabric クラスターからコントローラーノードを削除するには、次のコマンドを実行します。
sudo kubectl drain <node-name> sudo gravity leave
Runtime Fabric クラスターからワーカーノードを削除するには、次のコマンドを実行します。
sudo gravity leave
このコマンドは、ノードで実行されているすべての Runtime Fabric サービスをシャットダウンします。また、すべてのソフトウェアとデータが削除されます。
成功した場合、このコマンドは、開始された削除操作の ID を出力します。次のコマンドを使用して、このコマンドの進行状況を監視できます。
gravity status
sudo gravity leave を使用してノードを削除できない場合、--force オプションを使用してコマンドを再度実行することが必要になる場合があります。次のコマンドを実行して、ノードをリモートで削除することもできます。
sudo kubectl drain <node-name> sudo gravity remove <node-name>
<node> は、削除するノードを示します。これには、ノードに割り当てられたホスト名またはその IP アドレスのいずれかを指定できます。