Sdílet prostřednictvím


Nasazení webové aplikace Go do Azure Container Apps

V tomto rychlém startu se naučíte nasadit kontejnerizovanou webovou aplikaci Go do Azure Container Apps.

Azure Container Apps umožňuje spouštět kód aplikace zabalený v jakémkoli kontejneru, aniž byste museli spravovat složitou cloudovou infrastrukturu nebo komplexní orchestrátory kontejnerů. Eliminuje také potřebu starat se o modul runtime nebo programovací model. Mezi běžné použití Azure Container Apps patří: Nasazování koncových bodů rozhraní API, hostování aplikací pro zpracování na pozadí, zpracování zpracování řízeného událostmi a spouštění mikroslužeb.

Tento kurz vás provede sestavením image Dockeru, nasazením této image do služby Azure Container Registry a nasazením webové aplikace Go do Azure Container Apps.

Požadavky

  • Předplatné Azure: Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

Nastavení

Pokud se chcete přihlásit k Azure z rozhraní příkazového řádku, spusťte příkaz az login 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 az 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 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 truenástroje .

az extension add --name containerapp --upgrade --allow-preview true

Teď, když je nainstalováno aktuální rozšíření nebo modul, zaregistrujte obory názvů Microsoft.App, Microsoft.ContainerRegistry a Microsoft.OperationalInsights.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.ContainerRegistry
az provider register --namespace Microsoft.OperationalInsights

Poznámka:

Obory názvů pro prostředky Azure Container Apps byly přesunuty z Microsoft.Web do Microsoft.App. Další informace naleznete v tématu Migrace oboru názvů z webu Microsoft.Web na Microsoft.App v březnu 2022.

Stažení ukázkové aplikace

Pokud chcete postupovat podle tohoto kurzu, potřebujete k kontejnerizaci ukázkovou aplikaci. GitHub úložiště msdocs-go-webapp-quickstart poskytuje ukázkovou webovou aplikaci v Go. Stáhněte nebo naklonujte ukázkovou aplikaci do místní pracovní stanice.

git clone https://github.com/Azure-Samples/msdocs-go-webapp-quickstart.git

cd msdocs-go-webapp-quickstart

Vytvoření registru služby Azure Container Registry

Azure Container Registry umožňuje vytvářet, ukládat a spravovat image kontejnerů. Slouží k uložení image Dockeru, která obsahuje ukázkovou webovou aplikaci Go uvedenou v ukázkovém úložišti uvedeném výše.

Spuštěním následujících příkazů vytvořte Službu Azure Container Registry:

  1. Nastavte proměnné prostředí pro prostředky, které vytvoříte. Zástupný text v závorkách nahraďte příslušnými hodnotami. Název služby Azure Container Registry musí být globálně jedinečný.

    RESOURCE_GROUP_NAME="<resourceGroupName>"  # Name of the Azure resource group to create
    LOCATION="<location>"                      # Azure region (For example, "eastus", "westus2")
    ACR_NAME="<azureContainerRegistryName>"    # Globally unique name for Azure Container Registry
    

    Ukázkové příkazy pro nastavení proměnných prostředí jsou pro prostředí Bash. Pokud používáte jiný shell, přizpůsobte příkazy podle potřeby.

  2. Vytvořte skupinu prostředků Azure pomocí příkazu az group create.

    az group create \
        --name $RESOURCE_GROUP_NAME \
        --location $LOCATION
    
  3. Pomocí příkazu az acr create vytvořte službu Azure Container Registry.

    az acr create \
        --resource-group $RESOURCE_GROUP_NAME \
        --name $ACR_NAME \
        --sku basic
    
  4. Přihlaste se k instanci kontejneru Azure pomocí příkazu az acr login .

    az acr login --name $ACR_NAME
    

    Poznámka:

    Pokud při spuštění az acr login příkazu dojde k chybě podobné následující chybě, ujistěte se, že démon Dockeru běží ve vašem systému:

    You may want to use 'az acr login -n $ACR_NAME --expose-token' to get an access token, which doesn't require Docker to be installed.
    An error occurred: DOCKER_COMMAND_ERROR
    

Sestavení a nasdílení image Dockeru

Jakmile vytvoříte Azure Container Registry, sestavte a pushněte Docker image ukázkové Go webové aplikace.

Spuštěním následujících příkazů sestavte a odešlete image do registru.

  1. Nastavte proměnnou prostředí pro image Dockeru, kterou vytvoříte. Zástupný text v závorkách nahraďte příslušnými hodnotami.

    IMAGE_NAME="go-webapp"  # Name for the Docker image
    

    Ukázkové příkazy pro nastavení proměnných prostředí jsou pro prostředí Bash. Pokud používáte jiný shell, upravte příkazy odpovídajícím způsobem.

  2. Získejte informace o přihlašovacím serveru pomocí příkazu az acr show a uložte je do proměnné prostředí.

    LOGIN_SERVER=$(az acr show \
        --name $ACR_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --query loginServer \
        --output tsv)
    
    echo "Login server: $LOGIN_SERVER"
    
  3. Sestavte image Dockeru místně.

    docker build -t $LOGIN_SERVER/$IMAGE_NAME:latest .
    
  4. Nasdílejte image Dockeru do služby Azure Container Registry.

    docker push $LOGIN_SERVER/$IMAGE_NAME:latest
    
  5. Pomocí příkazu az acr repository list ověřte, že se image úspěšně odeslala do služby Azure Container Registry.

    az acr repository list \
        --name $ACR_NAME \
        --output table
    

Teď, když máte k dispozici image ve službě Azure Container Registry, jste připraveni nasadit aplikaci Azure Container App a její prostředí.

Vytvoření prostředí Azure Container Apps

Azure Container Apps nemá složitost orchestrátoru kontejnerů, ale přesto potřebuje nějaký způsob, jak vytvořit zabezpečené hranice. Prostředí Azure Container Apps poskytují tuto funkci. Container Apps nasazené ve stejném prostředí sdílí stejnou virtuální síť a zapisuje protokoly do stejného pracovního prostoru služby Log Analytics. Před nasazením aplikace Azure Container App potřebujete prostředí, do které se má nasadit.

  1. Nastavte proměnné prostředí pro prostředky, které vytvoříte. Zástupný text v závorkách nahraďte příslušnými hodnotami.

    CONTAINER_APP_ENV="mygoappenv"  # Name for the Container Apps environment
    CONTAINER_APP_NAME="mygoapp"    # Name for your container app
    

    Ukázkové příkazy pro nastavení proměnných prostředí jsou pro prostředí Bash. Pokud používáte jiný shell, upravte příkazy přiměřeně.

  2. Spuštěním příkazu az containerapp env create vytvořte prostředí Azure Container Apps.

    az containerapp env create \
        --name $CONTAINER_APP_ENV \
        --resource-group $RESOURCE_GROUP_NAME \
        --location $LOCATION
    

Nasazení do Azure Container Apps

V tuto chvíli jste dokončili následující kroky:

  • Vytvořili jste službu Azure Container Registry.
  • Sestavili a odeslali image Dockeru do registru.
  • Nastavte prostředí Azure Container Apps.

Posledním krokem je nasazení aplikace.

Spuštěním příkazu az containerapp create nasaďte webovou aplikaci Go do Azure Container Apps.

az containerapp create \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP_NAME \
    --environment $CONTAINER_APP_ENV \
    --image "$LOGIN_SERVER/$IMAGE_NAME:latest" \
    --registry-server "$LOGIN_SERVER" \
    --registry-identity system \
    --target-port 8080 \
    --ingress external

Parametr --registry-identity system nakonfiguruje spravovanou identitu přiřazenou systémem v aplikaci kontejneru. Aplikace kontejneru používá tuto identitu místo uživatelského jména a hesla, což je méně bezpečné, k ověření v registru kontejneru. Příkaz také automaticky vytvoří AcrPull přiřazení role pro identitu, která jí umožňuje stahovat obrázky z registru. Aby bylo možné používat spravované identity pro ověřování a autorizaci, musí být registr Azure Container Registry.

Ověření adresy URL webové aplikace

  1. Spuštěním příkazu az containerapp show získejte plně kvalifikovaný název domény (plně kvalifikovaný název domény) příchozího přenosu dat webové aplikace.

    APP_FQDN=$(az containerapp show \
        --name $CONTAINER_APP_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --query properties.configuration.ingress.fqdn \
        --output tsv)
    
    echo "App URL: https://$APP_FQDN"
    
  2. Spusťte příkaz curl na FQDN a potvrďte, že výstup obsahuje HTML webu. Adresu URL můžete otevřít také ve webovém prohlížeči, abyste mohli pracovat s webovou aplikací.

    curl "https://$APP_FQDN"
    

    Příkaz vrátí kód HTML domovské stránky webové aplikace podobný následujícímu:

    <!DOCTYPE html>
    <html>
    
    <head>
        <title>Hello Azure - Go Quickstart</title>
        <link rel="stylesheet" href="/assets/main.css">
        <link rel="icon" type="image/x-icon" href="/assets/favicon.ico">
    </head>
    
    <header>
        <h1>Welcome to Azure</h1>
    </header>
    
    <section>
        <img src="/assets/images/azure-icon.svg">
        <form method="post">
            <label for="form-label">Could you please tell me your name?</label><br>
            <input type="text" id="name" name="name" style="max-width: 256px;"><br>
            <button type="submit">Say Hello</button>
        </form>
    </section>
    
    </html>
    

Vyčistěte zdroje

Až budete s ukázkovou aplikací hotovi, můžete z Azure odebrat všechny prostředky aplikace. Tím se vyhnete průběžným poplatkům a nezachovají se vaše předplatné Azure přehledně. Odebráním skupiny prostředků se také odeberou všechny prostředky ve skupině prostředků a je nejrychlejší způsob, jak odebrat všechny prostředky Azure pro vaši aplikaci.

Spuštěním příkazu az group delete odstraňte skupinu prostředků a její prostředky.

az group delete \
    --name $RESOURCE_GROUP_NAME \
    --no-wait

Další kroky