Tutorial: Ejecución y depuración local con Bridge to Kubernetes en Visual Studio
Nota
Bridge to Kubernetes se retirará el 30 de abril de 2025. Para obtener más información sobre las alternativas de retirada y código abierto, consulte el problema de GitHub.
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.
Para más información sobre Bridge to Kubernetes, consulte Funcionamiento de Bridge to Kubernetes.
En este tutorial, aprenderá a:
- Conéctese al clúster con Bridge to Kubernetes(Puente a Kubernetes).
- Enrutar las solicitudes a un servicio que se ejecuta localmente con fines de desarrollo
- Depurar un servicio en ejecución en el equipo local.
Prerrequisitos
- Un clúster de Kubernetes. Puede crear uno en Azure Portal. Si no tiene una suscripción de Azure, puede crear una cuenta de forma gratuita.
- El ejecutable kubectl está instalado en tu sistema.
- Visual Studio 2019, versión 16.7 o posterior ejecutándose en Windows 10 o versiones posteriores o Visual Studio 2022.
- Extensión Bridge to Kubernetes para Visual Studio 2019 o Extensión Bridge to Kubernetes para Visual Studio 2022.
Configuración de un servicio
En este tutorial se usa Bridge to Kubernetes para trabajar con una aplicación simple de tareas pendientes en cualquier clúster de Kubernetes.
La aplicación de ejemplo tiene un front-end para interactuar y un back-end que proporciona almacenamiento persistente.
Abra una ventana de Bash y compruebe que el clúster está disponible y listo. A continuación, establezca el contexto en ese clúster.
kubectl cluster-info kubectl config use-context <kubernetes-cluster>
Clone el repositorio de ejemplo.
git clone https://github.com/hsubramanianaks/b2k-samples
Cambie el directorio a todo-app y luego 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 todos los pods se ejecuten y que la dirección IP externa del serviciofrontend
esté disponible.Si está probando 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
para esperar 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 todo-app\database-api\databaseApi.csproj y seleccione Abrir.
En el proyecto, seleccione Bridge to Kubernetes en los ajustes de inicio, como se muestra aquí:
Seleccione el botón iniciar situado junto a Bridge to Kubernetes. En el cuadro de diálogo 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 desea ejecutarlo de forma aislada, seleccione Habilitar aislamiento de enrutamiento. Si habilita el aislamiento de enrutamiento, otros usuarios que usan el clúster no se ven afectados por los cambios. 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 Cómo funciona Bridge to Kubernetes.
Seleccione Guardar y depurar para guardar sus cambios.
Nota
EndpointManager le solicitará que permita los privilegios elevados en el archivo hosts.
Tu ordenador de desarrollo se conecta al clúster. La barra de estado muestra que está conectado al servicio
database-api
.Prueba introducir tareas y marcarlas como completadas.
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 del servicio de API de base de datos . Redirige a la versión de la aplicación en el equipo de desarrollo. Bridge to Kubernetes también enruta todo el tráfico saliente de la aplicación a su clúster de Kubernetes.
Nota
De forma predeterminada, detener la tarea de depuración también 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, configure un punto de interrupción en su servicio.
En 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.
Establezca 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 atajo para esta acción es F9.
Seleccione el botón Iniciar situado junto a Puente a Kubernetes, como hizo en la sección anterior. La depuración comienza con los valores especificados 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 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.
Editar perfil de inicio
Si necesita cambiar cómo Bridge to Kubernetes se conecta al clúster, en esta sección, editará la configuración del perfil de inicio.
En la barra de comandos de Visual Studio, haga clic en la flecha situada junto al botón de inicio (triángulo verde o icono de reproducción) para abrir la lista desplegable 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.
Otra manera de llegar a esta pantalla:
Haga clic con el botón derecho en el nodo del proyecto en el Explorador de soluciones y elija Propiedades (o presione Alt+Intro).
Desplácese hacia abajo hasta Depurary elija Abrir la interfaz de usuario de perfiles de lanzamiento de depuración.
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.
Pasos siguientes
Descubra más sobre Bridge to Kubernetes en Cómo funciona Bridge to Kubernetes.
Para obtener información sobre cómo conectar el equipo de desarrollo a un clúster mediante Visual Studio Code, consulte este artículo: