Tutorial: Executar e depurar localmente com o Bridge to Kubernetes no Visual Studio
Nota
A Microsoft planeja não manter mais ativamente o projeto Bridge to Kubernetes. Nos próximos meses, faremos a transição do projeto para um estado de arquivamento. Enquanto isso, o projeto ainda está disponível para usar e baixar. Durante esse período, esperamos explorar e recomendar projetos de comunidade que ofereçam benefícios semelhantes ao Bridge to Kubernetes para seu uso futuro. Se você tiver dúvidas, entre em contato conosco em nosso quadro de problemas no GitHub.
Neste tutorial, você aprenderá a 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, confira Executar e depurar localmente com o Bridge to Kubernetes com o VS Code.
Para saber mais sobre o Bridge to Kubernetes, consulte How Bridge to Kubernetes works.
Neste tutorial, você aprenderá a:
- Conecte-se ao cluster com o Bridge para o Kubernetes.
- Encaminhe solicitações para um serviço em execução localmente para fins de desenvolvimento.
- Depure um serviço em execução no computador local.
Pré-requisitos
- Um cluster do Kubernetes. Você pode criar um no portal do Azure . Se você não tiver uma assinatura do Azure, poderá criar gratuitamente uma conta.
- O executável kubectl instalado em seu sistema.
- Visual Studio 2019 versão 16.7 ou posterior em execução no Windows 10 ou posterior ou Visual Studio 2022.
- A extensão Bridge to Kubernetes para Visual Studio 2019 ou a extensão Bridge to Kubernetes para Visual Studio 2022.
Configurar um serviço
Este tutorial usa o Bridge para Kubernetes para trabalhar com um aplicativo de exemplo todo simples em qualquer cluster do Kubernetes.
O aplicativo de exemplo tem um front-end para interagir e um back-end que fornece armazenamento persistente.
Abra uma janela do 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>
Clonar o repositório de exemplo.
git clone https://github.com/hsubramanianaks/b2k-samples
Altere o diretório para todo-app e, em seguida, crie um namespace para o exemplo.
kubectl create namespace todo-app
Aplique o manifesto de implantação:
kubectl apply -n todo-app -f deployment.yaml
Essa implantação simples expõe o front-end usando um serviço do tipo
LoadBalancer
. Aguarde até que todos os pods estejam em execução e que o IP externo do serviçofrontend
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 de Kubernetes baseado em nuvem, um IP externo será atribuído automaticamente.Use o seguinte comando para monitorar o serviço
frontend
para aguardar até que ele esteja em execução: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 seu cluster
Abra o Visual Studio. Na janela Introdução, selecione Continuar sem código.
Selecione Abrir>Projeto/Solução, encontre o projeto todo-app\database-api\databaseApi.csproj e selecione Abrir.
No projeto, selecione Ponte para Kubernetes nas configurações de inicialização, conforme mostrado aqui:
Selecione o botão Iniciar ao lado de Bridge to Kubernetes. Na caixa de diálogo Criar perfil para Ponte para Kubernetes, insira os seguintes valores:
- Selecione o nome do cluster.
- Selecione todo-app para seu namespace.
- Selecione database-api para o Serviço a ser redirecionado.
- Selecione a mesma URL usada anteriormente para iniciar seu navegador.
Se você desejar executar isoladamente, selecione Habilitar isolamento de roteamento. Se você habilitar o isolamento de roteamento, outras pessoas que estão usando o cluster não serão afetadas por suas alterações. O modo de isolamento roteia suas solicitações para a cópia de cada serviço afetado. Ele roteia outro tráfego normalmente. Para obter mais informações, consulte How Bridge to Kubernetes Works.
Selecione Salvar e depurar para salvar suas alterações.
Nota
EndpointManager solicita que você permita privilégios elevados ao arquivo de hosts.
Seu computador de desenvolvimento se conecta ao cluster. A barra de status mostra que você está conectado ao serviço
database-api
.Tente inserir tarefas e marcá-las como concluídas.
Selecione Depurar>Parar Depuração para interromper a depuração. Um atalho para essa ação é Shift+F5 ou use o botão Parar Depuração na barra de ferramentas.
A ponte para o Kubernetes redireciona todo o tráfego para o serviço database-api. O sistema 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.
Nota
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ções e, em seguida, selecione Ferramentas de Depuração do Kubernetes. Defina Desconectar após a Depuração como False.
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ê definirá um ponto de interrupção em seu serviço.
Em do Gerenciador de Soluções, selecione MongoHelper.cs para abrir o arquivo no editor. Se você não vir o Gerenciador de Soluções, selecione Exibir>Gerenciador de Soluções.
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.
Um atalho para essa ação é F9.
Selecione o botão Iniciar ao lado de Bridge to Kubernetes, como você fez na seção anterior. A depuração começa com os valores inseridos anteriormente.
No navegador que é aberto, insira um valor em todos e selecione Enter. O código atinge o ponto de interrupção que você inseriu. Ao realizar tarefas reais de depuração, você pode usar as opções de depuração para analisar o código passo a passo.
Selecione Depurar>Parar Depuração para interromper a depuração.
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 inicialização
Se você precisar alterar a forma como o Bridge to Kubernetes se conecta ao cluster, nesta seção, você edita as configurações de perfil de inicialização.
Na barra de comandos do Visual Studio, clique na seta ao lado do botão Iniciar (ícone de triângulo verde ou "reproduzir") para abrir a lista suspensa e, em seguida, clique em Propriedades de Depuração do databaseApi.
Clique no link Editar perfil de Bridge to Kubernetes na caixa de diálogo Perfis de Inicialização.
Outra maneira de chegar a esta tela:
Clique com o botão direito do mouse no nó do projeto no Gerenciador de Soluções e selecione Propriedades (ou pressione Alt+Enter).
Role para baixo até Depuração e escolha Abrir interface do usuário dos 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óximas etapas
Saiba mais sobre Bridge to Kubernetes em Como o Bridge to Kubernetes funciona.
Para saber como conectar seu computador de desenvolvimento a um cluster usando o Visual Studio Code, confira este artigo: