• Русский
  • Развертывание Bookinfo

    Это руководство поможет вам развернуть приложение Bookinfo в вашей среде и проверить успешность развертывания.

    Перед началом убедитесь, что:

    • У вас есть учетная запись Customer Portal с доступом для загрузки из App Market. Если у вас нет учетной записи, обратитесь в техническую поддержку.

    Шаг 1: Создайте проект и namespace для Bookinfo

    1. Создайте проект и namespace
      В разделе Project Management нажмите Create Project, задайте имя demo и выберите кластер, в котором планируете развернуть приложение Bookinfo.
      После создания проекта перейдите на страницу с деталями проекта. В левой навигационной панели выберите Namespaces, затем нажмите Create Namespace и задайте имя demo-dev.
      Если у вас уже есть подходящий проект и namespace для развертывания Bookinfo, этот шаг можно пропустить, заменив namespace в последующих командах на ваш.

      Примечание: Для создания проекта требуются права администратора платформы. Если у вас нет необходимых прав, обратитесь к администратору за помощью.

    Шаг 2: Загрузите ресурсы Bookinfo

    1. Войдите и скачайте
      Войдите в Customer Portal, найдите "Bookinfo" в App Market и скачайте необходимые ресурсы.

    Шаг 3: Загрузите образы

    1. Загрузите и распакуйте пакет
      Загрузите скачанный пакет на сервер или ПК с доступом к вашему реестру образов. Распакуйте пакет, чтобы получить следующие файлы:

      tar -xzvf <package>
      • bookinfo-images-arm64.tar: образы Bookinfo для архитектуры ARM.
      • bookinfo-images-amd64.tar: образы Bookinfo для архитектуры x86.
      • push-images.sh: скрипт для загрузки образов, автоматически обновляющий ссылки на образы в bookinfo.yaml.
      • bookinfo.yaml: YAML-файл для развертывания Bookinfo, включая конфигурации Service и Deployment.
    2. Установите права на выполнение скрипта
      Выполните команду:

      chmod +x push-images.sh
    3. Запустите скрипт для загрузки образов
      Выполните следующую команду для загрузки образов в целевой реестр:

      # Пример ./push-images.sh ./bookinfo-images-amd64.tar 192.168.143.0:32767 true admin 'Aa123!@#' bookinfo-demo
      ./push-images.sh <source-image> <target-registry> <requires-auth> [username] [password] [harbor-project]

      Описание параметров:

      • source-image: путь к файлу с образом.
      • target-registry: адрес и порт реестра образов. Важно: префикс https:// или http:// указывать не нужно.
      • requires-auth: требуется ли аутентификация. Если нет — укажите false; если да — true и укажите username и password.
      • username: имя пользователя для реестра образов.
      • password: пароль для реестра образов. Рекомендуется заключать пароль в одинарные кавычки, чтобы избежать ошибок парсинга из-за специальных символов.
      • harbor-project: если используется реестр Harbor, укажите имя проекта в Harbor; для других реестров этот параметр можно оставить пустым.

    Шаг 4: Разверните приложение Bookinfo

    1. Развертывание через kubectl
      Откройте платформу контейнеров или страницу управления платформой, затем нажмите на инструмент kubectl в правом нижнем углу.

    2. Примените YAML-файл
      Используйте vi или другой редактор терминала, чтобы вставить содержимое bookinfo.yaml, и выполните команду:

      kubectl apply -f bookinfo.yaml -n <your-namespace>
    3. Проверьте успешность развертывания

      • Убедитесь, что все Pod находятся в состоянии Running:

        kubectl get pods -n <your-namespace>
      • Проверьте доступность приложения:

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

        Ожидаемый вывод:

        <title>Simple Bookstore App</title>