Menu Close

5.8.4. ノードを正常に再起動する

ノードを再起動する前に、ノードでのデータ損失を回避するために、etcdデータをバックアップすることをお勧めします。

注記

ユーザーがクラスターを管理するために kubeconfig ファイルに証明書を使用するのではなく、ユーザーが oc login コマンドを実行する必要のある Single Node OpenShift(SNO)クラスターでは、oc adm コマンドはノードの遮断およびドレイン(cordon)後に利用できない可能性があります。これは、cordon により openshift-oauth-apiserver Pod が実行されていないためです。以下の手順で示したように、SSH を使用してノードにアクセスできます。

SNO クラスターでは、Pod の遮断およびドレイン(解放)時に Pod を再スケジュールすることができません。ただし、これにより Pod に対し、とくにワークロード Pod が使用され、関連付けられたリソースを適切に停止し、リリースするのに時間がかかります。

手順

ノードの正常な再起動を実行するには:

  1. ノードにスケジュール対象外 (unschedulable) のマークを付けます。

    $ oc adm cordon <node1>
  2. ノードをドレインして、実行中のすべてのポッドを削除します。

    $ oc adm drain <node1> --ignore-daemonsets --delete-emptydir-data --force

    カスタム Pod の Disruption Budget(停止状態の予算)に関連付けられた Pod をエビクトできないエラーが発生する可能性があります。

    エラーの例

    error when evicting pods/"rails-postgresql-example-1-72v2w" -n "rails" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.

    この場合、drain コマンドを再度実行し、disable-eviction フラグを追加し、PDB チェックを省略します。

    $ oc adm drain <node1> --ignore-daemonsets --delete-emptydir-data --force --disable-eviction
  3. デバッグモードでノードにアクセスします。

    $ oc debug node/<node1>
  4. ルートディレクトリーをホストに切り替えます。

    $ chroot /host
  5. ノードを再起動します。

    $ systemctl reboot

    すぐに、ノードはNotReady状態になります。

    注記

    一部の SNO クラスターでは、openshift-oauth-apiserver Pod が実行されていないため、oc コマンドをcordon および drain 後に利用できない可能性があります。SSH を使用してノードに接続し、リブートを実行できます。

    $ ssh core@<master-node>.<cluster_name>.<base_domain>
    $ sudo systemctl reboot
  6. 再起動が完了したら、以下のコマンドを実行してノードにスケジュール対象としてマークします。

    $ oc adm uncordon <node1>
    注記

    一部の SNO クラスターでは、openshift-oauth-apiserver Pod が実行されていないため、oc コマンドをcordon および drain 後に利用できない可能性があります。SSH を使用してノードに接続し、これを遮断を解除します。

    $ ssh core@<target_node>
    $ sudo oc adm uncordon <node> --kubeconfig /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/node-kubeconfigs/localhost.kubeconfig
  7. ノードの準備ができていることを確認します。

    $ oc get node <node1>

    出力例

    NAME    STATUS  ROLES    AGE     VERSION
    <node1> Ready   worker   6d22h   v1.18.3+b0068a8

関連情報

etcdデータのバックアップの詳細については、Backing up etcd dataを参照してください。