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

    Метка, необходимая для включения sidecar-инъекции, определяется конкретным экземпляром контрольной плоскости, известным как ревизия.
    Каждая ревизия управляется соответствующим ресурсом 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-26-3   istio-system             True    Healthy   False    v1.26.3   40s

    Содержание

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

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

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

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

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

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

    Например, используя ревизию default-v1-26-3 из приведённого выше примера, следующие метки включат sidecar-инъекцию:

    РесурсМетка для включенияМетка для отключения
    Namespaceistio.io/rev=default-v1-26-3istio-injection=disabled
    Podistio.io/rev=default-v1-26-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 инъецируется.