Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
S clustery Kubernetes s podporou Služby Kubernetes s podporou Služby Azure Arc můžete ve svém místním nebo cloudovém clusteru Kubernetes vytvořit vlastní umístění s povolenou službou Container Apps, abyste nasadí aplikace Azure Container Apps stejně jako jakoukoli jinou oblast.
V tomto kurzu se dozvíte, jak povolit Azure Container Apps v clusteru Kubernetes s podporou Služby Azure Arc. V tomto kurzu se naučíte:
- Vytvořte připojený cluster.
- Vytvoříte pracovní prostor služby Log Analytics
- Nainstalujte rozšíření Container Apps.
- Vytvořte vlastní umístění.
- Vytvořte připojené prostředí Azure Container Apps.
Požadavky
Než začnete, ujistěte se, že máte splněné následující požadavky:
- Účet Azure s aktivním předplatným.
- Pokud jej nemáte, můžete si jej zdarma vytvořit.
- Nainstalujte rozhraní příkazového řádku Azure CLI.
- Přístup k veřejnému nebo privátnímu registru kontejneru, jako je azure Container Registry.
Nastavení
Nainstalujte následující rozšíření Azure CLI.
az extension add --name connectedk8s --upgrade --yes
az extension add --name k8s-extension --upgrade --yes
az extension add --name customlocation --upgrade --yes
az extension add --name containerapp --upgrade --yes
Zaregistrujte požadované obory názvů.
az provider register --namespace Microsoft.ExtendedLocation --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait
az provider register --namespace Microsoft.App --wait
az provider register --namespace Microsoft.Web --wait
az provider register --namespace Microsoft.OperationalInsights --wait
Nastavte proměnné prostředí na základě nasazení clusteru Kubernetes.
GROUP_NAME="my-arc-cluster-group"
AKS_CLUSTER_GROUP_NAME="my-aks-cluster-group"
AKS_NAME="my-aks-cluster"
LOCATION="eastus"
Vytvoření připojeného clusteru
Tyto pokyny jsou určené pro účely vyhodnocení a výuky. Informace o produkčních nasazeních najdete v tématu Rychlý start: Připojení existujícího clusteru Kubernetes ke službě Azure Arc a obecné pokyny k vytvoření clusteru Kubernetes s podporou Azure Arc.
Pokud chcete začít se službou, pomocí následujícího postupu vytvořte cluster Azure Kubernetes Service (AKS) a připojte ho ke službě Azure Arc:
Vytvořte cluster ve službě Azure Kubernetes Service.
az group create --name $AKS_CLUSTER_GROUP_NAME --location $LOCATION az aks create \ --resource-group $AKS_CLUSTER_GROUP_NAME \ --name $AKS_NAME \ --enable-aad \ --generate-ssh-keysZískejte soubor kubeconfig a otestujte připojení ke clusteru. Ve výchozím nastavení se soubor kubeconfig uloží do
~/.kube/configsouboru .az aks get-credentials --resource-group $AKS_CLUSTER_GROUP_NAME --name $AKS_NAME --admin kubectl get nsVytvořte skupinu prostředků, která bude obsahovat vaše prostředky Azure Arc.
az group create --name $GROUP_NAME --location $LOCATIONPřipojte cluster, který jste vytvořili, ke službě Azure Arc.
CLUSTER_NAME="${GROUP_NAME}-cluster" # Name of the connected cluster resource az connectedk8s connect --resource-group $GROUP_NAME --name $CLUSTER_NAMEPomocí následujícího příkazu ověřte připojení. Měla by zobrazit
provisioningStatevlastnost jakoSucceeded. Pokud ne, spusťte příkaz znovu po minutě.az connectedk8s show --resource-group $GROUP_NAME --name $CLUSTER_NAME
Vytvoření pracovního prostoru služby Log Analytics
Pracovní prostor služby Log Analytics poskytuje přístup k protokolům pro aplikace Container Apps spuštěné v clusteru Kubernetes s podporou Azure Arc. Pracovní prostor služby Log Analytics je volitelný, ale doporučuje se.
Vytvoříte pracovní prostor služby Log Analytics
WORKSPACE_NAME="$GROUP_NAME-workspace" # Name of the Log Analytics workspace az monitor log-analytics workspace create \ --resource-group $GROUP_NAME \ --workspace-name $WORKSPACE_NAMESpuštěním následujících příkazů získejte kódované ID pracovního prostoru a sdílený klíč pro existující pracovní prostor služby Log Analytics. Budete je potřebovat v dalším kroku.
LOG_ANALYTICS_WORKSPACE_ID=$(az monitor log-analytics workspace show \ --resource-group $GROUP_NAME \ --workspace-name $WORKSPACE_NAME \ --query customerId \ --output tsv) LOG_ANALYTICS_WORKSPACE_ID_ENC=$(printf %s $LOG_ANALYTICS_WORKSPACE_ID | base64 -w0) # Needed for the next step LOG_ANALYTICS_KEY=$(az monitor log-analytics workspace get-shared-keys \ --resource-group $GROUP_NAME \ --workspace-name $WORKSPACE_NAME \ --query primarySharedKey \ --output tsv) LOG_ANALYTICS_KEY_ENC=$(printf %s $LOG_ANALYTICS_KEY | base64 -w0) # Needed for the next step
Instalace rozšíření Container Apps
Důležité
Pokud se nasazuje do AKS v Azure Local, před pokusem o instalaci rozšíření se ujistěte, že jste nastavili HAProxy nebo vlastní nástroj pro vyrovnávání zatížení . Můžete také použít az containerapp arc setup-core-dns --distro AksAzureLocal k nastavení základního dns pro místní kontexty.
Nastavte následující proměnné prostředí na požadovaný název rozšíření Container Apps, obor názvů clusteru, ve kterém se mají prostředky zřídit, a název připojeného prostředí Azure Container Apps. Zvolte jedinečný název pro
<connected-environment-name>. Název připojeného prostředí je součástí názvu domény aplikace, kterou vytvoříte v připojeném prostředí Azure Container Apps.EXTENSION_NAME="appenv-ext" NAMESPACE="appplat-ns" CONNECTED_ENVIRONMENT_NAME="<connected-environment-name>"Nainstalujte rozšíření Container Apps do clusteru připojeného ke službě Azure Arc s povolenou službou Log Analytics. Log Analytics není možné přidat do rozšíření později.
az k8s-extension create \ --resource-group $GROUP_NAME \ --name $EXTENSION_NAME \ --cluster-type connectedClusters \ --cluster-name $CLUSTER_NAME \ --extension-type 'Microsoft.App.Environment' \ --release-train stable \ --auto-upgrade-minor-version true \ --scope cluster \ --release-namespace $NAMESPACE \ --configuration-settings "Microsoft.CustomLocation.ServiceAccount=default" \ --configuration-settings "appsNamespace=${NAMESPACE}" \ --configuration-settings "clusterName=${CONNECTED_ENVIRONMENT_NAME}" \ --configuration-settings "logProcessor.appLogs.destination=log-analytics" \ --configuration-protected-settings "logProcessor.appLogs.logAnalyticsConfig.customerId=${LOG_ANALYTICS_WORKSPACE_ID_ENC}" \ --configuration-protected-settings "logProcessor.appLogs.logAnalyticsConfig.sharedKey=${LOG_ANALYTICS_KEY_ENC}"Poznámka:
Pokud chcete rozšíření nainstalovat bez integrace Log Analytics, odeberte z příkazu poslední tři
--configuration-settingsparametry.U clusterů, které místo standardního nástroje pro vyrovnávání zatížení AKS používají vlastní nástroj pro vyrovnávání zatížení, zadejte po nastavení nástroje pro vyrovnávání zatížení následující parametr:
--configuration-settings "loadBalancerIp=<LOAD_BALANCER_INGRESS_IP>"Nahraďte <LOAD_BALANCER_INGRESS_IP> skutečnou IP adresou příchozího přenosu dat přiřazenou vašemu nástroji pro vyrovnávání zatížení.
Následující tabulka popisuje různé
--configuration-settingsparametry při spuštění příkazu:Parametr Popis Microsoft.CustomLocation.ServiceAccountÚčet služby vytvořený pro vlastní umístění. Nastavte hodnotu na default.appsNamespaceObor názvů použitý k vytvoření definic a revizí aplikace. Musí odpovídat oboru názvů vydané verze rozšíření. clusterNameNázev prostředí Kubernetes rozšíření Container Apps vytvořené pro toto rozšíření. logProcessor.appLogs.destinationNepovinné. Cíl pro protokoly aplikace. Přijme log-analyticsnebononezvolíte možnost žádného zákazu protokolů platformy.logProcessor.appLogs.logAnalyticsConfig.customerIdPovinné pouze v případě, že logProcessor.appLogs.destinationje nastavena hodnotalog-analytics. ID pracovního prostoru služby Log Analytics kódované podle base64. Tento parametr by měl být nakonfigurovaný jako chráněné nastavení.logProcessor.appLogs.logAnalyticsConfig.sharedKeyPovinné pouze v případě, že logProcessor.appLogs.destinationje nastavena hodnotalog-analytics. Sdílený klíč pracovního prostoru Log Analytics kódovaný base64. Tento parametr by měl být nakonfigurovaný jako chráněné nastavení.loadBalancerIpIP adresa příchozího přenosu dat nástroje pro vyrovnávání zatížení. idUložte vlastnost rozšíření Container Apps pro pozdější použití.EXTENSION_ID=$(az k8s-extension show \ --cluster-type connectedClusters \ --cluster-name $CLUSTER_NAME \ --resource-group $GROUP_NAME \ --name $EXTENSION_NAME \ --query id \ --output tsv)Než budete pokračovat, počkejte, až se rozšíření plně nainstaluje. Relaci terminálu můžete nechat počkat, až se dokončí, spuštěním následujícího příkazu:
az resource wait --ids $EXTENSION_ID --custom "properties.provisioningState!='Pending'" --api-version "2020-07-01-preview"
Slouží kubectl k zobrazení podů spuštěných v clusteru Kubernetes:
kubectl get pods -n $NAMESPACE
Další informace o těchto podech a jejich roli v systému najdete v přehledu služby Azure Arc.
Vytvoření vlastního umístění
Vlastní umístění je umístění Azure, které přiřadíte k připojenému prostředí Azure Container Apps.
Nastavte následující proměnné prostředí na požadovaný název vlastního umístění a ID clusteru připojeného ke službě Azure Arc.
CUSTOM_LOCATION_NAME="my-custom-location" # Name of the custom location CONNECTED_CLUSTER_ID=$(az connectedk8s show --resource-group $GROUP_NAME --name $CLUSTER_NAME --query id --output tsv)Vytvořte vlastní umístění:
az customlocation create \ --resource-group $GROUP_NAME \ --name $CUSTOM_LOCATION_NAME \ --host-resource-id $CONNECTED_CLUSTER_ID \ --namespace $NAMESPACE \ --cluster-extension-ids $EXTENSION_IDPoznámka:
Pokud máte problémy s vytvořením vlastního umístění v clusteru, možná budete muset ve svém clusteru povolit funkci vlastního umístění. Tuto funkci povolte, když jste přihlášeni do CLI, pomocí principála služby nebo uživatele Microsoft Entra s omezenými oprávněními k prostředku clusteru.
Pomocí následujícího příkazu ověřte, že se vlastní umístění úspěšně vytvořilo. Výstup by měl zobrazit
provisioningStatevlastnost jakoSucceeded. Pokud ne, spusťte příkaz po minutě znovu.az customlocation show --resource-group $GROUP_NAME --name $CUSTOM_LOCATION_NAMEUložte ID vlastního umístění pro další krok.
CUSTOM_LOCATION_ID=$(az customlocation show \ --resource-group $GROUP_NAME \ --name $CUSTOM_LOCATION_NAME \ --query id \ --output tsv)
Vytvoření připojeného prostředí Azure Container Apps
Než začnete vytvářet aplikace ve vlastním umístění, potřebujete připojené prostředí Azure Container Apps.
Vytvořte připojené prostředí Container Apps:
az containerapp connected-env create \ --resource-group $GROUP_NAME \ --name $CONNECTED_ENVIRONMENT_NAME \ --custom-location $CUSTOM_LOCATION_ID \ --location $LOCATIONPomocí následujícího příkazu ověřte, že se úspěšně vytvořilo připojené prostředí Container Apps. Výstup by měl zobrazit
provisioningStatevlastnost jakoSucceeded. Pokud ne, spusťte ho znovu po minutě.az containerapp connected-env show --resource-group $GROUP_NAME --name $CONNECTED_ENVIRONMENT_NAME