Wdrażanie aplikacji internetowej w języku Go w usłudze Azure Container Apps
W tym przewodniku Szybki start dowiesz się, jak wdrożyć konteneryzowaną aplikację internetową Języka Go w usłudze Azure Container Apps.
Usługa Azure Container Apps umożliwia wykonywanie kodu aplikacji spakowanego w dowolnym kontenerze bez konieczności zarządzania skomplikowaną infrastrukturą chmury lub złożonymi orkiestratorami kontenerów oraz bez obaw o środowisko uruchomieniowe lub model programowania. Typowe zastosowania usługi Azure Container Apps to: wdrażanie punktów końcowych interfejsu API, hostowanie aplikacji przetwarzania w tle, obsługa przetwarzania sterowanego zdarzeniami i uruchamianie mikrousług.
Postępuj zgodnie z tym samouczkiem, aby utworzyć obraz platformy Docker, wdrożyć ten obraz w usłudze Azure Container Registry i wdrożyć aplikację internetową Go w usłudze Azure Container Apps.
Wymagania wstępne
- Subskrypcja platformy Azure: jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Zainstalowany program Go: wersja 1.18 lub nowsza
- Docker Desktop
Pobieranie przykładowej aplikacji
Aby wykonać czynności opisane w tym samouczku, potrzebujesz przykładowej aplikacji do konteneryzowania. Przykładowa aplikacja internetowa Języka Go jest dostępna w repozytorium gitHub msdocs-go-webapp-quickstart . Pobierz lub sklonuj przykładową aplikację na lokalną stację roboczą.
git clone https://github.com/Azure-Samples/msdocs-go-webapp-quickstart.git
cd msdocs-go-webapp-quickstart
Tworzenie rejestru Azure Container Registry
Usługa Azure Container Registry umożliwia tworzenie i przechowywanie obrazów kontenerów oraz zarządzanie nimi. Użyjesz go do przechowywania obrazu platformy Docker zawierającego przykładową aplikację internetową Języka Go udostępnioną w przykładowym repozytorium wymienionym wcześniej.
Uruchom następujące polecenia, aby utworzyć usługę Azure Container Registry:
Utwórz grupę zasobów platformy Azure.
az group create \ --name <resourceGroupName> \ --location eastus
Utwórz rejestr Azure Container Registry.
az acr create \ --resource-group <resourceGroupName> \ --name <azureContainerRegistryName> \ --sku basic \ --admin-enabled true
Zaloguj się do wystąpienia kontenera platformy Azure.
az acr login --name <azureContainerRegistryName>
Zastąp <resourceGroupName>
wartości i <azureContainerRegistryName>
odpowiednimi wartościami. Pamiętaj, że nazwa usługi Azure Container Registry musi być globalnie unikatowa.
Kompilowanie i wypychanie obrazu platformy Docker
Po utworzeniu usługi Azure Container Registry skompiluj i wypchnij obraz platformy Docker przykładowej aplikacji internetowej Języka Go.
Uruchom następujące polecenia skompiluj i wypchnij obraz do rejestru:
Uzyskaj informacje o serwerze logowania.
az acr show \ --name <azureContainerRegistryName> \ --resource-group <resourceGroupName> \ --query loginServer \ --output tsv
Skompiluj obraz platformy Docker lokalnie.
docker build -t <loginServer>/<imageName>:latest .
Wypchnij obraz platformy Docker do usługi Azure Container Registry.
docker push <loginServer>/<imageName>:latest
Sprawdź, czy obraz został pomyślnie wypchnięty do usługi Azure Container Registry.
az acr repository list \ --name <azureContainerRegistryName> \ --output table
Zastąp loginServer
wartości , imageName
i azureContainerRegistryName
odpowiednimi wartościami. Nazwa obrazu to obraz platformy Docker, który jest wypychany do usługi Azure Container Registry, a później używany do wdrażania w usłudze Azure Container Apps.
Teraz, gdy masz już dostępny obraz w usłudze Azure Container Registry, możesz przystąpić do wdrażania aplikacji kontenera platformy Azure i jej środowiska.
Tworzenie środowiska usługi Azure Container Apps
Usługa Azure Container Apps nie ma złożoności orkiestratora kontenerów, ale nadal potrzebuje pewnego sposobu na ustanowienie bezpiecznych granic, czyli miejsc, w których wchodzą środowiska usługi Azure Container Apps. Aplikacje kontenera wdrożone w tym samym środowisku współużytkują tę samą sieć wirtualną i zapisują dzienniki w tym samym obszarze roboczym usługi Log Analytics. Przed wdrożeniem aplikacji kontenera platformy Azure należy wdrożyć środowisko.
Uruchom następujące polecenia, aby utworzyć środowisko usługi Azure Container Apps:
Uzyskaj hasło administratora usługi Azure Container Registry.
ACR_PASSWORD=$(az acr credential show \ --name <azureContainerRegistryName> \ --query 'passwords[0].value' \ --out tsv)
Tworzenie środowiska usługi Container Apps.
az containerapp env create \ --name <containerAppEnvName> \ --resource-group <resourceGroupName> \ --location "East US"
Wdrażanie w usłudze Azure Container Apps
Na tym etapie utworzono usługę Azure Container Registry, skompilowaliśmy i wypchnięliśmy do niego obraz platformy Docker oraz utworzono środowisko usługi Azure Container Apps. Wszystko, co pozostało, to wdrożenie aplikacji.
Uruchom następujące polecenie, aby wdrożyć aplikację internetową Go w usłudze Azure Container Apps:
az containerapp create \
--name <containerAppName> \
--resource-group <resourceGroupName> \
--environment <containerAppEnvName> \
--image "<loginServer>/<imageName>:latest" \
--registry-server "<loginServer>" \
--registry-username "<azureContainerRegistryName>" \
--registry-password "$ACR_PASSWORD" \
--target-port 8080 \
--ingress 'external'
Weryfikowanie adresu URL aplikacji internetowej
Uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure, aby uzyskać nazwę FQDN (w pełni kwalifikowaną nazwę domeny) ruchu przychodzącego aplikacji internetowej.
APP_FQDN=$(az containerapp show \
--name <containerAppName> \
--resource-group <resourceGroupName> \
--query properties.configuration.ingress.fqdn \
--output tsv)
Następnie uruchom polecenie curl względem nazwy FQDN i potwierdź, że dane wyjściowe odzwierciedlają kod HTML witryny internetowej.
curl "https://$APP_FQDN"
Czyszczenie zasobów
Po zakończeniu pracy z przykładową aplikacją możesz usunąć wszystkie zasoby aplikacji z platformy Azure. Dzięki temu nie są naliczane opłaty i nie są naliczane opłaty za subskrypcję platformy Azure. Usunięcie grupy zasobów spowoduje również usunięcie wszystkich zasobów w grupie zasobów i jest najszybszym sposobem usunięcia wszystkich zasobów platformy Azure dla aplikacji.
az group delete \
--name <resourceGroupName> \
--no-wait
Następne kroki
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla