Rollout restart в kubernetes
Для обновления конфигов бывает полезна команда
kubectl rollout restart deployment your_service_name --namespace your_namespace
после которой экземпляры сервиса будут перезапущены по одному. Но иногда настройки прав доступа могут быть кривыми и не разрешать эту операцию.
Чтобы то же самое сделать вручную, нужно:
- Масштабировать сервис вверх на 1, чтобы не было алертов и/или проблем с нагрузкой.
- Удалить один из старых подов (UI обычно показывает дату создания).
- Дождаться, пока не будет поднят автоматически новый под на замену старого.
- Повторить пп. 2-3 пока не останутся только новые поды.
- Масташбировать сервис вниз на 1, чтобы вернуть все как было.