Nastavení prostředí Azure

Dokončeno

V této lekci pomocí Azure CLI vytvoříte prostředky Azure potřebné v pozdějších lekcích. Než začnete zadávat příkazy, ujistěte se, že je nainstalovaný a spuštěný Docker Desktop nebo Docker Engine v systému Linux.

Příklady v tomto modulu používají syntaxi Bash, včetně export pokračování řádků pomocí zpětného lomítka. Pro cvičení použijte místní relaci Bash. Na Windows použijte distribuci WSL 2 Linux s povolenou integrací Docker Desktopu; nainstalujte a v této distribuci použijte linuxové Azure CLI a Git. V macOS nebo Linuxu použijte místní relaci Bash s přístupem k démonu Dockeru.

Azure Cloud Shell může spouštět příkazy pro správu Azure, ale nespouští démona Dockeru a není náhradou za místní kroky sestavení image a spuštění kontejneru tohoto modulu. Nativní PowerShell a příkazový řádek vyžadují jinou syntaxi proměnných a pokračování řádků.

V relaci prostředí Bash, kterou použijete pro cvičení, zkontrolujte nástroje před vytvořením prostředků Azure:

git --version
az version
docker version

Potvrďte, že všechny tři příkazy proběhnou úspěšně a že docker version zobrazuje dostupný Server i klienta. Pokud server není dostupný, před pokračováním opravte Docker Desktop, Docker Engine nebo integraci WSL.

Pokud chcete ušetřit čas, můžete dát Azure pokyn, aby nejprve zřídil prostředky a pak přešel k další jednotce. Vytvoření clusteru Azure Kubernetes Service (AKS) může trvat až 10 minut. Tento proces se může spustit na pozadí, zatímco budete pokračovat dalšími jednotkami.

Ověřování pomocí Azure Resource Manageru

Přihlaste se pomocí následujícího příkazu:

az login

Výběr předplatného Azure

Předplatná Azure jsou logické kontejnery používané ke zřizování prostředků v Azure. Pomocí následujícího příkazu zobrazte seznam předplatných Azure a pak vyhledejte ID předplatného – SubscriptionId hodnotu , kterou chcete v tomto modulu použít.

az account list --output table

Pomocí následujícího příkazu se ujistěte, že používáte předplatné Azure, které umožňuje vytvářet prostředky pro účely tohoto modulu a nahradit upřednostňovanou SubscriptionId hodnotu zástupným symbolem:

az account set --subscription "<your-subscription-ID>"

Definování místních proměnných

Pokud chcete zjednodušit příkazy, které použijete později, nastavte následující proměnné prostředí. Nezapomeňte nahradit následující zástupné symboly vlastními hodnotami:

  • Nahraďte <your-Azure-region> zvolenou oblastí – například eastus.
  • Nahraďte <your-container-registry> jedinečnou hodnotou. Tato hodnota se používá k vygenerování jedinečného plně kvalifikovaného názvu domény (FQDN) pro registr kontejneru Azure při jeho vytvoření.
  • Nahraďte <your-unique-DNS-prefix-to-access-your-AKS-cluster> jedinečnou hodnotou. Tato hodnota slouží k vygenerování jedinečného plně kvalifikovaného názvu domény pro cluster AKS při jeho vytvoření.

Poznámka

Azure názvy registru kontejnerů musí být globálně jedinečné pro Azure a musí obsahovat 5–50 alfanumerických znaků (jenom písmena a číslice). Spojovníky a podtržítka nejsou povolené. Před nastavením <your-container-registry> nahraďte AZ_CONTAINER_REGISTRY vyhovujícím dostupným názvem. Další informace najdete v tématu Požadavky na pojmenování registru kontejneru.

export AZ_RESOURCE_GROUP=java-containerization-demo-rg
export AZ_CONTAINER_REGISTRY=<your-container-registry>
export AZ_KUBERNETES_CLUSTER=java-containerization-demo-aks
export AZ_LOCATION=<your-Azure-region>
export AZ_KUBERNETES_CLUSTER_DNS_PREFIX=<your-unique-DNS-prefix-to-access-your-AKS-cluster>

