• Русский
  • Определение имени ревизии

    Метка, необходимая для включения sidecar injection, определяется конкретным экземпляром контрольной плоскости, известным как ревизия.
    Каждая ревизия управляется соответствующим ресурсом IstioRevision, который автоматически управляется ресурсом Istio.

    Правила именования для IstioRevision основаны на настройке spec.updateStrategy.type в ресурсе Istio:

    • InPlace: Ревизия имеет то же имя, что и родительский ресурс Istio.
    • RevisionBased: Ревизия именуется в формате <istio-resource-name>-v<version>.

    Обычно каждый ресурс Istio соответствует одной IstioRevision.
    Однако во время обновления на основе ревизий может существовать несколько ресурсов IstioRevision, каждый из которых представляет отдельную контрольную плоскость.

    Для вывода списка доступных ревизий используйте следующую команду:

    kubectl get istiorevisions

    Пример вывода:

    NAME              NAMESPACE      PROFILE   READY   STATUS    IN USE   VERSION   AGE
    default-v1-28-3   istio-system             True    Healthy   False    v1.28.3   40s

    Включение sidecar injection с использованием ревизии по умолчанию

    Если имя IstioRevision равно default, вы можете использовать следующие метки на namespace или pod для включения sidecar injection:

    РесурсМетка для включенияМетка для отключения
    Namespaceistio-injection=enabledistio-injection=disabled
    Podsidecar.istio.io/inject=truesidecar.istio.io/inject=false
    NOTE

    Вы также можете включить injection, применив метку istio.io/rev: default к namespace или pod.

    Включение sidecar injection с использованием других ревизий

    Если имя IstioRevision не равно default, необходимо использовать конкретное имя IstioRevision с меткой istio.io/rev.
    Это связывает pod с нужной контрольной плоскостью и включает sidecar injection.

    Например, используя ревизию default-v1-28-3 из примера выше, следующие метки включат sidecar injection:

    РесурсМетка для включенияМетка для отключения
    Namespaceistio.io/rev=default-v1-28-3istio-injection=disabled
    Podistio.io/rev=default-v1-28-3sidecar.istio.io/inject=false
    NOTE

    Если применены обе метки istio-injection и istio.io/rev, приоритет имеет метка istio-injection, и namespace считается частью ревизии по умолчанию.

    Инжектор настроен по следующей логике:

    1. Если любая из меток (istio-injection или sidecar.istio.io/inject) установлена в значение отключено, pod не инжектируется.
    2. Если любая из меток (istio-injection или sidecar.istio.io/inject или istio.io/rev) установлена в значение включено, pod инжектируется.