Исследование команды kubectl taint
Команда kubectl taint
используется для добавления, изменения или удаления маркеров (taints) на узлах Kubernetes. Маркеры представляют собой пары ключ-значение с эффектами, которые влияют на планирование подов, ограничивая, какие поды могут быть размещены на определенных узлах.
Запустите следующую команду, чтобы просмотреть доступные параметры для kubectl taint
:
kubectl taint -h
Вы увидите следующий вывод:
Обновить маркеры (taints) на одном или нескольких узлах.
* Маркер состоит из ключа, значения и эффекта. В качестве аргумента здесь он выражается как key=value:effect.
* Ключ должен начинаться с буквы или цифры и может содержать буквы, цифры, дефисы, точки и подчеркивания, максимум 253 символа.
* По желанию ключ может начинаться с префикса DNS - поддомена и одиночного '/', например example.com/my-app.
* Значение является необязательным. Если оно задано, оно должно начинаться с буквы или цифры и может содержать буквы, цифры, дефисы, точки и подчеркивания, максимум 63 символа.
* Эффект должен быть NoSchedule, PreferNoSchedule или NoExecute.
* В настоящее время маркеры могут применяться только к узлам.
Примеры:
## Обновить узел 'foo' маркером с ключом 'dedicated', значением 'special - user' и эффектом 'NoSchedule'
## Если маркер с таким ключом и эффектом уже существует, его значение заменяется, как указано
kubectl taint nodes foo dedicated=special-user:NoSchedule
## Удалить с узла 'foo' маркер с ключом 'dedicated' и эффектом 'NoSchedule', если он существует
kubectl taint nodes foo dedicated:NoSchedule-
## Удалить с узла 'foo' все маркеры с ключом 'dedicated'
kubectl taint nodes foo dedicated-
## Добавить маркер с ключом 'dedicated' на узлах, имеющих метку mylabel=X
kubectl taint node -l myLabel=X dedicated=foo:PreferNoSchedule
## Добавить на узел 'foo' маркер с ключом 'bar' и без значения
kubectl taint nodes foo bar:NoSchedule