Samouczek: uruchamianie i debugowanie lokalnie przy użyciu narzędzia Bridge to Kubernetes w programie Visual Studio

Z tego samouczka dowiesz się, jak przekierowywać ruch między klastrem Kubernetes i komputerem dewelopera. W tym samouczku do debugowania usługi jest używany program Bridge to Kubernetes i Visual Studio. Aby użyć programu Visual Studio Code, zobacz Run and debug locally with Bridge to Kubernetes with VS Code (Uruchamianie i debugowanie lokalnie za pomocą narzędzia Bridge to Kubernetes z programem VS Code).

Aby dowiedzieć się więcej o rozwiązaniu Bridge to Kubernetes, zobacz How Bridge to Kubernetes works (Jak działa most na platformie Kubernetes).

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Połączenie do klastra za pomocą rozwiązania Bridge to Kubernetes.
  • Kierowanie żądań do lokalnie uruchomionej usługi na potrzeby programowania.
  • Debugowanie uruchomionej usługi na komputerze lokalnym.

Wymagania wstępne

Konfigurowanie usługi

W tym samouczku użyto rozwiązania Bridge to Kubernetes do pracy z prostą przykładową aplikacją do wykonania w dowolnym klastrze Kubernetes.

Przykładowa aplikacja ma fronton do interakcji i zaplecza, który zapewnia magazyn trwały.

  1. Otwórz okno powłoki Bash i sprawdź, czy klaster jest dostępny i gotowy. Następnie ustaw kontekst na ten klaster.

    kubectl cluster-info
    kubectl config use-context <kubernetes-cluster>
    
  2. Sklonuj przykładowe repozytorium.

    git clone https://github.com/Azure/Bridge-To-Kubernetes
    
  3. Zmień katalog na samples/todo-app , a następnie utwórz przestrzeń nazw dla przykładu.

    kubectl create namespace todo-app
    
  4. Zastosuj manifest wdrożenia:

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

    To proste wdrożenie uwidacznia fronton przy użyciu usługi typu LoadBalancer. Poczekaj, aż wszystkie zasobniki będą uruchomione, a zewnętrzny adres IP frontend usługi stanie się dostępny.

    Jeśli testujesz za pomocą aplikacji MiniKube, użyj polecenia minikube tunnel , aby rozpoznać zewnętrzny adres IP. Jeśli używasz usługi AKS lub innego dostawcy kubernetes opartego na chmurze, zewnętrzny adres IP jest przypisywany automatycznie.

  5. Użyj następującego polecenia, aby monitorować usługę frontend , aby zaczekać na jej uruchomienie:

    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
    

Połączenie do klastra

  1. Otwórz program Visual Studio. W oknie Wprowadzenie wybierz pozycję Kontynuuj bez kodu.

  2. Wybierz pozycję Otwórz>projekt/rozwiązanie, a następnie znajdź projekt samples\todo-app\database-api\databaseApi.csproj i wybierz pozycję Otwórz.

  3. W projekcie wybierz pozycję Bridge to Kubernetes z ustawień uruchamiania, jak pokazano poniżej:

    Screenshot shows debugging tools with Bridge to Kubernetes selected.

  4. Wybierz przycisk Start obok pozycji Mostek do platformy Kubernetes. W oknie dialogowym Tworzenie profilu bridge to Kubernetes wprowadź następujące wartości:

    • Wybierz nazwę klastra.
    • Wybierz pozycję todo-app dla swojej przestrzeni nazw.
    • Wybierz pozycję database-api dla usługi , aby przekierować.
    • Wybierz ten sam adres URL, który został wcześniej użyty do uruchomienia przeglądarki.

    Screenshot shows the Create profile for Bridge to Kubernetes dialog box with the values entered.

  5. Jeśli chcesz uruchomić izolację, wybierz pozycję Włącz izolację routingu. Jeśli włączysz izolację routingu, zmiany nie mają wpływu na inne osoby korzystające z klastra. Tryb izolacji kieruje żądania do kopii każdej usługi, której dotyczy problem. Kieruje on inny ruch normalnie. Aby uzyskać więcej informacji, zobacz How Bridge to Kubernetes Works (Jak działa mostek do platformy Kubernetes).

  6. Wybierz pozycję Zapisz i debuguj , aby zapisać zmiany.

    Screenshot shows the todo service displayed from your debugging, with an entry box for tasks.

    Uwaga

    Menedżer punktów końcowych wyświetla monit o zezwolenie na uprawnienia z podwyższonym poziomem uprawnień do pliku hostów .

    Komputer deweloperów łączy się z klastrem. Pasek stanu pokazuje, że masz połączenie z usługą database-api .

    Screenshot shows the status bar that verifies that your development computer is connected.

  7. Spróbuj wprowadzić zadania i oznacz je jako ukończone.

  8. Wybierz pozycję Debuguj Zatrzymaj>debugowanie, aby zatrzymać debugowanie. Skrótem do tej akcji jest Shift+F5 lub użyj przycisku Zatrzymaj debugowanie na pasku narzędzi.

Mostek do platformy Kubernetes przekierowuje cały ruch dla usługi database-api . Nastąpi przekierowanie do wersji aplikacji na komputerze dewelopera. Mostek do platformy Kubernetes kieruje również cały ruch wychodzący z aplikacji z powrotem do klastra Kubernetes.

Uwaga

Domyślnie zatrzymanie zadania debugowania również rozłącza komputer deweloperów z klastra Kubernetes. Aby zmienić to zachowanie, wybierz pozycję Narzędzia>Opcje, a następnie wybierz pozycję Narzędzia debugowania Kubernetes. Ustaw wartość Rozłącz po debugowaniu na false.

Screenshot shows the Disconnect After Debugging value in the Kubernetes Debugging Tools.

Po zaktualizowaniu tego ustawienia komputer deweloperzy pozostaje połączony po zatrzymaniu i rozpoczęciu debugowania. Aby odłączyć komputer deweloperów od klastra, kliknij przycisk Rozłącz na pasku narzędzi.

Ustawianie punktu przerwania

W tej sekcji ustawisz punkt przerwania w usłudze.

  1. W Eksplorator rozwiązań wybierz pozycję MongoHelper.cs, aby otworzyć plik w edytorze. Jeśli nie widzisz Eksplorator rozwiązań, wybierz pozycję Widok> Eksplorator rozwiązań.

  2. Ustaw kursor w pierwszym wierszu treści metody CreateTask . Następnie wybierz pozycję Debuguj>przełącz punkt przerwania, aby ustawić punkt przerwania.

    Screenshot shows the CreateTask method with a breakpoint set in the first line.

    Skrótem do tej akcji jest F9.

  3. Wybierz przycisk Start obok pozycji Mostek do platformy Kubernetes, tak jak w poprzedniej sekcji. Debugowanie rozpoczyna się od wprowadzonych wcześniej wartości.

  4. W przeglądarce, która zostanie otwarta, wprowadź wartość w todos i wybierz klawisz Enter. Kod dociera do wprowadzonego punktu przerwania. Podczas wykonywania rzeczywistych zadań debugowania można użyć opcji debugowania, aby przejść przez kod.

  5. Wybierz pozycję Debuguj Zatrzymaj>debugowanie, aby zatrzymać debugowanie.

  6. Aby usunąć punkt przerwania, wybierz ten wiersz, a następnie wybierz pozycję Debuguj>przełącz punkt przerwania lub wybierz klawisz F9.

Edytowanie profilu uruchamiania

Jeśli musisz zmienić sposób łączenia rozwiązania Bridge to Kubernetes z klastrem, w tej sekcji edytujesz ustawienia profilu uruchamiania.

  1. Kliknij strzałkę obok przycisku Mostek do platformy Kubernetes , a następnie kliknij pozycję databaseApi Debug Properties (Właściwości debugowania bazy danychApi). Screenshot shows the Bridge to Kubernetes drop down menu.

  2. Kliknij link Edytuj profil bridge to Kubernetes w oknie dialogowym Uruchamianie profilów. Screenshot shows Launch Profiles dialog with a link to edit the Bridge to Kubernetes profile

Czyszczenie zasobów

Jeśli na potrzeby tego samouczka użyto przykładowej aplikacji do wykonania, możesz usunąć ją z klastra przy użyciu witryny Azure Portal. Jeśli sklonujesz to repozytorium lokalnie, możesz usunąć je ręcznie.

Następne kroki

Dowiedz się więcej o rozwiązaniu Bridge to Kubernetes na stronie How Bridge to Kubernetes works (Jak działa most na platformie Kubernetes).

Aby uzyskać informacje na temat obsługiwanych funkcji i planu działania dla rozwiązania Bridge to Kubernetes, zobacz Przewodnik po mostku na platformę Kubernetes.

Aby dowiedzieć się, jak połączyć komputer dewelopera z klastrem przy użyciu programu Visual Studio Code, zapoznaj się z tym artykułem: