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

9.5 Container Managementのメンテナンス

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

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

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

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

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

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

  1. API Proxyの設定を変更します。

    「操作ガイド」の「4.3.3 ノードグループの登録、変更、削除手順」-「■振り分け先ノードの追加および削除」を参考にして、メンテナンスを実施するKubernetes nodeサーバを振り分け先ノードから削除します。

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

    Kubernetes nodeサーバのIPアドレスの一覧は「2.2 各サーバ情報の確認」に記載されています。

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

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

    # kubectl drain --ignore-daemonsets --force <node_name>

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

    注意

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

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

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

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

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

    # kubectl uncordon <node_name>
  6. API Proxyの設定を変更します。

    「操作ガイド」の「4.3.3 ノードグループの登録、変更、削除手順」-「■振り分け先ノードの追加および削除」を参考にして、メンテナンスを実施したKubernetes nodeサーバを振り分け先ノードに追加します。

NFSサーバのメンテナンス

サーバの再起動を伴うメンテナンス中は、コンテナからNFSサーバへアクセスすることができなくなります。

コンテナを削除するなど、コンテナからNFSサーバへアクセスさせないようにした状態でメンテナンスを実施してください。