• Русский
  • Включение sidecar injection с помощью ресурса IstioRevisionTag

    Если имя вашей ревизии не default, вы всё равно можете использовать метку istio-injection=enabled. Для этого необходимо сначала создать ресурс IstioRevisionTag с именем default, который будет указывать на ваш ресурс Istio.

    Справка

    Предварительные требования

    • Оператор Alauda Service Mesh v2 установлен, создан ресурс Istio, и Istio развернут оператором.
    • Создан ресурс IstioCNI, и необходимые поды IstioCNI развернуты оператором.
    • Пространства имён, которые должны быть частью mesh, существуют и могут быть обнаружены управляющей плоскостью Istio.
    • Необязательно: рабочие нагрузки для mesh уже развернуты. В этих примерах приложение Bookinfo существует в пространстве имён bookinfo, но sidecar injection (как описано в шаге 2) ещё не настроен. Дополнительную информацию см. в разделе "Deploying the Bookinfo application".

    Процедура

    1. Чтобы узнать имя вашего ресурса Istio, выполните следующую команду:

      kubectl get istio

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

      NAME      NAMESPACE      PROFILE   REVISIONS   READY   IN USE   ACTIVE REVISION   STATUS    VERSION   AGE
      default   istio-system             1           1       0        default-v1-28-3   Healthy   v1.28.3   37s

      В данном случае ресурс Istio называется default, но его базовая ревизия — default-v1-28-3.

    2. Определите ресурс IstioRevisionTag в YAML-файле:

      Пример YAML ресурса IstioRevisionTag

      apiVersion: sailoperator.io/v1
      kind: IstioRevisionTag
      metadata:
        name: default
      spec:
        targetRef:
          kind: Istio
          name: default
    3. Примените ресурс IstioRevisionTag с помощью команды:

      kubectl apply -f istioRevisionTag.yaml
    4. Подтвердите успешное создание ресурса IstioRevisionTag следующей командой:

      kubectl get istiorevisiontags.sailoperator.io

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

      NAME      STATUS    IN USE   REVISION          AGE
      default   Healthy   True     default-v1-28-3   15s

      Как показано в примере, новый тег теперь ссылается на вашу активную ревизию default-v1-28-3. Теперь вы можете использовать метку istio-injection=enabled, как если бы ваша ревизия называлась default.

    5. Проверьте, что поды работают без sidecar, выполнив команду ниже. Все существующие рабочие нагрузки в целевом пространстве имён должны показывать 1/1 в колонке READY контейнеров.

      kubectl get pods -n bookinfo

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

      NAME                              READY   STATUS    RESTARTS   AGE
      details-v1-85c7fcfd5b-fdx4q       1/1     Running   0          5m48s
      productpage-v1-775ffc67d8-89n5c   1/1     Running   0          5m48s
      ratings-v1-6c79fdf684-cdkzc       1/1     Running   0          5m48s
      reviews-v1-685fb87cb6-pgzm5       1/1     Running   0          5m48s
      reviews-v2-76c4659bc6-lgtp4       1/1     Running   0          5m48s
      reviews-v3-f7b4c8678-x2hnp        1/1     Running   0          5m48s
    6. Добавьте метку инъекции в пространство имён bookinfo следующей командой:

      kubectl label namespace bookinfo istio-injection=enabled

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

      namespace/bookinfo labeled
    7. Чтобы активировать sidecar injection, инициируйте повторное развертывание рабочих нагрузок в пространстве имён bookinfo, выполнив команду:

      kubectl -n bookinfo rollout restart deployments

    Проверка

    1. Проверьте успешность развертывания, выполнив команду ниже и убедившись, что вновь созданные поды показывают 2/2 контейнеров в колонке READY:

      kubectl get pods -n bookinfo

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

      NAME                              READY   STATUS    RESTARTS   AGE
      details-v1-d964f49cb-bdlwn        2/2     Running   0          38s
      productpage-v1-79fbc54dfb-wbtf2   2/2     Running   0          38s
      ratings-v1-6f4bf85f96-glkg9       2/2     Running   0          38s
      reviews-v1-57d48b8c6b-hlfbt       2/2     Running   0          38s
      reviews-v2-6d65c788d4-q98pl       2/2     Running   0          38s
      reviews-v3-6cf5df6bb6-phnj9       2/2     Running   0          38s