クラスターノードの編集
このトピックで提供される情報を使用して、動作中のParagon Automationクラスタノードを編集します。 repair
コマンドを使用して、クラスター・ノードの追加、除去、または置換、および障害のあるノードの修復を行うことができます。修復プロセスでは、クラスター ノードが再構築され、ノード内のポッドが再起動されます。
マルチプライマリノードクラスタ内のプライマリノードおよびすべてのクラスタ内のワーカーノードの編集
複数のプライマリノードを持つクラスタでは、プライマリノードとワーカーノードを追加または削除することで、プライマリノードとワーカーノードの両方を編集できます。ただし、プライマリ ノードを追加または削除する場合は、プライマリ ノードの総数が奇数であることを確認する必要があります。また、コントロール プレーンの高可用性を実現するには、少なくとも 3 つのプライマリ ノードが必要です。次の手順を使用して、マルチプライマリノードクラスター内のノードを編集します。
同じ手順を使用して、単一プライマリノードクラスタ内のワーカーノードのみを編集することもできます。
- 新しいノードまたは交換用ノードを準備し、クラスター ノードの前提条件をすべて満たしていることを確認します。ベース OS に応じて 、「Ubuntu クラスター ノードの準備 」または「 RHEL クラスター ノードの準備」を参照してください。
- 追加または修復するノードにログインします。
- udevd デーモンを無効にします。
- udevdが実行されているかどうかを確認してください。
# systemctl is-active systemd-udevd
- udevd がアクティブな場合は、無効にします。
# systemctl mask system-udevd --now
- udevdが実行されているかどうかを確認してください。
- 制御ホストにログインします。
-
ノードを追加する場合は、インベントリ ファイルを編集して、新しいノードの IP アドレスを追加します。
ノードを削除する場合は、インベントリ ファイルを編集して、削除するノードの IP アドレスを削除します。
ノードを交換するときに、交換用ノードの IP アドレスが現在のノードと異なる場合は、インベントリ ファイルを更新して、古いノード アドレスを新しいノード アドレスに置き換えます。
ノードを修復するときにIPアドレスが変更されていない場合は、インベントリ ファイルを編集する必要はありません。
- 次のいずれかのコマンドを実行します。
ノード・アドレスが変更されていない場合、またはノードを追加または削除する場合は、
./run –c config-dir repair node-ip-address-or-hostname
ノード・アドレスが変更された場合は、
./run -c config-dir repair old-node-ip-address-or-hostname,new-node-ip-address-or-hostname
-
ノードが修復または交換されても、Ceph分散ファイルシステムは自動的に更新されません。修復プロセスの一環としてデータ・ディスクが破壊された場合は、それらのデータ・ディスクでホストされているオブジェクト・ストレージ・デーモン(OSD)をリカバリする必要があります。
-
Cephツールボックスに接続し、OSDのステータスを表示します。
ceph-tools
スクリプトは、プライマリ ノードにインストールされます。プライマリノードにログインし、kubectl インターフェイスを使用してceph-tools
にアクセスできます。1 次ノード以外のノードを使用するには、(制御ホストの config-dir にある) admin.conf ファイルをコピーしてkubeconfig
環境変数を設定するか、またはexport KUBECONFIG=config-dir/admin.conf
コマンドを使用する必要があります。$ ceph-tools
# ceph osd status
-
すべてのOSDが
exists,up
として表示されていることを確認します。OSDが破損している場合は、 CephとRookのトラブルシューティングで説明されているトラブルシューティング手順に従ってください。
-
- すべてのOSDが作成されたことを確認した後、追加または修復したノードにログインします。
-
そのノードで udevd を再度有効にします。
systemctl unmask system-udevd
単一プライマリノードクラスタのプライマリノードの編集
単一プライマリノードクラスタでは、プライマリノードとワーカーノードの両方を編集できます。ただし、プライマリノードを削除または追加することはできません。
プライマリノードを追加できるのは、既存のクラスターがすでにマルチプライマリクラスターである場合のみです。
ノードの修復中は、新しいポッドをスケジュールできず、既存のポッドは動作しないままになるため、サービスが低下します。
単一プライマリノードクラスタでプライマリノードを復元するには、最新バージョンの etcd-snapshot.db ファイルが必要です。
etcd-snapshot.dbファイルは、5 分ごとに /export/backup/etcd-snapshot.db にローカルにバックアップされます。このファイルは、定期的に別のリモートロケーションにコピーするか、/export/backup/ を外部ファイルサーバにマウントすることをお勧めします。
1 次ノードを交換または修復するには、 etcd-snapshot.db ファイルを使用可能にしておく必要があります。
- 交換または修復するノードにログインします。
- udevd プロセスを無効にします。
- udevdが実行されているかどうかを確認してください。
# systemctl is-active systemd-udevd
- udevd がアクティブな場合は、無効にします。
# systemctl mask system-udevd --now
- udevdが実行されているかどうかを確認してください。
- 制御ホストにログインします。
- etcd-snapshot.dbファイルを制御ホストにコピーするか、外部の/export/backup/マウントをリストアします。
-
以下のいずれかのコマンドを実行して、ノードを交換または修復します。
ノード・アドレスが変更されていない場合は、
./run –c config-dir repair node-ip-address-or-hostname –e etcd_backup=path-to-etcd-snapshot.db
ノード・アドレスが変更された場合は、
./run –c config-dir repair old-node-ip-address-or-hostname,new-node-ip-address-or-hostname –e etcd_backup=path-to-etcd-snapshot.db
-
ノードが修復または交換されても、Ceph分散ファイルシステムは自動的に更新されません。修復プロセスの一環としてデータ・ディスクが破壊された場合は、それらのデータ・ディスクでホストされているオブジェクト・ストレージ・デーモン(OSD)をリカバリする必要があります。
-
Cephツールボックスに接続し、OSDのステータスを表示します。
ceph-tools
スクリプトは、プライマリ ノードにインストールされます。プライマリノードにログインし、kubectl インターフェイスを使用してceph-tools
にアクセスできます。1 次ノード以外のノードを使用するには、 admin.conf ファイルを ( 制御ホスト上の config-dir に) コピーしてkubeconfig
環境変数を設定するか、またはexport KUBECONFIG=config-dir/admin.conf
コマンドを使用する必要があります。$ ceph-tools
# ceph osd status
-
すべてのOSDが
exists,up
として表示されていることを確認します。OSDが破損している場合は、 CephとRookのトラブルシューティングで説明されているトラブルシューティング手順に従ってください。
-
- すべてのOSDが作成されたことを確認した後、追加または修復したノードにログインします。
-
そのノードで udevd を再度有効にします。
systemctl unmask system-udevd