Szybki start: wdrażanie aplikacji mikrousług w usłudze Azure Spring Apps
Artykuł
Uwaga
Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
W tym artykule wyjaśniono, jak wdrożyć aplikacje mikrousług w usłudze Azure Spring Apps przy użyciu dobrze znanej przykładowej aplikacji PetClinic.
Przykład Pet Clinic demonstruje wzorzec architektury mikrousług. Na poniższym diagramie przedstawiono architekturę aplikacji PetClinic w planie Azure Spring Apps Enterprise.
Na diagramie przedstawiono następujące przepływy architektury i relacje przykładu Pet Clinic:
Używa usługi Azure Spring Apps do zarządzania aplikacjami frontonu i zaplecza. Aplikacje zaplecza są tworzone przy użyciu platformy Spring Boot, a każda aplikacja używa bazy danych HSQLDB jako magazynu trwałego. Przeforsowana aplikacja frontonu opiera się na aplikacji interfejsu API Usługi PET Clinic z Node.js służącą jako autonomiczna aplikacja internetowa frontonu.
Używa składników zarządzanych w usłudze Azure Spring Apps, w tym usługi Service Registry, Application Configuration Service, Spring Cloud Gateway i Application Live View. Usługa konfiguracji aplikacji odczytuje konfigurację repozytorium Git.
Uwidacznia adres URL usługi Spring Cloud Gateway w celu kierowania żądań do aplikacji usługi zaplecza i uwidacznia adres URL widoku aplikacji na żywo w celu monitorowania aplikacji zaplecza.
Analizuje dzienniki przy użyciu obszaru roboczego usługi Log Analytics.
Monitoruje wydajność za pomocą usługi Application Insights.
Uwaga
W tym artykule użyto uproszczonej wersji narzędzia PetClinic przy użyciu bazy danych w pamięci, która nie jest gotowa do szybkiego wdrożenia w usłudze Azure Spring Apps.
Narzędzia Tanzu Developer Tools uwidacznia publiczny dostęp do usługi Application Live View, co jest punktem ryzyka. Środowisko produkcyjne musi zabezpieczyć dostęp. Aby uzyskać więcej informacji, zobacz sekcję Configure Dev Tools Portal (Konfigurowanie portalu narzędzi deweloperskich Tanzu) w planie Azure Spring Apps Enterprise.
Przykład Pet Clinic demonstruje wzorzec architektury mikrousług. Na poniższym diagramie przedstawiono architekturę aplikacji PetClinic w planie Usługi Azure Spring Apps w warstwie Standardowa.
Na diagramie przedstawiono następujące przepływy architektury i relacje przykładu Pet Clinic:
Używa usługi Azure Spring Apps do zarządzania aplikacjami Spring Boot. Każda aplikacja używa bazy danych HSQLDB jako magazynu trwałego.
Używa zarządzanych składników Spring Cloud Config Server i Eureka Service Registry w usłudze Azure Spring Apps. Serwer konfiguracji odczytuje konfigurację repozytorium Git.
Uwidacznia adres URL bramy interfejsu API w celu równoważenia obciążenia żądań aplikacji usługi i uwidacznia adres URL serwera administracyjnego do zarządzania aplikacjami.
Analizuje dzienniki przy użyciu obszaru roboczego usługi Log Analytics.
Monitoruje wydajność za pomocą usługi Application Insights.
Uwaga
W tym artykule użyto uproszczonej wersji narzędzia PetClinic przy użyciu bazy danych w pamięci, która nie jest gotowa do szybkiego wdrożenia w usłudze Azure Spring Apps.
Wdrożona aplikacja admin-server uwidacznia publiczny dostęp, co jest punktem ryzyka. Środowisko produkcyjne musi zabezpieczyć aplikację administratora platformy Spring Boot.
Ten artykuł zawiera następujące opcje wdrażania w usłudze Azure Spring Apps:
Opcja witryny Azure Portal jest najprostszym i najszybszym sposobem tworzenia zasobów i wdrażania aplikacji za pomocą jednego kliknięcia. Ta opcja jest odpowiednia dla deweloperów platformy Spring, którzy chcą szybko wdrażać aplikacje w usługach w chmurze platformy Azure.
Opcja wtyczki Azure Portal + Maven to bardziej konwencjonalny sposób tworzenia zasobów i wdrażania aplikacji krok po kroku. Ta opcja jest odpowiednia dla deweloperów platformy Spring korzystających z usług w chmurze platformy Azure po raz pierwszy.
Opcja interfejsu wiersza polecenia platformy Azure używa zaawansowanego narzędzia wiersza polecenia do zarządzania zasobami platformy Azure. Ta opcja jest odpowiednia dla deweloperów platformy Spring, którzy znają usługi w chmurze platformy Azure.
Opcja wtyczki Azure Portal + Maven to bardziej konwencjonalny sposób tworzenia zasobów i wdrażania aplikacji krok po kroku. Ta opcja jest odpowiednia dla deweloperów platformy Spring korzystających z usług w chmurze platformy Azure po raz pierwszy.
Opcja interfejsu wiersza polecenia dla deweloperów platformy Azure to bardziej wydajny sposób automatycznego tworzenia zasobów i wdrażania aplikacji za pomocą prostych poleceń. Interfejs wiersza polecenia dewelopera platformy Azure używa szablonu do aprowizowania potrzebnych zasobów platformy Azure i wdrażania kodu aplikacji. Ta opcja jest odpowiednia dla deweloperów platformy Spring, którzy znają usługi w chmurze platformy Azure.
Subskrypcja Azure. Jeśli nie masz subskrypcji, przed rozpoczęciem utwórz bezpłatne konto .
Jeśli wdrażasz wystąpienie planu Usługi Azure Spring Apps Enterprise po raz pierwszy w subskrypcji docelowej, zobacz sekcję Wymagania planu przedsiębiorstwa w witrynie Azure Marketplace.
Subskrypcja Azure. Jeśli nie masz subskrypcji, przed rozpoczęciem utwórz bezpłatne konto .
Jeśli wdrażasz wystąpienie planu Usługi Azure Spring Apps Enterprise po raz pierwszy w subskrypcji docelowej, zobacz sekcję Wymagania planu przedsiębiorstwa w witrynie Azure Marketplace.
Subskrypcja Azure. Jeśli nie masz subskrypcji, przed rozpoczęciem utwórz bezpłatne konto .
Jeśli wdrażasz wystąpienie planu Usługi Azure Spring Apps Enterprise po raz pierwszy w subskrypcji docelowej, zobacz sekcję Wymagania planu przedsiębiorstwa w witrynie Azure Marketplace.
Na poniższej liście opisano interakcję z poleceniem:
Wprowadź nową nazwę środowiska: podaj nazwę środowiska, która jest używana jako sufiks dla grupy zasobów utworzonej do przechowywania wszystkich zasobów platformy Azure. Ta nazwa powinna być unikatowa w ramach subskrypcji platformy Azure.
Konsola generuje komunikaty podobne do następującego przykładu:
Initializing a new project (azd init)
Downloading template code to: <your-local-path>
(✓) Done: Initialized git repository
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Przygotowanie środowiska chmury
W tej sekcji opisano sposób tworzenia wystąpienia usługi Azure Spring Apps i przygotowywania środowiska chmury platformy Azure.
Przejdź do witryny Azure Portal, wprowadź swoje poświadczenia i zaloguj się do portalu. Widok domyślny to pulpit nawigacyjny usług.
3.2. Tworzenie wystąpienia usługi Azure Spring Apps
Aby utworzyć wystąpienie usługi, wykonaj następujące czynności:
Wybierz pozycję Utwórz zasób w rogu witryny Azure Portal.
Na karcie Usługi platformy Azure wybierz pozycję Compute>Azure Spring Apps.
Na stronie Tworzenie usługi Azure Spring Apps wypełnij formularz na karcie Podstawy.
Poniższa tabela stanowi przewodnik po ukończeniu formularza. Zalecany plan to Standardowa.
Ustawienie
Sugerowana wartość
opis
Subskrypcja
Nazwa subskrypcji.
Subskrypcja platformy Azure, która ma być używana dla serwera. Jeśli masz wiele subskrypcji, wybierz subskrypcję, dla której chcesz być rozliczany za zasób.
Grupa zasobów:
myresourcegroup
Nowa nazwa grupy zasobów lub istniejąca nazwa z subskrypcji.
Nazwa/nazwisko
myasa
Unikatowa nazwa identyfikująca wystąpienie usługi Azure Spring Apps. Nazwa musi mieć długość od 4 do 32 znaków i może zawierać tylko małe litery, cyfry i łączniki. Pierwszy znak nazwy usługi musi być literą, a ostatni znak musi być literą lub cyfrą.
Planowanie
Standardowa
Plan cenowy określa zasoby i koszty skojarzone z wystąpieniem.
Region
Region najbliżej Twoich użytkowników.
Lokalizacja znajdująca się najbliżej użytkowników.
Strefowo nadmiarowy
Niezaznaczone
Tworzy usługę Azure Spring Apps w strefie dostępności platformy Azure. Obecnie nieobsługiwane we wszystkich regionach.
Przejdź do karty Ustawienia diagnostyczne na stronie Tworzenie usługi Azure Spring Apps , a następnie wybierz pozycję Utwórz nowe , aby utworzyć nowe wystąpienie obszarów roboczych usługi Log Analytics. Na stronie Tworzenie nowego obszaru roboczego usługi Log Analytics zaktualizuj nazwę obszaru roboczego usługi Log Analytics zgodnie z potrzebami, a następnie wybierz przycisk OK, aby potwierdzić utworzenie.
Przejdź do karty Application Insights na stronie Tworzenie usługi Azure Spring Apps , a następnie wybierz pozycję Utwórz nowe , aby utworzyć nowe wystąpienie usługi Application Insights. Na stronie Tworzenie nowego zasobu usługi Application Insights zaktualizuj nazwę usługi Application Insights zgodnie z potrzebami, wybierz pozycję Obszar roboczy oparty natrybie zasobu, a następnie wybierz przycisk OK, aby potwierdzić utworzenie.
Wybierz pozycję Przejrzyj i Utwórz , aby przejrzeć wybrane opcje. Następnie wybierz pozycję Utwórz , aby aprowizować wystąpienie usługi Azure Spring Apps.
Wybierz ikonę Powiadomienia (dzwonek), aby monitorować proces wdrażania. Po zakończeniu wdrażania możesz wybrać pozycję Przypnij do pulpitu nawigacyjnego, aby utworzyć skrót na pulpicie nawigacyjnym witryny Azure Portal na stronie Przegląd usługi.
Wybierz pozycję Przejdź do zasobu , aby przejść do strony Przegląd usługi Azure Spring Apps.
Wybierz pozycję Serwer konfiguracji w okienku nawigacji.
Po weryfikacji wybierz pozycję Zastosuj , aby zakończyć konfigurację serwera konfiguracji.
Aby utworzyć wymagane zasoby, wykonaj następujące czynności:
Użyj następującego polecenia, aby zalogować się na platformie Azure przy użyciu protokołu OAuth2. Zignoruj ten krok, jeśli już się zalogowałeś.
azd auth login
Konsola generuje komunikaty podobne do następującego przykładu:
Logged in to Azure.
Użyj następującego polecenia, aby spakować wdrożalną kopię aplikacji, aprowizować infrastrukturę szablonu na platformie Azure, a następnie wdrożyć kod aplikacji w nowo aprowizowanych zasobach:
azd provision
Poniższa lista zawiera opis interakcji poleceń:
Wybierz subskrypcję platformy Azure do użycia: użyj strzałek, aby przenieść, wpisz, aby filtrować, a następnie naciśnij Enter.
Wybierz lokalizację platformy Azure do użycia: użyj strzałek do przeniesienia, wpisz w celu filtrowania, a następnie naciśnij Enter.
Konsola generuje komunikaty podobne do następującego przykładu:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Uwaga
Wykonanie tego polecenia może chwilę potrwać. Wyświetlany jest wskaźnik postępu aprowizuje zasoby platformy Azure.
4. Wdrażanie aplikacji w usłudze Azure Spring Apps
Teraz możesz wdrożyć aplikację w usłudze Azure Spring Apps.
Wybierz moduły podrzędne do skonfigurowania(numery wejściowe rozdzielone przecinkami, np. [1–2,4,6], WPROWADŹ, aby wybrać wszystko): Naciśnij Enter , aby zaznaczyć wszystko.
Logowanie OAuth2: autoryzuj logowanie do platformy Azure na podstawie protokołu OAuth2.
Wybierz subskrypcję: wybierz numer listy subskrypcji utworzonego wystąpienia usługi Azure Spring Apps, które jest domyślnie ustawione na pierwszą subskrypcję na liście. Jeśli używasz numeru domyślnego, naciśnij Enter bezpośrednio.
Wybierz pozycję Azure Spring Apps do wdrożenia: wybierz numer listy utworzonego wystąpienia usługi Azure Spring Apps. Jeśli używasz numeru domyślnego, naciśnij Enter bezpośrednio.
Wybierz aplikacje, aby uwidocznić dostęp publiczny:(numery wejściowe oddzielone przecinkami, np. [1–2,4,6], WPROWADŹ, aby wybrać opcję NONE): Wprowadź wartość 1,5 dla admin-server i api-gateway.
Potwierdź, aby zapisać wszystkie powyższe konfiguracje (Y/n): Naciśnij przycisk y. Jeśli naciśniesz n, konfiguracja nie zostanie zapisana w plikach POM.
Użyj następującego polecenia, aby skompilować i wdrożyć każdą aplikację:
./mvnw azure-spring-apps:deploy
W przypadku monitu logowania OAuth2 autoryzuj logowanie do platformy Azure na podstawie protokołu OAuth2.
Uwaga
Wdrażanie w usłudze Azure Spring Apps może potrwać do 25 minut.
Po uruchomieniu polecenia dziennik wyświetla dane wyjściowe podobne do poniższego przykładu, co wskazuje, że wszystkie wdrożenia zakończyły się pomyślnie:
[INFO] Deployment(default) is successfully updated.
[INFO] Deployment Status: Running
[INFO] InstanceName:admin-server-default-xx-xx-xxx Status:Running Reason:null DiscoverStatus:UP
[INFO] Getting public url of app(admin-server)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
...
[INFO] Getting public url of app(api-gateway)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
Wykonaj następujące kroki, aby spakować aplikację, aprowizować zasoby platformy Azure wymagane przez aplikację internetową, a następnie wdrożyć je w usłudze Azure Spring Apps:
Użyj następującego polecenia, aby spakować wdrożalną kopię aplikacji:
azd package
Konsola generuje komunikaty podobne do następującego przykładu:
SUCCESS: Your application was packaged for Azure in xx minutes xx seconds.
Użyj następującego polecenia, aby wdrożyć kod aplikacji w nowo zaaprowizowanych zasobach:
azd deploy
Konsola generuje komunikaty podobne do następującego przykładu:
Deploying services (azd deploy)
(✓) Done: Deploying service admin-server
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
(✓) Done: Deploying service api-gateway
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
(✓) Done: Deploying service customers-service
- No endpoints were found
(✓) Done: Deploying service vets-service
- No endpoints were found
(✓) Done: Deploying service visits-service
- No endpoints were found
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Uwaga
Możesz również użyć azd up polecenia , aby połączyć poprzednie trzy polecenia: azd package (pakuje wdrażaną kopię aplikacji), azd provision (aprowizuje zasoby platformy Azure) i azd deploy (wdraża kod aplikacji). Aby uzyskać więcej informacji, zobacz Azure-Samples/spring-petclinic-microservices.
Przycisk Wdróż na platformie Azure w następnej sekcji uruchamia środowisko witryny Azure Portal, które wdraża kod źródłowy z repozytorium Spring PetClinic . Nie są wymagane żadne lokalne kroki przygotowania.
Aby zweryfikować aplikację przed wdrożeniem jej w chmurze, wykonaj następujące kroki na komputerze lokalnym:
Użyj następującego polecenia, aby sklonować aplikację Pet Clinic z usługi GitHub:
Otwórz nowe okno powłoki Bash i przejdź do katalogu projektu spring-petclinic-frontend . Użyj następujących poleceń, aby zainstalować zależności i uruchomić aplikację frontonu:
npm install
npm run start
Po pomyślnym zakończeniu działania skryptu przejdź do http://localhost:8080 witryny w przeglądarce, aby uzyskać dostęp do aplikacji PetClinic.
Aby zweryfikować aplikację przed wdrożeniem jej w chmurze, wykonaj następujące kroki na komputerze lokalnym:
Użyj następującego polecenia, aby sklonować aplikację Pet Clinic z usługi GitHub:
Otwórz nowe okno powłoki Bash i przejdź do katalogu projektu spring-petclinic-frontend . Użyj następujących poleceń, aby zainstalować zależności i uruchomić aplikację frontonu:
npm install
npm run start
Po pomyślnym zakończeniu działania skryptu przejdź do http://localhost:8080 witryny w przeglądarce, aby uzyskać dostęp do aplikacji PetClinic.
3. Przygotowanie środowiska chmury
Głównym zasobem, który należy uruchomić w tym przykładzie, jest wystąpienie usługi Azure Spring Apps. W tej sekcji opisano sposób tworzenia tego zasobu.
W tej sekcji użyto przycisku Wdróż na platformie Azure , aby uruchomić środowisko wdrażania w witrynie Azure Portal. To środowisko używa szablonu usługi ARM do tworzenia zasobów platformy Azure.
3.1. Zaloguj się do witryny Azure Portal.
Przejdź do witryny Azure Portal, wprowadź swoje poświadczenia i zaloguj się do portalu. Widok domyślny to pulpit nawigacyjny usług.
3.2. Tworzenie zasobów platformy Azure
Wykonaj następujące kroki, aby utworzyć wszystkie zasoby platformy Azure, od których zależy aplikacja:
Wybierz następujący przycisk Wdróż na platformie Azure , aby uruchomić środowisko wdrażania w witrynie Azure Portal:
Wypełnij formularz na karcie Podstawy . Użyj poniższej tabeli jako przewodnika do ukończenia formularza:
Ustawienie
Sugerowana wartość
opis
Subskrypcja
Nazwa subskrypcji.
Subskrypcja platformy Azure, która ma być używana dla serwera. Jeśli masz wiele subskrypcji, wybierz subskrypcję, w której chcesz naliczać opłaty za zasób.
Grupa zasobów:
myresourcegroup
Nowa nazwa grupy zasobów lub istniejąca nazwa z subskrypcji.
Region
Region najbliżej Twoich użytkowników.
Region jest używany do tworzenia grupy zasobów.
Wybierz pozycję Przejrzyj i Utwórz , aby przejrzeć wybrane opcje. Następnie wybierz pozycję Utwórz , aby wdrożyć aplikację w usłudze Azure Spring Apps.
Na pasku narzędzi wybierz ikonę Powiadomienia (dzwonek), aby monitorować proces wdrażania. Po zakończeniu wdrażania możesz wybrać pozycję Przypnij do pulpitu nawigacyjnego, co spowoduje utworzenie kafelka dla tej usługi na pulpicie nawigacyjnym witryny Azure Portal jako skrótu do strony Przegląd usługi. Wybierz pozycję Przejdź do zasobu, aby otworzyć stronę Przegląd usługi.
3.1. Zaloguj się do witryny Azure Portal.
Przejdź do witryny Azure Portal i wprowadź swoje poświadczenia, aby zalogować się do portalu. Widok domyślny to pulpit nawigacyjny usług.
3.2. Tworzenie wystąpienia usługi Azure Spring Apps
Aby utworzyć wystąpienie usługi, wykonaj następujące czynności:
Wybierz pozycję Utwórz zasób w rogu witryny Azure Portal.
Wybierz pozycję Compute>Azure Spring Apps.
Wypełnij formularz na karcie Podstawy . Użyj poniższej tabeli jako przewodnika do ukończenia formularza:
Ustawienie
Sugerowana wartość
opis
Subskrypcja
Nazwa subskrypcji.
Subskrypcja platformy Azure, która ma być używana dla serwera. Jeśli masz wiele subskrypcji, wybierz subskrypcję, w której chcesz naliczać opłaty za zasób.
Grupa zasobów:
myresourcegroup
Nowa nazwa grupy zasobów lub istniejąca nazwa z subskrypcji.
Nazwa/nazwisko
myasa
Unikatowa nazwa identyfikująca usługę Azure Spring Apps. Nazwa musi mieć długość od 4 do 32 znaków i może zawierać tylko małe litery, cyfry i łączniki. Pierwszy znak nazwy usługi musi być literą, a ostatni znak musi być literą lub cyfrą.
Region
Region najbliżej Twoich użytkowników.
Lokalizacja znajdująca się najbliżej użytkowników.
Opcje hostingu i plany
Przedsiębiorstwo
Plan cenowy określający zasób i koszt skojarzony z wystąpieniem.
Strefowo nadmiarowy
Niezaznaczone
Opcja tworzenia usługi Azure Spring Apps w strefie dostępności platformy Azure. Ta funkcja nie jest obecnie obsługiwana we wszystkich regionach.
Plan adresów IP oprogramowania
Płatność zgodnie z rzeczywistym użyciem
Plan cenowy, który umożliwia płacenie zgodnie z rzeczywistym użyciem za pomocą usługi Azure Spring Apps.
Wdrażanie przykładowego projektu
Niezaznaczone
Opcja użycia wbudowanej przykładowej aplikacji.
Przejdź do karty Ustawienia diagnostyczne na stronie Tworzenie usługi Azure Spring Apps , a następnie wybierz pozycję Utwórz nowe , aby utworzyć nowe wystąpienie obszarów roboczych usługi Log Analytics. Na stronie Tworzenie nowego obszaru roboczego usługi Log Analytics zaktualizuj nazwę obszaru roboczego usługi Log Analytics zgodnie z potrzebami, a następnie wybierz przycisk OK, aby potwierdzić utworzenie.
Przejdź do karty Application Insights na stronie Tworzenie usługi Azure Spring Apps , a następnie wybierz pozycję Utwórz nowe , aby utworzyć nowe wystąpienie usługi Application Insights. Na stronie Tworzenie nowego zasobu usługi Application Insights zaktualizuj nazwę usługi Application Insights zgodnie z potrzebami, wybierz pozycję Obszar roboczy oparty natrybie zasobu, a następnie wybierz przycisk OK, aby potwierdzić utworzenie.
Wybierz pozycję Przejrzyj i Utwórz , aby przejrzeć wybrane opcje. Następnie wybierz pozycję Utwórz , aby aprowizować wystąpienie usługi Azure Spring Apps.
Wybierz ikonę Powiadomienia (dzwonek), aby monitorować proces wdrażania. Po zakończeniu wdrażania możesz wybrać pozycję Przypnij do pulpitu nawigacyjnego, aby utworzyć skrót na pulpicie nawigacyjnym witryny Azure Portal na stronie Przegląd usługi.
Wybierz pozycję Przejdź do zasobu , aby przejść do strony Przegląd usługi Azure Spring Apps.
3.3. Konfigurowanie wystąpienia usługi Azure Spring Apps
W poniższych sekcjach pokazano, jak skonfigurować wystąpienie usługi.
Tworzenie aplikacji
Aby utworzyć aplikacje, wykonaj następujące czynności:
W okienku nawigacji wybierz pozycję Aplikacje , a następnie wybierz pozycję Utwórz aplikację.
Na stronie Tworzenie aplikacji w polu Nazwa aplikacji użyj frontonu i pozostaw wszystkie pozostałe pola z ich wartościami domyślnymi.
Powtórz poprzedni krok przy użyciu każdej z następujących nazw aplikacji:
customers-service
vets-service
visits-service
Wybierz pozycję Utwórz , aby zakończyć tworzenie aplikacji.
Konfigurowanie rejestru usług
Aby skonfigurować rejestr usług, wykonaj następujące czynności:
W okienku nawigacji wybierz pozycję Rejestr usług.
Wybierz pozycję Powiązanie aplikacji, wybierz pozycję Powiązaj aplikację, wybierz customers-service z listy, a następnie wybierz pozycję Zastosuj.
Powtórz poprzedni krok, aby powiązać następujące aplikacje:
vets-service
visits-service
Konfigurowanie usługi konfiguracji aplikacji
Aby skonfigurować usługę konfiguracji aplikacji, wykonaj następujące kroki:
W okienku nawigacji wybierz pozycję Usługa konfiguracji aplikacji, a następnie wybierz pozycję Ustawienia.
Wypełnij repozytorium następującymi informacjami, a następnie wybierz pozycję Weryfikuj:
Po weryfikacji wybierz pozycję Zastosuj , aby zakończyć konfigurację usługi konfiguracji aplikacji.
Wybierz pozycję Powiązanie aplikacji, wybierz pozycję Powiązaj aplikację, wybierz customers-service z listy, a następnie wybierz pozycję Zastosuj.
Powtórz poprzedni krok, aby powiązać następujące aplikacje:
vets-service
visits-service
Ustawianie wzorców plików konfiguracji dla aplikacji
Aby ustawić wzorce plików konfiguracji, wykonaj następujące kroki:
W okienku nawigacji wybierz pozycję Aplikacje , a następnie wybierz aplikację customers-service .
Na stronie Przegląd aplikacji wybierz pozycję Konfiguracja, wybierz pozycję Wzorce plików konfiguracji na karcie Ustawienia ogólne, a następnie wybierz pozycję Aplikacja i customers-service. Wybierz pozycję Zapisz , aby ustawić wzorce plików konfiguracji.
Powtórz poprzedni krok, aby zapisać wzorce plików konfiguracji dla następujących aplikacji:
vets-service: wybierz pozycję Aplikacja i vets-service.
visits-service: wybierz pozycję Aplikacja i visits-service.
Konfigurowanie bramy Spring Cloud Gateway
W tej sekcji pokazano, jak skonfigurować bramę Spring Cloud Gateway.
Najpierw wykonaj następujące kroki, aby przypisać punkt końcowy dla dostępu do bramy:
W okienku nawigacji wybierz pozycję Spring Cloud Gateway.
Na karcie Przegląd wybierz pozycję Tak, aby przypisać punkt końcowy. Zapisz adres URL punktu końcowego do późniejszego użycia.
Następnie skonfiguruj routing dla usługi Spring Cloud Gateway. Ponieważ witryna Azure Portal nie obsługuje obecnie konfiguracji tras dla usługi Spring Cloud Gateway, otwórz okno powłoki Bash i wykonaj następujące kroki interfejsu wiersza polecenia platformy Azure, aby skonfigurować routing:
Użyj następującego polecenia, aby zalogować się do interfejsu wiersza polecenia platformy Azure:
az login
Użyj następujących poleceń, aby zainstalować rozszerzenie Azure Spring Apps dla interfejsu wiersza polecenia platformy Azure i zarejestrować przestrzeń nazw Microsoft.SaaS:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
Użyj następującego polecenia, aby zaakceptować warunki prawne i oświadczenia o ochronie prywatności:
Uwaga
Ten krok jest niezbędny tylko wtedy, gdy subskrypcja nigdy nie została użyta do utworzenia wystąpienia planu Enterprise usługi Azure Spring Apps.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Utwórz zmienne do przechowywania nazw zasobów przy użyciu następujących poleceń. Pamiętaj, aby zastąpić symbole zastępcze własnymi wartościami.
3.2. Logowanie się do interfejsu wiersza polecenia platformy Azure
Aby się zalogować, wykonaj następujące kroki:
Użyj następującego polecenia, aby zalogować się do interfejsu wiersza polecenia platformy Azure:
az login
Użyj następującego polecenia, aby wyświetlić listę wszystkich dostępnych subskrypcji, aby określić identyfikator subskrypcji do użycia:
az account list --output table
Użyj następującego polecenia, aby ustawić domyślną subskrypcję:
az account set --subscription <subscription-ID>
3.3. Tworzenie nowej grupy zasobów
Aby utworzyć nową grupę zasobów, wykonaj następujące czynności:
Użyj następującego polecenia, aby ustawić lokalizację domyślną:
az configure --defaults location=${LOCATION}
Użyj następującego polecenia, aby utworzyć grupę zasobów:
az group create --resource-group ${RESOURCE_GROUP}
Użyj następującego polecenia, aby ustawić nowo utworzoną grupę zasobów jako domyślną grupę zasobów:
az configure --defaults group=${RESOURCE_GROUP}
3.4. Instalowanie rozszerzenia i rejestrowanie przestrzeni nazw
Użyj następujących poleceń, aby zainstalować rozszerzenie Azure Spring Apps dla interfejsu wiersza polecenia platformy Azure i zarejestrować Microsoft.SaaS przestrzeń nazw:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
3.5. Tworzenie wystąpienia usługi Azure Spring Apps
Aby utworzyć wystąpienie usługi, wykonaj następujące czynności:
Użyj następującego polecenia, aby zaakceptować warunki prawne i oświadczenia o ochronie prywatności dla planu Enterprise:
Uwaga
Ten krok jest niezbędny tylko wtedy, gdy subskrypcja nigdy nie została użyta do utworzenia wystąpienia planu Enterprise usługi Azure Spring Apps.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Użyj następującego polecenia, aby utworzyć wystąpienie usługi Azure Spring Apps z niezbędnymi składnikami Tanzu:
az spring create \
--name ${SPRING_APPS} \
--sku Enterprise \
--enable-application-configuration-service \
--enable-service-registry \
--enable-gateway \
--enable-application-live-view
3.6. Konfigurowanie wystąpienia usługi Azure Spring Apps
Aby skonfigurować wystąpienie usługi, wykonaj następujące czynności:
Użyj następującego polecenia, aby skonfigurować ustawienia diagnostyczne dla wystąpienia usługi Azure Spring Apps:
Użyj następujących poleceń, aby utworzyć aplikacje dla wystąpienia usługi Azure Spring Apps:
az spring app create --service ${SPRING_APPS} --name ${APP_FRONTEND}
az spring app create --service ${SPRING_APPS} --name ${APP_CUSTOMERS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VETS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VISITS_SERVICE}
Użyj następujących poleceń, aby powiązać aplikacje dla rejestru usług:
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_CUSTOMERS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VETS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VISITS_SERVICE}
Użyj następującego polecenia, aby utworzyć repozytorium konfiguracji dla usługi Konfiguracji aplikacji:
Użyj następujących poleceń, aby powiązać aplikacje z usługą Application Configuration Service:
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_CUSTOMERS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VETS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VISITS_SERVICE}
Użyj następującego polecenia, aby przypisać punkt końcowy do usługi Spring Cloud Gateway:
az spring gateway update --service ${SPRING_APPS} --assign-endpoint
Użyj następującego polecenia, aby ustawić routing dla customers-service aplikacji:
Przycisk Wdróż na platformie Azure w poprzedniej sekcji uruchamia środowisko witryny Azure Portal, które obejmuje wdrażanie aplikacji, więc nic innego nie jest potrzebne.
Wybierz moduły podrzędne do skonfigurowania: naciśnij Enter , aby wybrać wszystko.
Wybierz subskrypcję: wybierz numer listy subskrypcji utworzonego wystąpienia usługi Azure Spring Apps, które jest domyślnie ustawione na pierwszą subskrypcję na liście. Jeśli używasz numeru domyślnego, naciśnij Enter bezpośrednio.
Użyj istniejących aplikacji Azure Spring Apps na platformie Azure: naciśnij y , aby użyć istniejącego wystąpienia usługi Azure Spring Apps.
Wybierz aplikacje, aby uwidocznić dostęp publiczny: naciśnij Enter , aby wybrać brak.
Potwierdź, aby zapisać wszystkie powyższe konfiguracje: naciśnij y. Jeśli naciśniesz n, konfiguracja nie zostanie zapisana w plikach POM.
Użyj następującego polecenia, aby wdrożyć aplikacje zaplecza:
./mvnw azure-spring-apps:deploy
Po uruchomieniu polecenia można zobaczyć z następujących komunikatów dziennika, że wdrożenie zakończyło się pomyślnie:
[INFO] Start deploying artifact(customers-service-3.0.1.jar) to deployment(default) of app(customers-service)...
[INFO] Artifact(customers-service-3.0.1.jar) is successfully deployed to deployment(default) of app(customers-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(vets-service-3.0.1.jar) to deployment(default) of app(vets-service)...
[INFO] Artifact(vets-service-3.0.1.jar) is successfully deployed to deployment(default) of app(vets-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(visits-service-3.0.1.jar) to deployment(default) of app(visits-service)...
[INFO] Artifact(visits-service-3.0.1.jar) is successfully deployed to deployment(default) of app(visits-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
Witryna Azure Portal nie obsługuje wdrażania aplikacji frontonu, dlatego użyj następującego polecenia interfejsu wiersza polecenia platformy Azure, aby wdrożyć aplikację frontonu:
az spring app deploy \
--resource-group ${RESOURCE_GROUP} \
--service ${SPRING_APPS_NAME} \
--name ${APP_FRONTEND} \
--source-path spring-petclinic-frontend \
--build-env BP_WEB_SERVER=nginx
Po uruchomieniu polecenia można zobaczyć z następujących komunikatów dziennika, że wdrożenie zakończyło się pomyślnie:
[5/5] Updating deployment in app "frontend" (this operation can take a while to complete)
Azure Spring Apps will use rolling upgrade to update your deployment, you have 1 instance, Azure Spring Apps will update the deployment in 1 round.
The deployment is in round 1, 1 old instance is deleted/deleting and 1 new instance is started/starting
Your application is successfully deployed.
Aby wdrożyć aplikacje, wykonaj następujące kroki:
Wprowadź katalog główny projektu i użyj następującego polecenia, aby skompilować i wdrożyć aplikację frontonu:
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_FRONTEND} \
--build-env BP_WEB_SERVER=nginx \
--source-path ./spring-petclinic-frontend
Użyj następującego polecenia, aby skompilować i wdrożyć aplikację customers-service :
Po zakończeniu wdrażania możesz znaleźć adres URL usługi Spring Cloud Gateway z danych wyjściowych wdrożenia, jak pokazano na poniższym zrzucie ekranu:
Otwórz adres URL bramy. Aplikacja powinna wyglądać podobnie do poniższego zrzutu ekranu:
5.2. Wykonywanie zapytań dotyczących dzienników aplikacji
Po przejrzeniu każdej funkcji aplikacji Pet Clinic obszar roboczy usługi Log Analytics zbiera dzienniki każdej aplikacji. Dzienniki można sprawdzić przy użyciu zapytań niestandardowych, jak pokazano na poniższym zrzucie ekranu:
5.3. Monitorowanie aplikacji
Usługa Application Insights monitoruje zależności aplikacji, jak pokazano na poniższej mapie śledzenia aplikacji:
Adres URL widoku na żywo aplikacji można znaleźć w danych wyjściowych wdrożenia. Otwórz adres URL widoku na żywo aplikacji, aby monitorować środowiska uruchomieniowe aplikacji, jak pokazano na poniższym zrzucie ekranu:
5.1. Uzyskiwanie dostępu do aplikacji
Użyj punktu końcowego przypisanego z usługi Spring Cloud Gateway — na przykład https://<your-Azure-Spring-Apps-instance-name>-gateway-xxxxx.svc.azuremicroservices.io. Aplikacja powinna wyglądać podobnie do poniższego zrzutu ekranu:
5.2. Wykonywanie zapytań dotyczących dzienników aplikacji
Po przejrzeniu każdej funkcji aplikacji Pet Clinic obszar roboczy usługi Log Analytics zbiera dzienniki każdej aplikacji. Dzienniki można sprawdzić przy użyciu zapytań niestandardowych, jak pokazano na poniższym zrzucie ekranu:
5.3. Monitorowanie aplikacji
Usługa Application Insights monitoruje zależności aplikacji, jak pokazano na poniższej mapie śledzenia aplikacji:
Otwórz adres URL widoku na żywo aplikacji uwidoczniony przez narzędzia deweloperskie, aby monitorować środowiska uruchomieniowe aplikacji, jak pokazano na poniższym zrzucie ekranu:
5.1. Uzyskiwanie dostępu do aplikacji
Użyj następujących poleceń, aby pobrać adres URL bramy Spring Cloud Gateway:
export GATEWAY_URL=$(az spring gateway show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${GATEWAY_URL}"
Aplikacja powinna wyglądać podobnie do poniższego zrzutu ekranu:
5.2. Wykonywanie zapytań dotyczących dzienników aplikacji
Po przejrzeniu każdej funkcji aplikacji Pet Clinic obszar roboczy usługi Log Analytics zbiera dzienniki każdej aplikacji. Dzienniki można sprawdzić przy użyciu zapytań niestandardowych, jak pokazano na poniższym zrzucie ekranu:
5.3. Monitorowanie aplikacji
Usługa Application Insights monitoruje zależności aplikacji, jak pokazano na poniższej mapie śledzenia aplikacji:
Użyj następujących poleceń, aby pobrać adres URL widoku na żywo aplikacji:
export DEV_TOOL_URL=$(az spring dev-tool show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${DEV_TOOL_URL}/app-live-view"
Otwórz adres URL widoku na żywo aplikacji, aby monitorować środowiska uruchomieniowe aplikacji, jak pokazano na poniższym zrzucie ekranu:
5.1. Uzyskiwanie dostępu do aplikacji
Korzystając z informacji o adresie URL w danych wyjściowych dziennika wdrażania, otwórz adres URL uwidoczniony przez aplikację o nazwie api-gateway — na przykład https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. Aplikacja powinna wyglądać podobnie do poniższego zrzutu ekranu:
5.2. Wykonywanie zapytań dotyczących dzienników aplikacji
Po przejrzeniu każdej funkcji aplikacji Pet Clinic obszar roboczy usługi Log Analytics zbiera dzienniki każdej aplikacji. Dzienniki można sprawdzić przy użyciu zapytań niestandardowych, jak pokazano na poniższym zrzucie ekranu:
5.3. Monitorowanie aplikacji
Usługa Application Insights monitoruje zależności aplikacji, jak pokazano na poniższej mapie śledzenia aplikacji:
Otwórz adres URL udostępniany przez aplikację admin-server , aby zarządzać aplikacjami za pośrednictwem serwera administracyjnego Spring Boot, jak pokazano na poniższym zrzucie ekranu:
6. Czyszczenie zasobów
Jeśli planujesz kontynuować pracę z kolejnymi przewodnikami Szybki start i samouczkami, możesz pozostawić te zasoby na miejscu. Gdy zasoby nie są już potrzebne, możesz wyczyścić niepotrzebne zasoby, aby uniknąć opłat za platformę Azure.
Wykonaj następujące kroki, aby usunąć całą grupę zasobów, w tym nowo utworzone wystąpienie usługi:
Znajdź grupę zasobów w witrynie Azure Portal. W menu nawigacji wybierz pozycję Grupy zasobów, a następnie wybierz nazwę grupy zasobów.
Na stronie Grupa zasobów wybierz pozycję Usuń. Wprowadź nazwę grupy zasobów w polu tekstowym, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.
Użyj następującego polecenia, aby usunąć wszystkie zasoby platformy Azure używane w tej przykładowej aplikacji:
azd down
Na poniższej liście opisano interakcję z poleceniem:
Łączna liczba zasobów do usunięcia: <suma zasobów>, czy na pewno chcesz kontynuować?: Naciśnij y.
Konsola generuje komunikaty podobne do następującego przykładu:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Pamiętaj, aby usunąć zasoby utworzone w tym artykule, gdy nie są już potrzebne. Możesz usunąć grupę zasobów platformy Azure zawierającą wszystkie zasoby w tej grupie.
Aby usunąć całą grupę zasobów, wykonaj następujące czynności:
Znajdź grupę zasobów w witrynie Azure Portal. W menu nawigacji wybierz pozycję Grupy zasobów, a następnie wybierz nazwę grupy zasobów.
Na stronie Grupa zasobów wybierz pozycję Usuń. Wprowadź nazwę grupy zasobów w polu tekstowym, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.
Aby usunąć całą grupę zasobów, wykonaj następujące czynności:
Znajdź grupę zasobów w witrynie Azure Portal. W menu nawigacji wybierz pozycję Grupy zasobów, a następnie wybierz nazwę grupy zasobów.
Na stronie Grupa zasobów wybierz pozycję Usuń. Wprowadź nazwę grupy zasobów w polu tekstowym, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.
Użyj następującego polecenia, aby usunąć grupę zasobów: