Partilhar via


Tutorial: Executar e depurar localmente com o Bridge to Kubernetes no Visual Studio

Observação

Bridge to Kubernetes será aposentado em 30 de abril de 2025. Para obter detalhes sobre a descontinuação e as alternativas de código aberto, consulte a issue no GitHub.

Neste tutorial, você aprenderá como redirecionar o tráfego entre o cluster do Kubernetes e o computador de desenvolvimento. Este tutorial usa o Bridge to Kubernetes e o Visual Studio para depurar um serviço. Para usar o Visual Studio Code, consulte Executar e depurar localmente com o Bridge to Kubernetes com o VS Code.

Para saber mais sobre o Bridge to Kubernetes, consulte Como funciona o Bridge to Kubernetes.

Neste tutorial, você aprenderá a:

  • Conecte-se ao cluster com o Bridge to Kubernetes.
  • Encaminhe solicitações para um serviço em execução local para fins de desenvolvimento.
  • Depure um serviço em execução em sua máquina local.

Pré-requisitos

Configurar um serviço

Este tutorial usa o Bridge to Kubernetes para trabalhar com um aplicativo de exemplo todo simples em qualquer cluster Kubernetes.

O aplicativo de exemplo tem um frontend para interagir e um back-end que fornece armazenamento persistente.

  1. Abra uma janela Bash e verifique se o cluster está disponível e pronto. Em seguida, defina o contexto para esse cluster.

    kubectl cluster-info
    kubectl config use-context <kubernetes-cluster>
    
  2. Clone o repositório de amostra.

    git clone https://github.com/hsubramanianaks/b2k-samples
    
  3. Altere o diretório para todo-app e, em seguida, crie um namespace para o exemplo.

    kubectl create namespace todo-app
    
  4. Aplique o manifesto de implantação:

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

    Essa implantação simples expõe o frontend usando um serviço do tipo LoadBalancer. Aguarde que todos os pods estejam em execução e que o IP externo do serviço frontend fique disponível.

    Se você estiver testando com o MiniKube, use minikube tunnel para resolver um IP externo. Se você estiver usando o AKS ou outro provedor Kubernetes baseado em nuvem, um IP externo será atribuído automaticamente.

  5. Use o seguinte comando para monitorar o serviço frontend para aguardar até que ele esteja instalado e funcionando:

    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
    

Conectar-se ao cluster

  1. Abra o Visual Studio. Na janela Começar, selecione Continuar sem código.

  2. Selecione Abrir>Projeto/Soluçãoe, em seguida, localize o projeto todo-app\database-api\databaseApi.csproj e selecione Abrir.

  3. No projeto, selecione Bridge to Kubernetes nas configurações de inicialização, conforme mostrado aqui:

    Captura de ecrã mostra as ferramentas de depuração com o Bridge to Kubernetes selecionado.

  4. Selecione o botão Iniciar ao lado de Bridge to Kubernetes. Na caixa de diálogo Criar perfil para Bridge to Kubernetes, insira os seguintes valores:

    • Selecione o nome do cluster.
    • Selecione todo-app para o seu namespace.
    • Selecione database-api para o Service redirecionar.
    • Selecione o mesmo URL que utilizou anteriormente para iniciar o navegador.

    Captura de tela mostra a caixa de diálogo Criar perfil para Bridge to Kubernetes com os valores inseridos.

  5. Se quiser executar isolado, selecione Ativar isolamento de roteamento. Se você habilitar o isolamento de roteamento, outras pessoas que estiverem usando o cluster não serão afetadas por suas alterações. O modo de isolamento direciona as suas solicitações para a sua cópia de cada serviço afetado. Ele encaminha outros tráfegos normalmente. Para obter mais informações, consulte Como funciona o Bridge to Kubernetes.

  6. Selecione Guardar e depurar para guardar as alterações.

    Captura de tela mostra o serviço todo exibido a partir da sua depuração, com uma caixa de entrada para tarefas.

    Observação

    O EndpointManager solicita que permita privilégios elevados no seu ficheiro hosts.

    Seu computador de desenvolvimento se conecta ao cluster. A barra de status mostra que você está conectado ao serviço database-api.

    Captura de tela mostra a barra de status que verifica se o computador de desenvolvimento está conectado.

  7. Tente inserir tarefas e marcá-las como concluídas.

  8. Selecione Depurar>Parar a Depuração para parar a depuração. Um atalho para essa ação é Shift+F5 ou usar o botão Parar Depuração na barra de ferramentas.

O Bridge to Kubernetes redireciona todo o tráfego para o serviço de database-api do . Ele redireciona para a versão do seu aplicativo no seu computador de desenvolvimento. O Bridge to Kubernetes também roteia todo o tráfego de saída do aplicativo de volta para o cluster do Kubernetes.

Observação

Por padrão, parar a tarefa de depuração também desconecta o computador de desenvolvimento do cluster do Kubernetes. Para alterar esse comportamento, selecione Ferramentas>Opçõese, em seguida, selecione Ferramentas de Depuração Kubernetes. Defina Desconectar após a depuração como Falso.

Captura de tela mostra o valor Desconectar após depuração nas Ferramentas de Depuração do Kubernetes.

Depois de atualizar essa configuração, o computador de desenvolvimento permanecerá conectado quando você parar e iniciar a depuração. Para desconectar o computador de desenvolvimento do cluster, clique no botão Desconectar na barra de ferramentas.

Definir um ponto de interrupção

Nesta seção, você define um ponto de interrupção em seu serviço.

  1. No Gerenciador de Soluções , selecione MongoHelper.cs para abrir o arquivo no editor. Se não vir o Gerenciador de Soluções, selecione Exibir>Gerenciador de Soluções.

  2. Defina o cursor na primeira linha do corpo do método CreateTask. Em seguida, selecione Depurar>Alternar ponto de interrupção para definir um ponto de interrupção.

    Captura de tela mostra o método CreateTask com um ponto de interrupção definido na primeira linha.

    Um atalho para esta ação é F9.

  3. Selecione o botão Iniciar ao lado de Bridge to Kubernetes, como fez na seção anterior. A depuração começa com os valores inseridos anteriormente.

  4. No navegador que se abre, insira um valor no todos e selecione Enter. O código atinge o ponto de interrupção que você inseriu. Ao executar tarefas reais de depuração, você pode usar as opções de depuração para percorrer o código.

  5. Selecione Depurar>Parar a Depuração para parar a depuração.

  6. Para remover o ponto de interrupção, selecione essa linha e, em seguida, selecione Depurar>Alternar ponto de interrupção ou selecione F9.

Editar perfil de lançamento

Se precisar alterar a forma como o Bridge to Kubernetes se conecta ao cluster, nesta seção, você editará as configurações do perfil de inicialização.

  1. Na barra de comandos do Visual Studio, clique na seta ao lado do botão Iniciar (triângulo verde ou ícone "play") para abrir a lista suspensa, e em seguida, clique em databaseApi Debug Properties. A captura de ecrã mostra o menu suspenso Bridge to Kubernetes.

  2. Clique no link Editar perfil do Bridge to Kubernetes na caixa de diálogo Perfis de Lançamento. A captura de tela mostra a caixa de diálogo Perfis de Lançamento com um link para editar o perfil do Bridge to Kubernetes

Outra maneira de chegar a esta tela:

  1. Clique com o botão direito do mouse no nó do projeto no Gerenciador de Soluções e escolha Propriedades (ou pressione Alt+Enter).

  2. Desloque para baixo até Debuge selecione Abrir perfis de inicialização de depuração.

Limpar recursos

Se você usou o aplicativo todo de exemplo para este tutorial, poderá removê-lo do cluster usando o portal do Azure. Se você clonou esse repositório localmente, poderá excluí-lo manualmente.

Próximos passos

Saiba mais sobre o Bridge to Kubernetes em Como funciona o Bridge to Kubernetes.

Para saber como conectar seu computador de desenvolvimento a um cluster usando o Visual Studio Code, confira este artigo: