Остановка#
В этом разделе описан процесс корректной остановки работы кластера.
Предварительные условия#
Предварительные условия:
Сделана резервная копия etcd.
Получен доступ к кластеру с ролью администратора.
Важно
Перед выполнением этой процедуры важно сделать резервную копию etcd, чтобы можно было восстановить кластер, если при перезапуске возникнут какие-либо проблемы.
Остановка работы кластера#
Определите дату истечения срока действия сертификатов при остановке кластера на длительное время:
oc -n openshift-kube-apiserver-operator get secret kube-apiserver-to-kubelet-signer -o jsonpath='{.metadata.annotations.auth\.openshift\.io/certificate-not-after}'Пример вывода:
2025-03-05T14:37:50Zuser@user:~ $Чтобы обеспечить возможность корректного перезапуска кластера, запланируйте его перезапуск не позднее указанной даты. При перезапуске кластера процесс может потребовать ручного подтверждения запросов на подпись сертификата (CSR) для восстановления сертификатов kubelet.
Завершите работу всех nodes кластера, запустите следующий цикл:
for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}'); do oc debug node/${node} -- chroot /host shutdown -h 1; doneФлаг
-h 1указывает, как долго (в минутах) длится этот процесс до отключения nodes плоскости управления. Для крупномасштабных кластеров с 10 и более nodes установите значение 10 минут или более, чтобы все worker nodes успели завершить работу в первую очередь.
Пример выполнения цикла:
Starting pod/ip-NN-N-NNN-NNNus-east-2computeinternal-debug ...
To use host binaries, run `chroot /host`
Shutdown scheduled for Mon 2024-03-13 09:36:17 UTC, use 'shutdown -c' to cancel.
Removing debug pod ...
Starting pod/ip-NN-N-NNN-NNNus-east-2computeinternal-debug ...
To use host binaries, run `chroot /host`
Shutdown scheduled for Mon 2024-03-13 09:36:29 UTC, use 'shutdown -c' to cancel.
Выключение nodes указанной последовательностью корректно завершает работу pods, что снижает вероятность повреждения данных.