В нашем проекте GCP мы находимся в процессе установки меток для ресурсов, чтобы помочь организации и управлению затратами. Речь идет о ярлыках GCP, как описано здесь https://cloud.google.com/compute/docs/labeling-resources а не ярлыки Kubernetes.
Для автономных ресурсов, таких как экземпляры, постоянные диски и внешние IP-адреса, мы просто устанавливаем метки. У нас есть кластер Kubernetes / GKE, который мы тоже пометили. Но похоже, что метки кластера не наследуются экземплярами узлов Kubernetes и их дисками автоматически. И, похоже, мы не можем ставить метки на пул узлов кластера. Но мы также хотели бы иметь ярлыки для этих ресурсов, потому что в конечном итоге счета и диски оплачиваются. Теперь нам интересно, что лучше всего в этом случае.
Безопасно ли вручную добавлять метки на вычислительные экземпляры, которые управляются пулом узлов кластера и их постоянными дисками, или это может вызвать проблемы? Если все в порядке, и если мы добавим метки, что произойдет, если пул узлов будет заменен новым пулом и удален? В этом случае экземпляры автоматически удаляются и создаются новые. Унаследуют ли новые экземпляры и диски метки старых экземпляров или метки будут потеряны?
Ярлыки Google Kubernetes Engine отличаются от метки в Kubernetes. Метки GKE - это произвольные метаданные, прикрепленные к вашим ресурсам, которые вы можете использовать для отслеживания использования и информации о выставлении счетов. В Kubernetes система использует метки внутри, чтобы связывать компоненты и ресурсы кластера друг с другом и управлять жизненными циклами ресурсов.
В ГКЭ, вы применяете метки на уровне кластера. Когда вы маркируете кластер, выбранная вами метка распространяется на все отдельные ресурсы кластера (например, узлы и постоянные диски).
Важный:
Любые ярлыки, которые вы применяете к своим кластерам, распространяются через фоновый процесс, который работает ежечасно. Отображение метки на всех ресурсах, связанных с данным кластером, может занять до одного часа. Кроме того, во время бета-выпуска меток кластера метки распространяются только на экземпляры Compute Engine и постоянные диски. Другие ресурсы, такие как правила переадресации и IP-адреса, не помечаются.
Вы можете узнать больше на: GCP Kubernetes Engine Создание этикеток и управление ими
Воспроизведение:
labelkey:labelvalue
к работающему кластеру под названием cluster-116
:$ gcloud container clusters update cluster-116 --update-labels labelkey=labelvalue --zone us-central1-c
Updating cluster-116...done.
НОТА: При обновлении метки все существующие метки будут перезаписаны. Если в кластере есть существующие метки, которые вы хотите сохранить, вы должны включить эти метки вместе с любыми новыми метками, которые вы хотите добавить.
$ gcloud compute instances describe gke-cluster-116-default-pool-2640aefe-87tx --zone us-central1-c | grep label
labels:
- key: kube-labels ...
$ gcloud compute instances describe gke-cluster-116-default-pool-2640aefe-87tx --zone us-central1-c | grep label
labels:
labelkey: labelvalue
- key: kube-labels ...
Как видите, метка была распространена на экземпляр виртуальной машины.
Если у вас есть вопросы, дайте мне знать в комментариях.