Определение имени ревизии
Метка, необходимая для включения sidecar-инъекции, определяется конкретным экземпляром контрольной плоскости, известным как ревизия.
Каждая ревизия управляется соответствующим ресурсом IstioRevision, который автоматически управляется ресурсом Istio.
Правила именования для IstioRevision основаны на настройке spec.updateStrategy.type в ресурсе Istio:
InPlace: ревизия имеет то же имя, что и родительский ресурсIstio.RevisionBased: ревизия именуется по формату<istio-resource-name>-v<version>.
Обычно каждый ресурс Istio соответствует одной IstioRevision.
Однако во время обновления на основе ревизий может существовать несколько ресурсов IstioRevision, каждый из которых представляет отдельную контрольную плоскость.
Для вывода списка доступных ревизий используйте следующую команду:
Пример вывода:
Содержание
Включение sidecar-инъекции с использованием ревизии по умолчанию
Если имя IstioRevision равно default, вы можете использовать следующие метки на namespace или pod для включения sidecar-инъекции:
Также можно включить инъекцию, применив метку istio.io/rev: default к namespace или pod.
Включение sidecar-инъекции с использованием других ревизий
Если имя IstioRevision не равно default, необходимо использовать конкретное имя IstioRevision с меткой istio.io/rev.
Это связывает pod с нужной контрольной плоскостью и включает sidecar-инъекцию.
Например, используя ревизию default-v1-26-3 из приведённого выше примера, следующие метки включат sidecar-инъекцию:
Если применены обе метки istio-injection и istio.io/rev, приоритет имеет метка istio-injection, и namespace считается частью ревизии по умолчанию.
Инжектор настроен по следующей логике:
- Если любая из меток (
istio-injectionилиsidecar.istio.io/inject) отключена, pod не инъецируется. - Если любая из меток (
istio-injectionилиsidecar.istio.io/injectилиistio.io/rev) включена, pod инъецируется.