Метки - это пары ключ / значение, прикрепленные к объектам, таким как модули, развертывание и т. Д. Метки используются для идентификации и группировки ресурсов kubernetes.
Согласно официальной документации куберне,
В отличие от имен и меток UUID не обеспечивают уникальности. В целом мы ожидаем, что многие объекты будут иметь одинаковые метки.
Метки не для уникальности, метки используются для идентификации группы объектов, которые каким-то образом связаны, чтобы вы могли просматривать или просматривать эти объекты.
Давайте возьмем пример, который вы упомянули в своем вопросе, с двумя репликациями по 3 реплики в каждой. Обе реплики представляют метки app: nginx
и version:1.7.9
или version:1.7.1
Теперь, если вы хотите идентифицировать все модули, имеющие метки app=nginx
, вы можете выполнить следующую команду:
kubectl get pods -l app=nginx
Он покажет вам все 6 стручков.
Теперь, если вы хотите идентифицировать модули, которые имеют app=nginx
, а также конкретную версию этого nginx, вам нужно выполнить следующую команду:
kubectl get pods -l app=nginx,version=1.7.1
Теперь он покажет вам только три пакета, которые имеют обе метки.
Для получения дополнительной информации читайте официальные документы на этикетках здесь