Учебник. Локальный запуск и отладка с помощью 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.
- Маршрутизация запросов в локально запущенную службу для целей разработки.
- Отладка запущенной службы на локальном компьютере.
Необходимые компоненты
- Кластер Kubernetes. Его можно создать на портале Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись.
- Исполняемый файл kubectl, установленный в системе.
- Visual Studio 2019 версии 16.7 или более поздней версии в Windows 10 или более поздней версии либо Visual Studio 2022.
- Расширение Bridge to Kubernetes для Visual Studio 2019 или Bridge to Kubernetes для Visual Studio 2022.
- Приложение для устранения неполадок, например пример приложения TODO.
Настройка службы
В рамках этого учебника используется Bridge to Kubernetes для работы с простым примером приложения TODO в любом кластере Kubernetes.
Этот пример приложения имеет внешний интерфейс для взаимодействия и серверную часть, которая предоставляет постоянное хранилище.
Откройте окно Bash и убедитесь, что кластер доступен и готов. Затем задайте контекст для этого кластера.
kubectl cluster-info kubectl config use-context <kubernetes-cluster>
Клонируйте пример репозитория.
git clone https://github.com/Azure/Bridge-To-Kubernetes
Перейдите в каталог samples/todo-app, а затем создайте пространство имен для примера.
kubectl create namespace todo-app
Затем примените манифест развертывания:
kubectl apply -n todo-app -f deployment.yaml
Это простое развертывание, которое предоставляет внешний интерфейс с помощью службы типа
LoadBalancer
. Подождите, пока все модули pod будут запущены и внешний IP-адрес службыfrontend
станет доступным.При тестировании с помощью MiniKube используйте
minikube tunnel
для разрешения внешнего IP-адреса. Если вы используете AKS или другой облачный поставщик Kubernetes, внешний IP-адрес назначается автоматически.Используйте приведенную ниже команду, чтобы отследить службу
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
Подключение к кластеру
Откройте Visual Studio. В окне Начало работы выберите Продолжить без кода.
Выберите Открыть>Проект/решение, найдите проект samples\todo-app\database-api\databaseApi.csproj и нажмите кнопку Открыть.
В проекте в списке параметров запуска выберите Bridge to Kubernetes, как показано ниже.
Нажмите кнопку запуска рядом с пунктом Bridge to Kubernetes. В диалоговом окне Создание профиля для Bridge to Kubernetes введите следующие значения:
- Выберите имя кластера.
- Выберите todo-app для вашего пространства имен.
- Выберите database-api для службы, которую необходимо перенаправить.
- Выберите тот же URL-адрес, который использовался ранее для запуска браузера.
Если вы хотите выполнить запуск в режиме изоляции, выберите Включить изоляцию маршрутизации. При включении изоляции маршрутизации ваши изменения не повлияют на других пользователей, использующих кластер. Режим изоляции направляет запросы к копии каждой затрагиваемой службы. Остальной трафик маршрутизируется в обычном режиме. Дополнительные сведения см. в разделе Как работает Bridge to Kubernetes.
Выберите Сохранение и отладка, чтобы сохранить изменения.
Примечание.
EndpointManager предлагает разрешить повышенные привилегии для файла hosts.
Компьютер разработчика подключается к кластеру. В строке состояния показано, что вы подключены к службе
database-api
.Попробуйте ввести задачи и пометить их как завершенные.
Выберите Отладка>Отменить отладку, чтобы прервать отладку. Сочетание клавиш для этого действия:Shift+F5 или можно использовать кнопку Остановить отладку на панели инструментов.
Bridge to Kubernetes перенаправляет весь трафик для службы database-api. Он перенаправляется в версию вашего приложения на компьютере разработчика. Функция Bridge to Kubernetes также направляет весь исходящий трафик из приложения обратно в кластер Kubernetes.
Примечание.
По умолчанию при остановке задачи отладки компьютер разработки отключается от кластера Kubernetes. Чтобы изменить это поведение, выберите Сервис>Параметры, а затем — средства отладки Kubernetes. Задайте для параметра Отключить после отладки значение false.
После изменения этого параметра компьютер разработки будет оставаться подключенным при остановке и запуске отладки. Чтобы отключить компьютер разработки от кластера, нажмите кнопку Отключиться на панели инструментов.
Установка точки останова
В этом разделе вы будете настраивать точку останова в службе.
В Обозревателе решенийвыберите MongoHelper.cs, чтобы открыть файл в редакторе. Если вы не видите Обозреватель решений, выберите Просмотреть>Обозреватель решений.
Установите курсор на первой строке в текстовой области метода CreateTask. Затем выберите Отладка>Переключение точки останова, чтобы задать точку останова.
Для этого действия используется клавиша F9.
Нажмите кнопку «Пуск» рядом с параметром Bridge to Kubernetes, как показано в предыдущем разделе. Отладка начинается с введенных ранее значений.
В открывшемся браузере введите значение в поле todos и нажмите клавишу Enter. Код достиг заданной точки останова. При выполнении реальных задач отладки можно использовать параметры отладки для пошагового выполнения кода.
Выберите Отладка>Отменить отладку, чтобы прервать отладку.
Чтобы удалить точку останова, выберите эту строку, а затем щелкните Отладка>Переключение точки останова или нажмите клавишу F9.
Изменение профиля запуска
Если вам нужно изменить способ подключения Bridge to Kubernetes к кластеру, воспользуйтесь инструкциями по изменению параметров профиля запуска, приведенными в этом разделе.
Щелкните стрелку рядом с кнопкой Bridge to Kubernetes, а затем откройте раздел свойств отладки API баз данных.
Щелкните ссылку Изменить профиль для Bridge to Kubernetes в диалоговом окне Профили запуска.
Очистка ресурсов
Если вы использовали пример приложения todo для этого руководства, можно удалить его из кластера с помощью портала Azure. Если репозиторий был клонирован локально, его можно удалить вручную.
Следующие шаги
Дополнительные сведения о Bridge to Kubernetes см. в разделе Как работает Bridge to Kubernetes.
Сведения о поддерживаемых функциях и стратегии для Bridge to Kubernetes см. в разделе Стратегия Bridge to Kubernetes.
Инструкции по подключению компьютера разработчика к кластеру с помощью Visual Studio Code см. в этой статье: