• Русский
  • Развертывание 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; если Docker Registry — можно оставить пустым.

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

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

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

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

      • Убедитесь, что все Pods находятся в состоянии 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>