Когда вы работаете в среде реального времени, будут моменты, когда вы захотите запустить определенный тип рабочих нагрузок (или приложение) на назначенном рабочем узле.
Например, производственные рабочие нагрузки должны выполняться на определенных рабочих узлах и не должны смешиваться с промежуточными рабочими нагрузками или рабочими нагрузками разработки.
Здесь будет полезно добавить метки к узлу.
Позвольте нам показать вам, как добавлять метки к узлам в Kubernetes , изменять метки и позже их удалять.
Как читать метки узлов в Kubernetes
Вы можете перечислить детали узлов Kubernetes вместе с их ярлыками следующим образом:
kubectl get nodes --show-labels
Если вы хотите узнать подробности для конкретного узла, используйте это:
kubectl label --list nodes node_name
Ярлыки имеют форму пары “ключ-значение”. Они должны начинаться с буквы или цифры и могут содержать буквы, цифры, дефисы, точки и символы подчеркивания, до 63 символов каждый.
Как присвоить метку узлу
Теперь предположим, что вы хотите, чтобы на узле kworker-ex1 размещались все рабочие нагрузки, связанные с производством.
Назовем этот узел соответствующим именем (например, production):
root@andreyex:~# kubectl label nodes kworker-ex1 workload=production node/kworker-ex1 labeled
Подтвердите маркировку контейнера:
root@andreyex:~# kubectl label --list nodes kworker-ex1 | grep -i workload workload=production
Мы использовали команду grep, чтобы отсеять ненужные детали и сосредоточиться на метке.
Как перезаписать метку узла
Если позже вы решите перезаписать некоторые ярлыки в соответствии с требованиями, посмотрите, как вы можете этого добиться.
root@andreyex:~# kubectl label --overwrite nodes kworker-ex1 workload=staging node/kworker-ex1 labeled
Вы можете подтвердить изменение маркировки контейнера:
root@andreyex:~# kubectl label --list nodes kworker-ex1 | grep -i workload workload=staging
Как удалить метки узлов
Чтобы удалить метку с узла, укажите ключ без какого-либо значения.
root@andreyex:~# kubectl label --overwrite nodes kworker-ex1 workload- node/kworker-ex1 labeled
Вы можете подтвердить удаление метки узла:
root@andreyex:~# kubectl label --list nodes kworker-ex1 | grep -i workload root@andreyex:~#
Вот и все! Надеюсь, вы познакомились с командой kubectl label в этой статье.