Kurz: Sestavení a nasazení aplikace do Azure Container Apps
Tento článek ukazuje, jak vytvořit a nasadit mikroslužbu do Azure Container Apps ze zdrojového úložiště pomocí preferovaného programovacího jazyka.
Toto je první kurz v sérii článků, které vás provedou používáním základních funkcí v Azure Container Apps. Prvním krokem je vytvoření back-endové služby webového rozhraní API, která vrací statickou kolekci hudebních alb.
Poznámka:
Tuto aplikaci můžete také sestavit a nasadit pomocí příkazu az containerapp up podle pokynů v rychlém startu : Sestavení a nasazení aplikace do Azure Container Apps z článku o úložišti . Tento az containerapp up
příkaz představuje rychlý a pohodlný způsob, jak pomocí jediného příkazu sestavit a nasadit aplikaci do Azure Container Apps. Neposkytuje ale stejnou úroveň přizpůsobení pro vaši aplikaci kontejneru.
Další kurz série sestaví a nasadí front-endovou webovou aplikaci do Azure Container Apps.
Následující snímek obrazovky ukazuje výstup z rozhraní API alba nasazeného v tomto kurzu.
Požadavky
K dokončení tohoto projektu potřebujete následující položky:
Požadavek | Pokyny |
---|---|
Účet Azure | Pokud ho nemáte, vytvořte si účet zdarma. Abyste mohli pokračovat, potřebujete oprávnění správce uživatelských přístupů nebo vlastníka předplatného Azure. Ujistěte se, že pro váš kontext používáte nejvíce omezující roli. Podrobnosti najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal a rolí Azure, rolí Microsoft Entra a klasických rolísprávce předplatného. |
Účet GitHubu | Zaregistrujte se zdarma. |
git | Instalace Gitu |
Azure CLI | Nainstalujte rozhraní příkazového řádku Azure CLI. |
Požadavek | Pokyny |
---|---|
Účet Azure | Pokud ho nemáte, vytvořte si účet zdarma. K pokračování potřebujete oprávnění přispěvatele nebo vlastníka předplatného Azure. Podrobnosti najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal . |
Účet GitHubu | Zaregistrujte se zdarma. |
git | Instalace Gitu |
Azure CLI | Nainstalujte rozhraní příkazového řádku Azure CLI. |
Docker Desktop | Docker poskytuje instalační programy, které konfigurují prostředí Dockeru v systémech macOS, Windows a Linux. Na příkazovém řádku zadejte docker , abyste měli jistotu, že je Docker spuštěný. |
Nastavení
Pokud se chcete přihlásit k Azure z rozhraní příkazového řádku, spusťte následující příkaz a podle pokynů dokončete proces ověřování.
az login
Pokud chcete zajistit, že používáte nejnovější verzi rozhraní příkazového řádku, spusťte příkaz upgrade.
az upgrade
Dále nainstalujte nebo aktualizujte rozšíření Azure Container Apps pro rozhraní příkazového řádku.
Pokud se při spouštění az containerapp
příkazů v Azure CLI nebo rutinách Az.App
z modulu v Azure PowerShellu zobrazí chyby týkající se chybějících parametrů, ujistěte se, že máte nainstalovanou nejnovější verzi rozšíření Azure Container Apps.
az extension add --name containerapp --upgrade
Poznámka:
Od května 2024 už rozšíření Azure CLI ve výchozím nastavení nepovolují funkce ve verzi Preview. Pokud chcete získat přístup k funkcím Container Apps ve verzi Preview, nainstalujte rozšíření Container Apps pomocí --allow-preview true
nástroje .
az extension add --name containerapp --upgrade --allow-preview true
Teď, když je nainstalované aktuální rozšíření nebo modul, zaregistrujte obory Microsoft.App
názvů a Microsoft.OperationalInsights
obory názvů.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Vytvoření proměnných prostředí
Po dokončení nastavení Azure CLI můžete definovat proměnné prostředí, které se používají v tomto článku.
Definujte následující proměnné v prostředí Bash.
RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
FRONTEND_NAME="album-ui"
GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"
Před spuštěním tohoto příkazu nezapomeňte nahradit <YOUR_GITHUB_USERNAME>
uživatelské jméno GitHubu.
Dále definujte název registru kontejneru, který je pro vás jedinečný.
ACR_NAME="acaalbums"$GITHUB_USERNAME
Příprava úložiště GitHub
Přejděte do úložiště pro preferovaný jazyk a rozvětvujte úložiště.
Výběrem tlačítka Fork v horní části úložiště rozhraní API alba rozvětvte úložiště do svého účtu.
Teď můžete naklonovat fork ukázkového úložiště.
Pomocí následujícího příkazu Git naklonujte forkované úložiště do složky code-to-cloud :
git clone https://github.com/$GITHUB_USERNAME/containerapps-albumapi-csharp.git code-to-cloud
Dále změňte adresář na kořen klonovaného úložiště.
cd code-to-cloud/src
Vytvoření skupiny prostředků Azure
Vytvořte skupinu prostředků pro uspořádání služeb souvisejících s nasazením aplikace kontejneru.
az group create \
--name $RESOURCE_GROUP \
--location "$LOCATION"
Vytvoření registru služby Azure Container Registry
Po vytvoření image kontejneru rozhraní API alba vytvořte instanci služby Azure Container Registry (ACR) ve skupině prostředků, do které ji uložíte.
az acr create \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --name $ACR_NAME \ --sku Basic
Aby bylo možné použít spravovanou identitu k načtení imagí, musí váš registr kontejneru povolit tokeny cílové skupiny Azure Resource Manageru (ARM).
Pomocí následujícího příkazu zkontrolujte, jestli mají tokeny ARM povolený přístup ke službě Azure Container Registry (ACR).
az acr config authentication-as-arm show --registry "$ACR_NAME"
Pokud jsou povoleny tokeny ARM, příkaz vypíše následující výstup.
{ "status": "enabled" }
status
Pokud anodisabled
, povolte tokeny ARM pomocí následujícího příkazu.az acr config authentication-as-arm update --registry "$ACR_NAME" --status enabled
Vytvoření spravované identity přiřazené uživatelem
Abyste se vyhnuli používání přihlašovacích údajů pro správu, načítejte image z privátních úložišť ve službě Microsoft Azure Container Registry pomocí spravovaných identit pro ověřování. Pokud je to možné, použijte spravovanou identitu přiřazenou uživatelem k načtení imagí.
Vytvořte spravovanou identitu přiřazenou uživatelem. Než spustíte následující příkazy, zvolte název vaší spravované identity a nahraďte ho
\<PLACEHOLDER\>
názvem.IDENTITY="<YOUR_IDENTITY_NAME>"
az identity create \ --name $IDENTITY \ --resource-group $RESOURCE_GROUP
Získejte ID prostředku identity.
IDENTITY_ID=$(az identity show \ --name $IDENTITY \ --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)
Sestavení aplikace
Pomocí úloh ACR můžete sestavit a odeslat image Dockeru pro rozhraní API alba bez místní instalace Dockeru.
Sestavení kontejneru pomocí ACR
Spuštěním následujícího příkazu zahajte proces sestavení a nabízení image pomocí ACR. Na .
konci příkazu představuje kontext sestavení Dockeru, což znamená, že tento příkaz by se měl spustit ve složce src , kde se nachází soubor Dockerfile.
az acr build --registry $ACR_NAME --image $API_NAME .
Výstup z az acr build
příkazu ukazuje průběh nahrávání zdrojového kódu do Azure a podrobnosti o docker build
operacích a docker push
operacích.
Sestavení aplikace
Následující kroky ukazují, jak sestavit image kontejneru místně pomocí Dockeru a odeslat image do nového registru kontejneru.
Sestavení kontejneru pomocí Dockeru
Následující příkaz vytvoří image kontejneru pro rozhraní API alba a označí ji plně kvalifikovaným názvem přihlašovacího serveru ACR. Na .
konci příkazu představuje kontext sestavení Dockeru, což znamená, že tento příkaz by se měl spustit ve složce src , kde se nachází soubor Dockerfile.
docker build --tag $ACR_NAME.azurecr.io/$API_NAME .
Nahrání image do registru kontejneru
Nejprve se přihlaste ke službě Azure Container Registry.
az acr login --name $ACR_NAME
Teď nasdílejte image do registru.
docker push $ACR_NAME.azurecr.io/$API_NAME
Vytvoření prostředí Container Apps
Prostředí Azure Container Apps funguje jako zabezpečená hranice kolem skupiny kontejnerových aplikací.
Pomocí následujícího příkazu vytvořte prostředí Container Apps.
az containerapp env create \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION"
Nasazení image do aplikace typu kontejner
Teď, když máte vytvořené prostředí, můžete pomocí příkazu vytvořit a nasadit aplikaci kontejneru az containerapp create
.
Pomocí následujícího příkazu vytvořte a nasaďte aplikaci kontejneru.
az containerapp create \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--environment $ENVIRONMENT \
--image $ACR_NAME.azurecr.io/$API_NAME \
--target-port 8080 \
--ingress external \
--registry-server $ACR_NAME.azurecr.io \
--user-assigned "$IDENTITY_ID" \
--registry-identity "$IDENTITY_ID" \
--query properties.configuration.ingress.fqdn
Nastavením na
external
,--ingress
vaše aplikace kontejneru je přístupná z veřejného internetu.Nastaví
target-port
se tak, aby8080
odpovídal portu, na který kontejner naslouchá žádostem.query
Bez vlastnosti volání vrátíaz containerapp create
odpověď JSON, která obsahuje bohatou sadu podrobností o aplikaci. Přidání parametru dotazu filtruje výstup jenom na plně kvalifikovaný název domény (FQDN) aplikace.Tento příkaz přidá
acrPull
roli do spravované identity přiřazené uživatelem, aby mohl načíst image z registru kontejneru.
Ověření nasazení
Zkopírujte plně kvalifikovaný název domény do webového prohlížeče. Ve webovém prohlížeči přejděte ke koncovému /albums
bodu plně kvalifikovaného názvu domény.
Vyčištění prostředků
Pokud nebudete pokračovat v komunikaci mezi mikroslužbami kurz, můžete odebrat prostředky Azure vytvořené během tohoto rychlého startu. Spuštěním následujícího příkazu odstraňte skupinu prostředků spolu se všemi prostředky vytvořenými v tomto rychlém startu.
az group delete --name $RESOURCE_GROUP
Další kroky
Tento rychlý start je vstupním bodem pro sadu progresivních kurzů, které představují různé funkce v Azure Container Apps. Pokračujte a zjistěte, jak povolit komunikaci z webového front-endu, který volá rozhraní API, které jste nasadili v tomto článku.