Технически Cloud Run на кластере GKE все еще остается кластером GKE в конце дня, поэтому он может иметь упреждающие пулы узлов.
Однако некоторые компоненты Knative Serving, такие как activator
и autoscaler
находятся в горячем пути обслуживания запросов. Вы должны удостовериться, что они не попадают в выгружаемый пул. Точно так же controller
и webhook
в некоторой степени играют центральную роль в жизненном цикле плоскости управления объектов Knative API, поэтому вам также необходимо убедиться, что эти модули находятся в не выгружаемом пуле узлов.
Во-вторых, Knative (на данный момент) не поддерживает селекторы узлов или портит / допуски: https://knative.tips/pod-config/node-affinity/ Он просто не дает вам способа указать nodeSelector
или другие сходные поля в шаблоне Pod объекта Knative Service. .
Следовательно, вам нужно найти способ (например, реализовать свой мутантный веб-крюк для входа в модули, созданные в Knative), чтобы добавлять такие селекторы узлов в Pod, что довольно утомительно.
Однако, комбинируя портовые узлы и допуски pd, я думаю, что вы можете получить системные компоненты Knative в конечном итоге в невыгружаемый пул, а все остальное (например, созданные в модуле Knative) в других узлах (т.е. вытесняемых узлах).