При работе в составе Kubernetes Engine, функция автоматического обновления ОС, оптимизированной для работы с контейнерами, отключена . Обновления cos применяются путем обновления версии образа узлов с использованием функциональности обновления GKE - обновите мастер, затем пул узлов или используйте функции автоматического обновления GKE.
Руководство по обновлению кластера Kubernetes Engine описывает процесс обновления, используемый для ручного и автоматического обновлений: https://cloud.google.com/kubernetes-engine/docs/how-to/upgrading-a-cluster.
В итоге следует следующий процесс:
Для узлов отключено планирование (поэтому они не будут учитываться при планировании новых модулей, допущенных к кластеру).
Блоки, назначенные обновляемому узлу, опустошаются. Они могут быть воссозданы в другом месте, если они подключены к контроллеру репликации или эквивалентному менеджеру, который перепланирует замену, и имеется емкость кластера для планирования замены на другом узле.
- Экземпляр Computer Engine узла обновляется с помощью нового образа cos с тем же именем.
- Узел запущен, повторно добавлен в кластер, и планирование снова включено. (Помимо некоторых условий, большинство контейнеров не будут автоматически перемещаться назад.)
Этот процесс повторяется для последующих узлов в кластере.
Когда вы запускаете обновление, Kubernetes Engine останавливает планирование, истощает и удаляет все узлы кластера и их модули по одному. Заменяющие узлы воссоздаются с тем же именем, что и их предшественники. Каждый узел должен быть успешно воссоздан для завершения обновления. Когда новые узлы регистрируются в мастере, Kubernetes Engine помечает узлы как запланированные.