kubernetes pod перепланировал и будет работать на другом узле после развертывания в другом пространстве имен
У меня есть два пространства имен qa и dev. Модули qa и dev могут работать на одном узле. Когда я удаляю выпуск / поды для разработчиков, k8 просто перенастраивает некоторые из стручков qa на разных узлах. Аналогичные вещи происходят, когда я включаю автомасштабирование, то есть при уменьшении масштаба k8 будет перепланировать другие модули служб в том же / другом пространстве имен. 1) Как мне предотвратить перепланирование k82) Как мне справиться с этим в случае автомасштабирования?
1 ответ
Если вы хотите запланировать свой модуль на определенном узле, вы можете использовать селектор узлов.
# To set level on node run
$ kubectl label nodes <node-name> <label-key>=<label-value>
# On pod spec set
nodeSelector:
<label-key>=<label-value>
Если вы хотите предотвратить изменение расписания, используйте бюджет нарушения работы модуля и установитеmaxUnavailable: 0
, он никогда не удалит ваши стручки
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: pdb
spec:
maxUnavailable: 0
selector:
matchLabels:
app: demoapp