ページの先頭行へ戻る
Enterprise Service Development Platform V1.2.0 運用ガイド
FUJITSU Software

9.5 Container Managementのメンテナンス

Kubernetes masterサーバーのメンテナンス

サーバーの再起動を伴うメンテナンス中は、コンテナの配備・更新・削除等できなくなります。

コンテナの配備・更新・削除が不要なタイミングでメンテナンスを実施してください。

Kubernetes masterサーバーのメンテナンスの過程でサーバー再起動を実施しても、Container Managementで動作するコンテナに影響はありません。

Kubernetes nodeサーバーのメンテナンス

ここでは、Container Managementで稼働中のアプリケーションを停止させずに、nodeサーバーの再起動を伴うメンテナンスを実施する方法について説明します。

  1. Kubernetes masterサーバーにログインして、以下のコマンドを実行し、メンテナンスを実施するKubernetes nodeサーバーのNAMEを確認します。

    $ kubectl get nodes -o custom-columns="NAME:{metadata.name},IP:{status.addresses[].address}"
    NAME                                               IP
    az1-sghpf-service-server-k8s-master-00.novalocal   172.25.0.4
    az1-sghpf-service-server-k8s-node-00.novalocal     172.25.0.5
    az1-sghpf-service-server-k8s-node-01.novalocal     172.25.0.6
  2. 以下のコマンドを実行し、nodeからPodを退避します。

    <node_name>にはkubectl get nodesコマンドで確認した、Kubernetes nodeサーバーのNAMEを指定します。

    $ kubectl drain --ignore-daemonsets --force --delete-local-data <node_name>

    上記コマンドを実行すると、Podが別のnodeへと退避され、新しいPodがスケジュールされなくなります。

    注意

    ReplicaSetで管理されていないPodは、別のnodeに退避されません。

    ReplicaSetについての詳細はKubernetesの公式ドキュメントを参照してください。

    上記コマンドを実行すると、emptyDir上のデータはPodの退避に伴い削除されます。必要に応じてemptyDirをマウントしているPodについて、事前にデータの退避をしてください。

  3. メンテナンスを実施します。

  4. メンテナンス作業完了後、以下のコマンドを実行し、新しいPodをスケジュール可能にします。

    <node_name>にはkubectl drainコマンドを実行したKubernetes nodeサーバーのNAMEを指定します。

    $ kubectl uncordon <node_name>