Я следую этому руководству в попытке обновить кластер Kubernetes на GKE без простоев. Я оцепил все старые узлы и выселил большинство модулей, но для пары узлов kubectl drain
просто продолжает работать и больше не выселяет модули.
kubectl get pods --all-namespaces -o=wide
показывает, что несколько модулей все еще работают в старом пуле, а когда я запускаю kubectl drain --ignore-daemonsets --force
, он выводит предупреждение, объясняющее, почему он игнорирует большинство из них; единственные, о которых он не упоминает, - это модули, которые у меня запущены с memcached, которые были созданы через helm с использованием эту диаграмму.
Мы не слишком сильно полагаемся на memcached, поэтому я мог бы просто продолжить и удалить старый пул узлов на этом этапе и согласиться с кратковременным простоем для этой единственной службы. Но я бы предпочел иметь сценарий, который бы все это делал правильно, и я бы не знал, что делать в этот момент, если бы эти поды делали что-то более важное.
Итак, это каким-то образом ожидаемое поведение? Есть ли что-то в этой диаграмме управления, что заставляет эти капсулы отказываться от выселения? Есть ли другой тип флага принудительного / игнорирования, который мне нужно передать kubectl drain
?
drain
просто прекращает вывод любых данных на стандартный вывод, но не завершается. - person Josh Warfield   schedule 18.01.2018error: replicationcontrollers "memcached" not found
, но эта проблема возникла несколько версий назад, поэтому конкретные выходные данные могли измениться. Я все еще новичок в кубернетах; как мне определить, являются ли эти стручки сиротами? - person Josh Warfield   schedule 18.01.2018