サーバの再起動を伴うメンテナンス中は、コンテナの配備・更新・削除等できなくなります。
コンテナの配備・更新・削除が不要なタイミングでメンテナンスを実施してください。
Kubernetes masterサーバのメンテナンスの過程でサーバ再起動を実施しても、Container Managementで動作するコンテナに影響はありません。
ここでは、Container Managementで稼働中のアプリケーションを停止させずに、nodeサーバの再起動を伴うメンテナンスを実施する方法について説明します。
API Proxyの設定を変更します。
「操作ガイド」の「4.3.3 ノードグループの登録、変更、削除手順」-「■振り分け先ノードの追加および削除」を参考にして、メンテナンスを実施するKubernetes nodeサーバを振り分け先ノードから削除します。
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
以下のコマンドを実行し、nodeからPodを退避します。
<node_name>にはkubectl get nodesコマンドで確認した、Kubernetes nodeサーバのNAMEを指定します。
# kubectl drain --ignore-daemonsets --force <node_name>
上記コマンドを実行すると、Podが別のnodeへと退避され、新しいPodがスケジュールされなくなります。
メンテナンスを実施します。
メンテナンス作業完了後、以下のコマンドを実行し、新しいPodをスケジュール可能にします。
<node_name>にはkubectl drainコマンドを実行したKubernetes nodeサーバのNAMEを指定します。
# kubectl uncordon <node_name>
API Proxyの設定を変更します。
「操作ガイド」の「4.3.3 ノードグループの登録、変更、削除手順」-「■振り分け先ノードの追加および削除」を参考にして、メンテナンスを実施したKubernetes nodeサーバを振り分け先ノードに追加します。
サーバの再起動を伴うメンテナンス中は、コンテナからNFSサーバへアクセスすることができなくなります。
コンテナを削除するなど、コンテナからNFSサーバへアクセスさせないようにした状態でメンテナンスを実施してください。