Vytvořte skupinu prostředků Azure

Skupiny prostředků Azure jsou kontejnery Azure v předplatných Azure pro uchovávání souvisejících prostředků pro řešení Azure. Pomocí následujícího příkazu vytvořte skupinu prostředků:

az group create \
    --name $AZ_RESOURCE_GROUP \
    --location $AZ_LOCATION \
| jq

Poznámka

Tento modul používá jq nástroj, který je ve výchozím nastavení nainstalovaný v Azure Cloud Shellu , k zobrazení dat JSON a zajištění čitelnějšího zobrazení.

Pokud nechcete používat nástroj jq, můžete bezpečně odebrat | jq část všech příkazů v tomto modulu.

Vytvoření registru kontejneru Azure

Azure Container Registry umožňuje vytvářet, ukládat a spravovat image kontejnerů, včetně image kontejneru pro tuto aplikaci v Javě. Pomocí následujícího příkazu vytvořte registr kontejneru:

az acr create \
    --resource-group $AZ_RESOURCE_GROUP \
    --name $AZ_CONTAINER_REGISTRY \
    --sku Basic \
    --role-assignment-mode rbac \
| jq

Možnost --role-assignment-mode rbac explicitně vybere oprávnění pouze pro RBAC. Tím se zachová integrace --attach-acr a AcrPull použitá v tomto cvičení.

U jakéhokoli nového nebo znovu použitého registru pomocí RBAC Registry + ABAC Repository Permissions, který podporuje řízení přístupu na základě atributů (ABAC), --attach-acr není podporováno. Pracovní postup integrace s podporou ABAC naopak vyžaduje Container Registry Repository Reader pro identitu kubeletu a příslušná oprávnění úložiště pro identitu publikování. Místo spuštění integračních příkazů tohoto cvičení beze změny postupujte podle tohoto pracovního postupu. Microsoft doporučuje režim s podporou ABAC; toto nastavení pouze pro řízení přístupu na základě role není doporučením k downgradu existujícího registru s podporou ABAC.

Pomocí následujícího příkazu nakonfigurujte Azure CLI tak, aby používalo tento nově vytvořený registr kontejnerů Azure:

az configure --defaults acr=$AZ_CONTAINER_REGISTRY

Pomocí následujícího příkazu se ověřte v nově vytvořeném registru kontejneru Azure:

Poznámka

Před spuštěním az acr login příkazu se ujistěte, že je spuštěný Docker Desktop nebo Docker Engine v Linuxu a že je jeho démon dostupný z relace Bash. Pokud není dostupný, zobrazí se chybová zpráva podobná této: Cannot connect to the Docker daemon at unix:///$HOME_DIR/.docker/run/docker.sock. Is the docker daemon running?

az acr login --name $AZ_CONTAINER_REGISTRY

Vytvořte cluster služby Azure Kubernetes Service

K nasazení image kontejneru aplikace v Javě potřebujete cluster AKS.

Important

Tato --attach-acr možnost přiřadí AcrPull roli identitě kubeletu služby AKS. Kromě oprávnění k vytváření prostředků potřebuje váš účet také Microsoft.Authorization/roleAssignments/write v oboru registru nebo v nadřazeném oboru. Přispěvatel sám o sobě toto oprávnění neuděluje. V případě potřeby požádejte správce Azure, aby provedl integraci nebo udělil přístup k přiřazení role s odpovídajícím rozsahem, například Role Based Access Control Administrator spolu s požadovanými oprávněními pro správu prostředků.

Pomocí následujícího příkazu vytvořte cluster AKS:

az aks create \
    --resource-group $AZ_RESOURCE_GROUP \
    --name $AZ_KUBERNETES_CLUSTER \
    --attach-acr $AZ_CONTAINER_REGISTRY \
    --dns-name-prefix=$AZ_KUBERNETES_CLUSTER_DNS_PREFIX \
    --generate-ssh-keys \
| jq

Poznámka

Vytvoření clusteru AKS může trvat až 10 minut. Po spuštění předchozího příkazu ho můžete nechat pokračovat na kartě Azure CLI a přejít k další jednotce.