Szybki start: wdrażanie istniejącego obrazu kontenera przy użyciu wiersza polecenia
Usługa Azure Container Apps umożliwia uruchamianie mikrousług i konteneryzowanych aplikacji na platformie bezserwerowej. Dzięki usłudze Container Apps możesz korzystać z zalet uruchamiania kontenerów, pozostając w tyle za problemami dotyczącymi ręcznej konfiguracji infrastruktury chmury i złożonych orkiestratorów kontenerów.
W tym artykule pokazano, jak wdrożyć istniejący kontener w usłudze Azure Container Apps.
Uwaga
Autoryzacja rejestru prywatnego jest obsługiwana za pośrednictwem nazwy użytkownika i hasła rejestru.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją.
- Jeśli nie masz konta, możesz je utworzyć teraz za darmo.
- Zainstaluj interfejs wiersza polecenia platformy Azure.
- Dostęp do publicznego lub prywatnego rejestru kontenerów, takiego jak usługa Azure Container Registry.
Ustawienia
Aby zalogować się do platformy Azure z poziomu interfejsu wiersza polecenia, uruchom następujące polecenie i postępuj zgodnie z monitami, aby ukończyć proces uwierzytelniania.
az login
Aby upewnić się, że używasz najnowszej wersji interfejsu wiersza polecenia, uruchom polecenie uaktualniania.
az upgrade
Następnie zainstaluj lub zaktualizuj rozszerzenie usługi Azure Container Apps dla interfejsu wiersza polecenia.
az extension add --name containerapp --upgrade
Teraz, po zainstalowaniu bieżącego rozszerzenia lub modułu Microsoft.App
, zarejestruj przestrzenie nazw i Microsoft.OperationalInsights
.
Uwaga
Zasoby usługi Azure Container Apps zostały zmigrowane z Microsoft.Web
przestrzeni nazw do Microsoft.App
przestrzeni nazw. Aby uzyskać więcej informacji, zobacz Migracja przestrzeni nazw z witryny Microsoft.Web do Microsoft.App w marcu 2022 r.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Ustawianie zmiennych środowiskowych
Ustaw następujące zmienne środowiskowe. Zastąp <symbole> ZASTĘPCZE wartościami:
RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"
Tworzenie grupy zasobów platformy Azure
Utwórz grupę zasobów, aby zorganizować usługi związane z wdrożeniem aplikacji kontenera.
az group create \
--name $RESOURCE_GROUP \
--location "$LOCATION"
Utwórz środowisko
Środowisko w usłudze Azure Container Apps tworzy bezpieczną granicę wokół grupy aplikacji kontenera. Aplikacje kontenera wdrożone w tym samym środowisku są wdrażane w tej samej sieci wirtualnej i zapisują dzienniki w tym samym obszarze roboczym usługi Log Analytics.
Aby utworzyć środowisko, uruchom następujące polecenie:
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION"
Tworzenie aplikacji kontenera
Po utworzeniu środowiska możesz wdrożyć pierwszą aplikację kontenera. containerapp create
Za pomocą polecenia wdróż obraz kontenera w usłudze Azure Container Apps.
W przykładzie pokazanym w tym artykule pokazano, jak używać niestandardowego obrazu kontenera z typowymi poleceniami. Obraz kontenera może potrzebować większej liczby parametrów dla następujących elementów:
- Ustawianie trybu poprawek
- Definiowanie wpisów tajnych
- Definiowanie zmiennych środowiskowych
- Ustawianie wymagań dotyczących procesora CPU lub pamięci kontenera
- Włączanie i konfigurowanie języka Dapr
- Włączanie ruchu przychodzącego zewnętrznego lub wewnętrznego
- Podawanie minimalnych i maksymalnych wartości replik lub reguł skalowania
Aby uzyskać szczegółowe informacje na temat sposobu podawania wartości dla dowolnego z tych parametrów create
polecenia, uruchom az containerapp create --help
polecenie lub odwiedź dokumentację online. Aby wygenerować poświadczenia dla usługi Azure Container Registry, użyj polecenia az acr credential show.
CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME>
REGISTRY_SERVER=<REGISTRY_SERVER>
REGISTRY_USERNAME=<REGISTRY_USERNAME>
REGISTRY_PASSWORD=<REGISTRY_PASSWORD>
(Zastąp <symbole> zastępcze wartościami).
az containerapp create \
--name my-container-app \
--resource-group $RESOURCE_GROUP \
--image $CONTAINER_IMAGE_NAME \
--environment $CONTAINERAPPS_ENVIRONMENT \
--registry-server $REGISTRY_SERVER \
--registry-username $REGISTRY_USERNAME \
--registry-password $REGISTRY_PASSWORD
az containerapp create \
--image <REGISTRY_CONTAINER_NAME> \
--name my-container-app \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT
If you have enabled ingress on your container app, you can add `--query properties.configuration.ingress.fqdn` to the `create` command to return the public URL for the application.
Przed uruchomieniem tego polecenia zastąp <REGISTRY_CONTAINER_NAME>
pełną nazwą publiczną lokalizację rejestru kontenerów, w tym ścieżkę rejestru i tag. Na przykład prawidłową nazwą kontenera jest mcr.microsoft.com/k8se/quickstart:latest
.
Weryfikowanie wdrożenia
Aby zweryfikować pomyślne wdrożenie, możesz wykonać zapytanie dotyczące obszaru roboczego usługi Log Analytics. Zanim będzie można wykonać zapytanie o dzienniki, może być konieczne odczekanie kilku minut po wdrożeniu analizy. Zależy to od rejestrowania konsoli zaimplementowanego w aplikacji kontenera.
Użyj następujących poleceń, aby wyświetlić komunikaty dziennika konsoli.
LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az containerapp env show --name $CONTAINERAPPS_ENVIRONMENT --resource-group $RESOURCE_GROUP --query properties.appLogsConfiguration.logAnalyticsConfiguration.customerId --out tsv`
az monitor log-analytics query \
--workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
--analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'my-container-app' | project ContainerAppName_s, Log_s, TimeGenerated" \
--out table
Czyszczenie zasobów
Jeśli nie zamierzasz nadal korzystać z tej aplikacji, uruchom następujące polecenie, aby usunąć grupę zasobów wraz ze wszystkimi zasobami utworzonymi w tym przewodniku Szybki start.
Uwaga
Następujące polecenie usuwa określoną grupę zasobów i wszystkie zawarte w niej zasoby. Jeśli zasoby spoza zakresu tego przewodnika Szybki start istnieją w określonej grupie zasobów, zostaną również usunięte.
az group delete --name $RESOURCE_GROUP
Napiwek
Masz problemy? Poinformuj nas o usłudze GitHub, otwierając problem w repozytorium usługi Azure Container Apps.