Учебник. Локальный запуск и отладка с помощью Bridge to Kubernetes в Visual Studio

В этом учебнике вы узнаете, как перенаправлять трафик между кластером Kubernetes и компьютером разработчика. В этом учебнике для отладки службы используется Bridge to Kubernetes и Visual Studio. Сведения об использовании Visual Studio Code см. в статье Локальный запуск и отладка с помощью Bridge to Kubernetes в VS Code.

Дополнительные сведения о Bridge to Kubernetes см. в разделе Как работает Bridge to Kubernetes.

В этом руководстве описано следующее:

  • Подключение к кластеру с помощью Bridge to Kubernetes.
  • Маршрутизация запросов в локально запущенную службу для целей разработки.
  • Отладка запущенной службы на локальном компьютере.

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

Настройка службы

В рамках этого учебника используется Bridge to Kubernetes для работы с простым примером приложения TODO в любом кластере Kubernetes.

Этот пример приложения имеет внешний интерфейс для взаимодействия и серверную часть, которая предоставляет постоянное хранилище.

  1. Откройте окно Bash и убедитесь, что кластер доступен и готов. Затем задайте контекст для этого кластера.

    kubectl cluster-info
    kubectl config use-context <kubernetes-cluster>
    
  2. Клонируйте пример репозитория.

    git clone https://github.com/Azure/Bridge-To-Kubernetes
    
  3. Перейдите в каталог samples/todo-app, а затем создайте пространство имен для примера.

    kubectl create namespace todo-app
    
  4. Затем примените манифест развертывания:

    kubectl apply -n todo-app -f deployment.yaml
    

    Это простое развертывание, которое предоставляет внешний интерфейс с помощью службы типа LoadBalancer. Подождите, пока все модули pod будут запущены и внешний IP-адрес службы frontend станет доступным.

    При тестировании с помощью MiniKube используйте minikube tunnel для разрешения внешнего IP-адреса. Если вы используете AKS или другой облачный поставщик Kubernetes, внешний IP-адрес назначается автоматически.

  5. Используйте приведенную ниже команду, чтобы отследить службу frontend и дождаться, пока она запустится.

    kubectl get service -n todo-app frontend --watch
    
    NAME       TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)        AGE
    frontend   LoadBalancer   10.0.245.78   10.73.226.228   80:31910/TCP   6m26s
    

Подключение к кластеру

  1. Откройте Visual Studio. В окне Начало работы выберите Продолжить без кода.

  2. Выберите Открыть>Проект/решение, найдите проект samples\todo-app\database-api\databaseApi.csproj и нажмите кнопку Открыть.

  3. В проекте в списке параметров запуска выберите Bridge to Kubernetes, как показано ниже.

    На снимке экрана показаны средства отладки с выбранным Bridge to Kubernetes.

  4. Нажмите кнопку запуска рядом с пунктом Bridge to Kubernetes. В диалоговом окне Создание профиля для Bridge to Kubernetes введите следующие значения:

    • Выберите имя кластера.
    • Выберите todo-app для вашего пространства имен.
    • Выберите database-api для службы, которую необходимо перенаправить.
    • Выберите тот же URL-адрес, который использовался ранее для запуска браузера.

    На снимке экрана показана диалоговое окно «Создание профиля» для Bridge to Kubernetes с введенными значениями.

  5. Если вы хотите выполнить запуск в режиме изоляции, выберите Включить изоляцию маршрутизации. При включении изоляции маршрутизации ваши изменения не повлияют на других пользователей, использующих кластер. Режим изоляции направляет запросы к копии каждой затрагиваемой службы. Остальной трафик маршрутизируется в обычном режиме. Дополнительные сведения см. в разделе Как работает Bridge to Kubernetes.

  6. Выберите Сохранение и отладка, чтобы сохранить изменения.

    На снимке экрана показана служба TODO, отображаемая при отладке, с полем ввода для задач.

    Примечание

    EndpointManager предлагает разрешить повышенные привилегии для файла hosts.

    Компьютер разработчика подключается к кластеру. В строке состояния показано, что вы подключены к службе database-api.

    На снимке экрана показана строка состояния, которая проверяет, подключен ли компьютер разработчика.

  7. Попробуйте ввести задачи и пометить их как завершенные.

  8. Выберите Отладка>Отменить отладку, чтобы прервать отладку. Сочетание клавиш для этого действия:Shift+F5 или можно использовать кнопку Остановить отладку на панели инструментов.

Bridge to Kubernetes перенаправляет весь трафик для службы database-api. Он перенаправляется в версию вашего приложения на компьютере разработчика. Функция Bridge to Kubernetes также направляет весь исходящий трафик из приложения обратно в кластер Kubernetes.

Примечание

По умолчанию при остановке задачи отладки компьютер разработки отключается от кластера Kubernetes. Чтобы изменить это поведение, выберите Сервис>Параметры, а затем — средства отладки Kubernetes. Задайте для параметра Отключить после отладки значение false.

На снимке экрана показано значение параметра «Отключить после отладки» в средствах отладки Kubernetes.

После изменения этого параметра компьютер разработки будет оставаться подключенным при остановке и запуске отладки. Чтобы отключить компьютер разработки от кластера, нажмите кнопку Отключиться на панели инструментов.

Установка точки останова

В этом разделе вы будете настраивать точку останова в службе.

  1. В Обозревателе решенийвыберите MongoHelper.cs, чтобы открыть файл в редакторе. Если вы не видите Обозреватель решений, выберите Просмотреть>Обозреватель решений.

  2. Установите курсор на первой строке в текстовой области метода CreateTask. Затем выберите Отладка>Переключение точки останова, чтобы задать точку останова.

    На снимке экрана показан метод CreateTask с точкой останова, заданной в первой строке.

    Для этого действия используется клавиша F9.

  3. Нажмите кнопку «Пуск» рядом с параметром Bridge to Kubernetes, как показано в предыдущем разделе. Отладка начинается с введенных ранее значений.

  4. В открывшемся браузере введите значение в поле todos и нажмите клавишу Enter. Код достиг заданной точки останова. При выполнении реальных задач отладки можно использовать параметры отладки для пошагового выполнения кода.

  5. Выберите Отладка>Отменить отладку, чтобы прервать отладку.

  6. Чтобы удалить точку останова, выберите эту строку, а затем щелкните Отладка>Переключение точки останова или нажмите клавишу F9.

Изменение профиля запуска

Если вам нужно изменить способ подключения Bridge to Kubernetes к кластеру, воспользуйтесь инструкциями по изменению параметров профиля запуска, приведенными в этом разделе.

  1. Щелкните стрелку рядом с кнопкой Bridge to Kubernetes, а затем откройте раздел свойств отладки API баз данных. Снимок экрана: раскрывающееся меню Bridge to Kubernetes.

  2. Щелкните ссылку Изменить профиль для Bridge to Kubernetes в диалоговом окне Профили запуска. Снимок экрана: диалоговое окно

Очистка ресурсов

Если вы использовали пример приложения todo для этого руководства, можно удалить его из кластера с помощью портала Azure. Если репозиторий был клонирован локально, его можно удалить вручную.

Дальнейшие действия

Дополнительные сведения о Bridge to Kubernetes см. в разделе Как работает Bridge to Kubernetes.

Сведения о поддерживаемых функциях и стратегии для Bridge to Kubernetes см. в разделе Стратегия Bridge to Kubernetes.

Инструкции по подключению компьютера разработчика к кластеру с помощью Visual Studio Code см. в этой статье: