• Русский
  • Развертывание приложения Bookinfo в режиме ambient

    Вы можете развернуть пример приложения Bookinfo в режиме ambient без внедрения sidecar, полагаясь на прокси ZTunnel. Сведения о приложении Bookinfo см. в разделе Развертывание приложения Bookinfo.

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

    • Активная сессия ACP CLI (kubectl) у администратора кластера с ролью cluster-admin.
    • Локально установлен istioctl, чтобы вы могли использовать его для выполнения этих инструкций.
    • Установлен Alauda Service Mesh Operator версии 2.1.1 или более поздней, создан ресурс Istio, и Operator развернул Istio.
    • Создан ресурс IstioCNI, и Operator развернул необходимые pod'ы IstioCNI.
    • Создан ресурс ZTunnel, и Operator развернул необходимые pod'ы ZTunnel.

    Процедура

    1. Создайте пространство имен bookinfo:

      kubectl create namespace bookinfo
    2. Добавьте метку istio-discovery=enabled в пространство имен bookinfo:

      kubectl label namespace bookinfo istio-discovery=enabled
    3. Разверните приложение Bookinfo:

      kubectl apply -n bookinfo -f https://raw.githubusercontent.com/alauda-mesh/istio/refs/heads/istio-1.28/samples/bookinfo/platform/kube/bookinfo.yaml

      Примените YAML-файл bookinfo-versions, чтобы создать несколько версий сервисов Bookinfo:

      kubectl apply -n bookinfo -f https://raw.githubusercontent.com/alauda-mesh/istio/refs/heads/istio-1.28/samples/bookinfo/platform/kube/bookinfo-versions.yaml
    4. Убедитесь, что pod'ы Bookinfo запущены:

      kubectl get pods -n bookinfo

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

      NAME                              READY   STATUS    RESTARTS   AGE
      details-v1-569946bc86-f5xks       1/1     Running   0          2m30s
      productpage-v1-6c76dd65f7-tk5mr   1/1     Running   0          2m29s
      ratings-v1-5fd569d7c8-5x778       1/1     Running   0          2m30s
      reviews-v1-7668bf774d-qvpjh       1/1     Running   0          2m30s
      reviews-v2-55dd985686-bxv5v       1/1     Running   0          2m29s
      reviews-v3-5d7d6bddd8-2wr5w       1/1     Running   0          2m29s
    5. Подтвердите, что приложение Bookinfo отвечает на запросы:

      kubectl exec "$(kubectl get pod -l app=ratings -n bookinfo \
        -o jsonpath='{.items[0].metadata.name}')" \
        -c ratings -n bookinfo \
        -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"

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

      <title>Simple Bookstore App</title>
    6. Подключите приложение Bookinfo к ambient mesh, добавив метку либо ко всему пространству имен, либо к отдельным pod'ам:

      • Чтобы включить все рабочие нагрузки в пространстве имен bookinfo:

        kubectl label namespace bookinfo istio.io/dataplane-mode=ambient
      • Чтобы включить только определенные рабочие нагрузки, примените метку istio.io/dataplane-mode=ambient непосредственно к отдельным pod'ам. Подробности о метках, используемых для добавления рабочих нагрузок в mesh или исключения их из него, см. в разделе Дополнительные ресурсы.

        NOTE

        Подключение рабочих нагрузок к ambient mesh не требует перезапуска или повторного развертывания pod'ов приложения. В отличие от режима sidecar, число контейнеров в каждом pod'е остается неизменным.

    7. Убедитесь, что прокси ZTunnel успешно создал прослушивающие сокеты в сетевых пространствах имен pod'ов:

      istioctl -n ztunnel ztunnel-config workloads

      После добавления пространства имен bookinfo в Ambient mesh вы увидите протокол HBONE.

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

      NAMESPACE    POD NAME                        ADDRESS    NODE           WAYPOINT PROTOCOL
      bookinfo     details-v1-569946bc86-f5xks     10.3.0.143 192.168.131.32 None     HBONE
      bookinfo     productpage-v1-6c76dd65f7-tk5mr 10.3.0.148 192.168.131.32 None     HBONE
      bookinfo     ratings-v1-5fd569d7c8-5x778     10.3.0.144 192.168.131.32 None     HBONE
      bookinfo     reviews-v1-7668bf774d-qvpjh     10.3.0.145 192.168.131.32 None     HBONE
      bookinfo     reviews-v2-55dd985686-bxv5v     10.3.0.146 192.168.131.32 None     HBONE
      bookinfo     reviews-v3-5d7d6bddd8-2wr5w     10.3.0.147 192.168.131.32 None     HBONE
      istio-cni    istio-cni-node-vfrbr            10.3.0.140 192.168.131.32 None     TCP
      istio-system istiod-57f9449cdd-56gl8         10.3.0.141 192.168.131.32 None     TCP
      ztunnel      ztunnel-lf7c9                   10.3.0.142 192.168.131.32 None     TCP

    Очистка

    # Remove the namespace from the ambient data plane
    kubectl label namespace bookinfo istio.io/dataplane-mode-
    # Remove the Bookinfo namespace
    kubectl delete namespace bookinfo

    Дополнительные ресурсы