Compartir a través de


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

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.

  1. 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>
    
  2. Clone el repositorio de ejemplo.

    git clone https://github.com/hsubramanianaks/b2k-samples
    
  3. Cambie el directorio a todo-app y luego cree un espacio de nombres para el ejemplo.

    kubectl create namespace todo-app
    
  4. 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 servicio frontend 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.

  5. 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

  1. Abra Visual Studio. En la ventana Comenzar, seleccione Continuar sin código.

  2. Seleccione Abrir>Project/Solution (Proyecto/Solución), busque el proyecto todo-app\database-api\databaseApi.csproj y seleccione Abrir.

  3. En el proyecto, seleccione Bridge to Kubernetes en los ajustes de inicio, como se muestra aquí:

    Captura de pantalla en la que se muestran las herramientas de depuración con Bridge to Kubernetes seleccionado.

  4. 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.

    Captura de pantalla que muestra el cuadro de diálogo Crear perfil para Bridge to Kubernetes con los valores especificados.

  5. 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.

  6. Seleccione Guardar y depurar para guardar sus cambios.

    Captura de pantalla en la que se muestra el servicio de tareas pendientes que aparece tras la depuración, con un cuadro de entrada para las tareas.

    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.

    Captura de pantalla que muestra la barra de estado que comprueba que el equipo de desarrollo está conectado.

  7. Prueba introducir tareas y marcarlas como completadas.

  8. 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.

Captura de pantalla que muestra el valor

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.

  1. 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.

  2. 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.

    Captura de pantalla que muestra el método CreateTask con un punto de interrupción establecido en la primera línea.

    Un atajo para esta acción es F9.

  3. 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.

  4. 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.

  5. Seleccione Depurar>Detener depuración para detener la depuración.

  6. 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.

  1. 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. Captura de pantalla que muestra el menú desplegable Puente a Kubernetes.

  2. Haga clic en el vínculo Editar perfil para Bridge to Kubernetes en el cuadro de diálogo Perfiles de inicio. Captura de pantalla que muestra el cuadro de diálogo Perfiles de inicio con un vínculo para editar el perfil de Bridge to Kubernetes

Otra manera de llegar a esta pantalla:

  1. Haga clic con el botón derecho en el nodo del proyecto en el Explorador de soluciones y elija Propiedades (o presione Alt+Intro).

  2. 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: