|
可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。 |
クラスターとアプリケーションの更新
| 更新プロセス中のコンポーネントの故障を最小限に抑える、あるいはゼロにするために、以下の手順は一度に 1 つの Anypoint Platform Private Cloud Edition ノードで実行する必要があります。1 つのノードですべての手順が完了してから、次のノードに移ってください。1 つのノードを更新したら、次のノードに移る前に、すべてのクラスターコンポーネントとアプリケーションの健全性状況を確認してください。 |
クラスターの健全性状況の確認
更新プロセスを開始する前に、クラスターが健全であることを確認します。そうしないと、このプロセスの想定の多くが無効になってしまいます。
-
以下のコマンドからの出力を確認します。
gravity status etcdctl cluster-health前のコマンドからの出力が
degraded 状態または errors を示した場合は、すべての問題を解決してから次に進んでください。 -
すべてのポッドが動作していることを確認します。
kubectl get pod -o wide --all-namespaces | grep -vi Running前のコマンドからの出力でいずれかのポッドの状態が「Running (実行中)」と示されていない場合は、すべての問題を解決してから次に進んでください。
更新のインストール
次の手順を実行するノードを選択します。
-
割り当て先ノードの名前を取得します。
kubectl get nodes -
ノードをドレーンします。
kubectl drain --delete-local-data --ignore-daemonsets <node_name> -
ノードをドレーンしたら、gravity ユニット名を識別します。
sudo systemctl list-units --plain | awk '/planet-master/{print $1}'上のコマンドは、次のステップで
$unit_name 値として使用する systemd ユニット名を出力します。 -
gravity ユニットを停止します。
systemctl stop $unit_name systemctl status $unit_name -
status サブコマンドが gravity ユニットの停止を示したら、更新をインストールしてサーバーを再起動します。
更新後の確認の実行
-
すべてのシステムが正しく再起動されたことを確認します。
systemctl status --failed上のコマンドがユニットを 1 つも返さなければ、システムが正常に再起動されて、すべてのユニットが起動しています。いずれかのユニットが起動に失敗した場合は、すべての問題を解決してから次に進んでください。
-
gravity
systemd ユニットを確認します。systemctl list-units '*gravity__gravitational*' -
journalctl を実行してログのエラーを確認します。 -
すべて正常に起動したら、
gravity enter を実行して結果を確認します。 -
クラスターの状況を再び確認します。
gravity status etcdctl cluster-health gravity get pod -o wide--all-namespaces | grep -vi Running
ノードを再接続する
-
gravity プラネットサービスとテレポートの状況を確認します。
systemctl list-units '*gravity__gravitational*' -
gravity サービスの状況が
loaded、active、または running でなければ、有効化が必要です。systemctl enable --now <name_of_the_gravity_unit> -
ノードを再接続して割り当て先ノードを再びスケジュールポッドに設定します。この作業を完了するには数分かかる場合があります。
kubectl uncordon <node_name> -
クラスターの状態を検証します。
gravity statusこのコマンドがクラスターのすべてのノードに対して
healthy 状況を表示することを確認します。ノードがクラスターに再接続されて健全な状況であることを確認できたら、クラスター内の次のノードで手順を繰り返し、すべてのノードを更新します。