Tutorial: Cómo ejecutar y depurar localmente con Bridge to Kubernetes en Visual Studio
Artículo
En este tutorial, aprenderá a redirigir el tráfico entre el clúster de Kubernetes y el equipo de desarrollo.
En este tutorial se usa Bridge to Kubernetes y Visual Studio para depurar un servicio.
Para usar Visual Studio Code, consulte Cómo ejecutar y depurar localmente con Bridge to Kubernetes con VS Code.
Cambie el directorio a samples/todo-app y cree un espacio de nombres para el ejemplo.
kubectl create namespace todo-app
Aplique el manifiesto de implementación:
kubectl apply -n todo-app -f deployment.yaml
Esta implementación sencilla expone el front-end mediante un servicio de tipo LoadBalancer.
Espere a que se ejecuten todos los pods y a que la dirección IP externa del servicio frontend esté disponible.
Si va a realizar pruebas con MiniKube, use minikube tunnel para resolver una dirección IP externa.
Si usa AKS u otro proveedor de Kubernetes basado en la nube, se asigna automáticamente una dirección IP externa.
Use el siguiente comando para supervisar el servicio frontend de forma que espere hasta que esté en funcionamiento:
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
Conexión al clúster
Abra Visual Studio. En la ventana Comenzar, seleccione Continuar sin código.
Seleccione Abrir>Project/Solution (Proyecto/Solución), busque el proyecto samples\todo-app\database-api\databaseApi.csproj y seleccione Abrir.
En el proyecto, seleccione Bridge to Kubernetes en la configuración de inicio, tal y como se muestra aquí:
Seleccione el botón de inicio situado junto a Bridge to Kubernetes.
En el cuadro de diálogo Create profile for Bridge to Kubernetes (Crear perfil para Bridge to Kubernetes), escriba los valores siguientes:
Seleccione el nombre del clúster.
Seleccione todo-app como su espacio de nombres.
Seleccione database-api para el servicio que se va a redirigir.
Seleccione la misma dirección URL que usó anteriormente para iniciar el explorador.
Si quiere ejecutar de forma aislada, seleccione Enable routing isolation (Habilitar el aislamiento del enrutamiento).
Si habilita el aislamiento del enrutamiento, los cambios que realice no afectarán a los demás usuarios que usen el clúster.
El modo de aislamiento enruta sus solicitudes a la copia que usted tiene de cada servicio afectado
y enruta el tráfico restante con normalidad.
Para obtener más información, consulte Funcionamiento de Bridge to Kubernetes.
Seleccione Save and debug (Guardar y depurar) para guardar los cambios.
Nota
EndpointManager le solicitará que permita los privilegios elevados en el archivo hosts.
El equipo de desarrollo se conecta al clúster.
En la barra de estado se muestra que está conectado al servicio database-api.
Pruebe a escribir tareas y marcarlas como completas.
Seleccione Depurar>Detener depuración para detener la depuración.
Puede usar un acceso directo para esta acción (Mayús+F5) o el botón Detener depuración de la barra de herramientas.
Bridge to Kubernetes redirige todo el tráfico para el servicio database-api.
Redirige a la versión de la aplicación en el equipo de desarrollo.
Puente a Kubernetes también enruta todo el tráfico saliente desde la aplicación al clúster de Kubernetes.
Nota
De forma predeterminada, al detener la tarea de depuración también se desconecta el equipo de desarrollo del clúster de Kubernetes.
Para cambiar este comportamiento, seleccione Herramientas>Opciones y, luego, Herramientas de depuración de Kubernetes.
Establezca Disconnect After Debugging (Desconectar después de la depuración) en Falso.
Una vez que se actualice esta configuración, el equipo de desarrollo permanecerá conectado cuando se detenga y se inicie la depuración.
Para desconectar el equipo de desarrollo del clúster, haga clic en el botón Desconectar de la barra de herramientas.
Establecer un punto de interrupción
En esta sección, establecerá un punto de interrupción en el servicio.
En el Explorador de soluciones, seleccione MongoHelper.cs para abrir el archivo en el editor.
Si no ve el Explorador de soluciones, seleccione Ver>Explorador de soluciones.
Coloque el cursor en la primera línea del cuerpo del método CreateTask.
Después, seleccione Depurar>Alternar punto de interrupción para establecer un punto de interrupción.
Un acceso directo para esta acción es F9.
Seleccione el botón de inicio situado junto a Bridge to Kubernetes, como hizo en la sección anterior.
La depuración se inicia con los valores que especificó anteriormente.
En el explorador que se abre, escriba un valor en las tareas pendientes y seleccione Entrar.
El código alcanza el punto de interrupción que ha especificado.
Al realizar tareas de depuración reales, puede usar las opciones de depuración para recorrer el código.
Seleccione Depurar>Detener depuración para detener la depuración.
Para quitar el punto de interrupción, seleccione esa línea y, luego, seleccione Depurar>Alternar punto de interrupción o presione F9.
Edición de perfil de inicio
Si necesita cambiar cómo se conecta Bridge to Kubernetes al clúster, en esta sección editará la configuración del perfil de inicio.
Haga clic en la flecha situada junto al botón Bridge to Kubernetes y, a continuación, haga clic en Propiedades de depuración de databaseApi.
Haga clic en el vínculo Editar perfil para Bridge to Kubernetes en el cuadro de diálogo Perfiles de inicio.
Limpieza de recursos
Si ha usado la aplicación de tareas pendientes de ejemplo para este tutorial, puede quitarla del clúster mediante Azure Portal.
Si ha clonado ese repositorio localmente, puede eliminarlo manualmente.
Aprendizaje práctico de cómo implementar y depurar de manera remota aplicaciones de ASP.NET Core en Azure App Service directamente mediante Visual Studio 2022.
Cree soluciones de un extremo a otro en Microsoft Azure para crear Azure Functions, implementar y administrar aplicaciones web, desarrollar soluciones que usen Azure Storage, etc.