Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Jeśli podczas uruchamiania poleceń az containerapp za pomocą interfejsu wiersza polecenia Azure lub poleceń cmdlet z modułu Az.App w PowerShell pojawią się błędy dotyczące brakujących parametrów, upewnij się, że masz zainstalowaną najnowszą wersję rozszerzenia Azure Container Apps.
az extension add --name containerapp --upgrade
Uwaga
Począwszy od maja 2024 r., rozszerzenia interfejsu wiersza polecenia platformy Azure domyślnie nie włączają funkcji w wersji zapoznawczej. Aby uzyskać dostęp do funkcji usługi Container Apps w wersji zapoznawczej, zainstaluj rozszerzenie Container Apps za pomocą polecenia --allow-preview true.
az extension add --name containerapp --upgrade --allow-preview true
Teraz, po zainstalowaniu bieżącego rozszerzenia lub modułu, zarejestruj przestrzenie nazw Microsoft.App i Microsoft.OperationalInsights.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Ustawianie zmiennych środowiskowych
Ustaw następujące zmienne środowiskowe. Zastąp <PLACEHOLDERS> swoimi 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.
Ustaw zmienne środowiskowe.
Zastąp element
<PLACEHOLDERS>swoimi wartościami. Główna nazwa użytkownika będzie zwykle mieć format adresu e-mail (na przykładusername@domain.com).CONTAINER_APP_NAME=my-container-app KEY_VAULT_NAME=my-key-vault USER_PRINCIPAL_NAME=<USER_PRINCIPAL_NAME> SECRET_NAME=my-secret-name CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME> REGISTRY_SERVER=<REGISTRY_SERVER> REGISTRY_USERNAME=<REGISTRY_USERNAME>Utwórz magazyn kluczy.
Przechowywanie hasła rejestru kontenerów przy użyciu usługi, takiej jak Azure Key Vault , zapewnia bezpieczeństwo wartości przez cały czas. W krokach w tej sekcji pokazano, jak utworzyć magazyn kluczy, zapisać hasło rejestru kontenerów w usłudze Key Vault, a następnie pobrać hasło do użycia w kodzie.
az keyvault create --name $KEY_VAULT_NAME --resource-group $RESOURCE_GROUPNadaj kontu użytkownika uprawnienia do zarządzania sekretami w magazynie kluczy.
KEY_VAULT_ID=$(az keyvault show --name $KEY_VAULT_NAME --query id --output tsv) az role assignment create --role "Key Vault Secrets Officer" --assignee "$USER_PRINCIPAL_NAME" --scope "$KEY_VAULT_ID"Zapisz hasło rejestru kontenerów w skarbcu kluczy.
Zastąp
<REGISTRY_PASSWORD>swoją wartością.az keyvault secret set --vault-name $KEY_VAULT_NAME --name $SECRET_NAME --value "<REGISTRY_PASSWORD>"Pobierz hasło rejestru kontenerów z magazynu kluczy.
REGISTRY_PASSWORD=$(az keyvault secret show --name $SECRET_NAME --vault-name $KEY_VAULT_NAME --query value --output tsv)Wdrażanie obrazu kontenera w usłudze Azure Container Apps.
az containerapp create \ --name $CONTAINER_APP_NAME \ --location $LOCATION \ --resource-group $RESOURCE_GROUP \ --image $CONTAINER_IMAGE_NAME \ --environment $CONTAINERAPPS_ENVIRONMENT \ --registry-server $REGISTRY_SERVER \ --registry-username $REGISTRY_USERNAME \ --registry-password $REGISTRY_PASSWORDJeśli włączono wejście w aplikacji kontenera, możesz dodać
--query properties.configuration.ingress.fqdndo poleceniacreatew celu uzyskania publicznego adresu URL aplikacji.
Ustaw zmienne środowiskowe.
CONTAINER_APP_NAME=my-container-app CONTAINER_IMAGE_NAME=mcr.microsoft.com/k8se/quickstart:latestWdrażanie obrazu kontenera w usłudze Azure Container Apps.
az containerapp create \ --image $CONTAINER_IMAGE_NAME \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $CONTAINERAPPS_ENVIRONMENTJeśli włączono wejście w aplikacji kontenera, możesz dodać
--query properties.configuration.ingress.fqdndo poleceniacreatew celu uzyskania publicznego adresu URL aplikacji.
Weryfikowanie wdrożenia
Aby zweryfikować pomyślne wdrożenie, możesz wykonać zapytanie dotyczące obszaru roboczego usługi Log Analytics. Aby móc wykonać zapytanie o dzienniki, może być konieczne odczekanie kilku minut po wdrożeniu, zanim wyniki analizy pojawią się po raz pierwszy. Zależy to od logowania konsoli zaimplementowanego w aplikacji kontenerowej.
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 == $CONTAINER_APP_NAME | 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 istnieją zasoby spoza zakresu tego quickstartu w określonej grupie zasobów, zostaną również usunięte.
az group delete --name $RESOURCE_GROUP
Napiwek
Masz problemy? Daj nam znać na GitHubie, otwierając zgłoszenie w repozytorium Azure Container Apps.