Поделиться через


Руководство: Локальный запуск и отладка с помощью Bridge to Kubernetes в Visual Studio

Заметка

Мост для Kubernetes будет снят с эксплуатации 30 апреля 2025 года. Дополнительные сведения о прекращении поддержки и open-source альтернативы см. в задаче GitHub .

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

Дополнительные сведения о мосте к Kubernetes см. в статье Как работает мост к 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/hsubramanianaks/b2k-samples
    
  3. Измените каталог на todo-app, а затем создайте пространство имен для примера.

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

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

    Это простое развертывание предоставляет пользовательский интерфейс посредством службы типа LoadBalancer. Подождите, пока все поды будут запущены, и внешний 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. Выберите Open>Project/Solution, а затем найдите проект todo-app\database-api\databaseApi.csproj и выберите Открыть.

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

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

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

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

    Скриншот показывает диалоговое окно

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

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

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

    Заметка

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

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

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

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

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

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

Заметка

По умолчанию остановка задачи отладки также отключает компьютер разработки от кластера Kubernetes. Чтобы изменить это поведение, выберите Инструменты>Параметры, а затем выберите Средства отладки Kubernetes. Установите для отключение после отладки значение False.

Снимок экрана показывает значение

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

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

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

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

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

    снимок экрана: метод CreateTask с точкой останова, установленной в первой строке.

    Ярлык для этого действия — F9.

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

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

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

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

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

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

  1. На панели команд Visual Studio щелкните стрелку рядом с кнопкой запуска (зеленый треугольник или значок воспроизведения), чтобы открыть раскрывающийся список, а затем щелкните свойства отладки databaseApi. снимок экрана: раскрывающееся меню Bridge to Kubernetes.

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

Другой способ добраться до этого экрана:

  1. Щелкните правой кнопкой мыши на узле проекта в Обозревателе Решений и выберите Свойства (или нажмите клавиши Alt+Enter).

  2. Прокрутите вниз до Debugи выберите Открыть интерфейс профилей запусков Debug.

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

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

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

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

Чтобы узнать, как подключить компьютер разработки к кластеру с помощью Visual Studio Code, ознакомьтесь с этой статьей: