DiscoverySelectors
Рабочая нагрузка включается в Service Mesh, если она удовлетворяет двум условиям:
По умолчанию управляющая плоскость сканирует рабочие нагрузки во всех пространствах имён кластера. Такое поведение по умолчанию приводит к двум результатам:
Discovery selectors позволяют администратору mesh управлять тем, какие пространства имён управляющая плоскость может отслеживать. Администратор использует селектор меток Kubernetes для определения критериев пространств имён, которые должны быть видимы управляющей плоскости, эффективно скрывая все пространства имён, не соответствующие этим критериям.
Istiod всегда будет открывать watch на Kubernetes для всех пространств имён. Однако discovery selectors игнорируют объекты, которые не выбраны, очень рано в процессе обработки, минимизируя затраты.
Поле discoverySelectors
принимает массив селекторов Kubernetes, которые применяются к меткам пространств имён. Каждый селектор может быть настроен для различных сценариев:
istio-discovery=enabled
.istio-discovery=enabled
, ЛИБО region=us-east1
.istio-discovery=enabled
И app=helloworld
.Важно отметить, что discovery selectors не являются границей безопасности. Даже при настройке поля discoverySelector
Istiod сохраняет доступ ко всем пространствам имён.
Когда вы определили пространства имён, которые должны быть включены в Service Mesh, вы можете настроить discoverySelectors
как во время установки, так и после неё. Это делается путём добавления необходимых селекторов в поле meshConfig.discoverySelectors
внутри ресурса Istio
. Например, можно настроить Istio так, чтобы оно обнаруживало только пространства имён с меткой istio-discovery=enabled
.
Требования
Процедура
Примените метку к пространству имён, в котором работает управляющая плоскость Istio, например, к пространству имён istio-system
.
Обновите ресурс управляющей плоскости Istio
, добавив раздел discoverySelectors
, использующий ту же метку.
Убедитесь, что каждое пространство имён, предназначенное для размещения рабочих нагрузок Service Mesh, помечено как меткой discoverySelector
, так и, при необходимости, соответствующей меткой для инъекции Istio.