運用作業

Kubernetesの停止・削除

残るリソースとデータを確認してchartを削除します

作業内容

セッションを先に止めてchartを削除し、残るworker・PVC・Secret・hook Jobを区別します。

準備

正しいkubectl context・namespace・Helm release、DBとbucketのバックアップ、終了するセッション一覧が必要です。PVC削除はcheckpointにない作業を失わせます。

手順

1. 実行を止めてデータを確認する

新しいセッションの受付を止め、進行中のturnを完了させます。セッションの終了またはcheckpointと、workerが動いていないことを確認してください。schedulerを止めるだけではworkerは終了しません。

2. chartを削除する

helm -n werft uninstall werft

3. 残ったリソースを調べる

helm uninstall 後には次が残ります。

  • schedulerが作ったworker Pod、nonce Secret、workspace PVC。削除前にセッション終了またはcheckpointを確認します。PVCを消すと未checkpointの作業を失います。一覧は kubectl -n werft get pods,secrets,pvc -l app.kubernetes.io/part-of=werft,werft.installation=<installationId> で確認します。
  • migrate・upgrade-checkのhook Job、ExternalSecretとその作成Secret(creationPolicy: Orphan)、手動Secret。残ったJobは次の設置を妨げません。同名hookの実行前にHelmが削除します。今削除するなら kubectl -n werft delete job werft-migrate werft-upgrade-check --ignore-not-found を使います。

確認

Helm releaseと制御領域Deploymentの削除を確認し、残るworker Pod・nonce Secret・workspace PVC・hook Job・ExternalSecret・ユーザーSecretを別に記録します。chartはDBとS3 bucketを作成・削除しません。

よくある問題

worker終了前にschedulerを削除すると実行とPVCが残り得ます。必要なデータがあるPVCは削除しないでください。hook Jobは次の同名hookで置き換わるため設置を妨げません。

元に戻す

同じnamespaceと保全したDB・Secret・bucketで正確なchart versionを再設置します。先に互換性検査を読んでください。削除済みPVCの未checkpoint作業は再設置しても戻りません。

次に読む

Kubernetes設置、Kubernetes更新。

このページ