diff --git a/apps/processing/aero/kustomization.yaml b/apps/processing/aero/kustomization.yaml index a1d0304..c039fe8 100644 --- a/apps/processing/aero/kustomization.yaml +++ b/apps/processing/aero/kustomization.yaml @@ -162,24 +162,74 @@ patches: # равнозначны, — поэтому поды задач висли бы в Pending с # didn't match Pod's node affinity/selector # ровно как это было у postgresql (см. postRenderers в его релизе). + # + # ENABLE_TOLERATION ЗДЕСЬ НЕ ВЫКЛЮЧАТЬ. Сначала я поставил его в "0" — и + # это тихо сломало запуск задач совсем: в движке классы ресурсов + # регистрируются ПОД ЭТИМ ЖЕ ФЛАГОМ, + # if resCfg.EnableToleration { services[HighResources] = ... } + # (pkg/kube_services/services.go), поэтому задача с service_request + # "high-resources" падала не на планировании, а раньше — на разборе: + # ERROR create k8s job: create k8s job: unknown service + # Ни одного пода при этом не создавалось, и в логе не было ни слова про + # nodeSelector, так что связь с этим флагом неочевидна. + # + # Вместо выключения переводим селектор на метку, которая есть на всех + # нодах, — kubernetes.io/os=linux. Класс сервисов остаётся + # зарегистрированным, nodeSelector совпадает с любой нодой, а toleration + # на несуществующий taint безвреден. Запрашиваемые ресурсы трогать не + # надо: в base это 1 CPU и 1Gi. + # + # IGNORE_TAINTS_AND_NODE_SELECTOR (появился в base из master) для этого + # НЕ годится: в исходниках workflows-engine такой переменной нет вовсе, + # образ contour_3ef5b462 о ней не знает. - op: test - path: /spec/values/services/backend/envs/67/name - value: ENABLE_TOLERATION + path: /spec/values/services/backend/envs/53/name + value: TOLERATION_KEY - op: replace - path: /spec/values/services/backend/envs/67/value/_default - value: "0" + path: /spec/values/services/backend/envs/53/value/_default + value: kubernetes.io/os + - op: test + path: /spec/values/services/backend/envs/54/name + value: TOLERATION_VALUE + - op: replace + path: /spec/values/services/backend/envs/54/value/_default + value: linux + - op: test + path: /spec/values/services/backend/envs/55/name + value: TOLERATION_KEY_HIGH_MEM + - op: replace + path: /spec/values/services/backend/envs/55/value/_default + value: kubernetes.io/os + - op: test + path: /spec/values/services/backend/envs/56/name + value: TOLERATION_VALUE_HIGH_MEM + - op: replace + path: /spec/values/services/backend/envs/56/value/_default + value: linux + - op: test + path: /spec/values/services/backend/envs/57/name + value: TOLERATION_KEY_PERSISTENT + - op: replace + path: /spec/values/services/backend/envs/57/value/_default + value: kubernetes.io/os + - op: test + path: /spec/values/services/backend/envs/58/name + value: TOLERATION_VALUE_PERSISTENT + - op: replace + path: /spec/values/services/backend/envs/58/value/_default + value: linux - op: test path: /spec/values/services/backend/envs/70/name value: DEFAULT_NODE_SELECTOR_KEY - op: replace path: /spec/values/services/backend/envs/70/value/_default - value: "" + value: kubernetes.io/os - op: test path: /spec/values/services/backend/envs/71/name value: DEFAULT_NODE_SELECTOR_VALUE - op: replace path: /spec/values/services/backend/envs/71/value/_default - value: "" + value: linux # S3 из Vault, как у api. - op: add