Události
Vytváření inteligentních aplikací
17. 3. 23 - 21. 3. 23
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Pokud máte cluster Kubernetes s podporou Azure Arc, můžete ho použít k vytvoření vlastního umístění s podporou služby App Service a nasazení webových aplikací, aplikací funkcí a aplikací logiky.
Kubernetes s podporou Služby Azure Arc umožňuje zpřístupnit váš místní nebo cloudový cluster Kubernetes pro App Service, Functions a Logic Apps v Azure. Aplikaci můžete vytvořit a nasadit do ní stejně jako jinou oblast Azure.
Pokud nemáte účet Azure, zaregistrujte si ještě dnes bezplatný účet.
Zkontrolujte požadavky a omezení verze Public Preview. Zvláštní důležitost jsou požadavky na cluster.
Spusťte prostředí Bash v Azure Cloud Shellu.
Protože tyto příkazy rozhraní příkazového řádku ještě nejsou součástí základní sady rozhraní příkazového řádku, přidejte je pomocí následujících příkazů.
az extension add --upgrade --yes --name connectedk8s
az extension add --upgrade --yes --name k8s-extension
az extension add --upgrade --yes --name customlocation
az provider register --namespace Microsoft.ExtendedLocation --wait
az provider register --namespace Microsoft.Web --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait
az extension remove --name appservice-kube
az extension add --upgrade --yes --name appservice-kube
Poznámka
Tento kurz používá službu Azure Kubernetes Service (AKS) k poskytnutí konkrétních pokynů pro nastavení prostředí od začátku. V případě produkční úlohy ale pravděpodobně nebudete chtít povolit Azure Arc v clusteru AKS, protože už je spravovaný v Azure. Tento postup vám pomůže začít porozumět službě, ale pro produkční nasazení by se měly zobrazit jako ilustrativní, nikoli preskriptivní. Viz Rychlý start: Připojení existujícího clusteru Kubernetes ke službě Azure Arc , kde najdete obecné pokyny k vytvoření clusteru Kubernetes s podporou Azure Arc.
Vytvořte cluster ve službě Azure Kubernetes Service s veřejnou IP adresou. Nahraďte <group-name>
požadovaným názvem skupiny prostředků.
AKS_CLUSTER_GROUP_NAME="<group-name>" # Name of resource group for the AKS cluster
AKS_NAME="${aksClusterGroupName}-aks" # Name of the AKS cluster
RESOURCE_LOCATION="eastus" # "eastus" or "westeurope"
az group create -g $AKS_CLUSTER_GROUP_NAME -l $RESOURCE_LOCATION
az aks create --resource-group $AKS_CLUSTER_GROUP_NAME --name $AKS_NAME --enable-aad --generate-ssh-keys
Získejte soubor kubeconfig a otestujte připojení ke clusteru. Ve výchozím nastavení se soubor kubeconfig uloží do ~/.kube/config
souboru .
az aks get-credentials --resource-group $AKS_CLUSTER_GROUP_NAME --name $AKS_NAME --admin
kubectl get ns
Vytvořte skupinu prostředků, která bude obsahovat vaše prostředky Azure Arc. Nahraďte <group-name>
požadovaným názvem skupiny prostředků.
GROUP_NAME="<group-name>" # Name of resource group for the connected cluster
az group create -g $GROUP_NAME -l $RESOURCE_LOCATION
Př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_NAME
Pomocí následujícího příkazu ověřte připojení. Měla by zobrazit provisioningState
vlastnost jako Succeeded
. Pokud ne, spusťte příkaz znovu po minutě.
az connectedk8s show --resource-group $GROUP_NAME --name $CLUSTER_NAME
Pracovní prostor Log Analytic sice není nutný ke spuštění služby App Service v Azure Arc, ale vývojáři můžou získat protokoly aplikací pro své aplikace spuštěné v clusteru Kubernetes s podporou Azure Arc.
Pro zjednodušení vytvořte pracovní prostor.
WORKSPACE_NAME="$GROUP_NAME-workspace" # Name of the Log Analytics workspace
az monitor log-analytics workspace create \
--resource-group $GROUP_NAME \
--workspace-name $WORKSPACE_NAME
Spuš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
Nastavte následující proměnné prostředí pro požadovaný název rozšíření Služby App Service, obor názvů clusteru, ve kterém se mají prostředky zřídit, a název prostředí Kubernetes služby App Service. Zvolte jedinečný název , <kube-environment-name>
protože je součástí názvu domény aplikace vytvořené v prostředí Kubernetes služby App Service.
EXTENSION_NAME="appservice-ext" # Name of the App Service extension
NAMESPACE="appservice-ns" # Namespace in your cluster to install the extension and provision resources
KUBE_ENVIRONMENT_NAME="<kube-environment-name>" # Name of the App Service Kubernetes environment resource
Nainstalujte rozšíření služby App Service do clusteru připojeného ke službě Azure Arc s povolenou službou Log Analytics. I když se log Analytics nevyžaduje, nemůžete ho později přidat do rozšíření, takže je teď jednodušší to udělat.
az k8s-extension create \
--resource-group $GROUP_NAME \
--name $EXTENSION_NAME \
--cluster-type connectedClusters \
--cluster-name $CLUSTER_NAME \
--extension-type 'Microsoft.Web.Appservice' \
--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=${KUBE_ENVIRONMENT_NAME}" \
--configuration-settings "keda.enabled=true" \
--configuration-settings "buildService.storageClassName=default" \
--configuration-settings "buildService.storageAccessMode=ReadWriteOnce" \
--configuration-settings "customConfigMap=${NAMESPACE}/kube-environment-config" \
--configuration-settings "envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group=${aksClusterGroupName}" \
--configuration-settings "logProcessor.appLogs.destination=log-analytics" \
--config-protected-settings "logProcessor.appLogs.logAnalyticsConfig.customerId=${LOG_ANALYTICS_WORKSPACE_ID_ENC}" \
--config-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-settings
parametry.
Následující tabulka popisuje různé --configuration-settings
parametry při spuštění příkazu:
Parametr | Popis |
---|---|
Microsoft.CustomLocation.ServiceAccount |
Účet služby, který by se měl vytvořit pro vlastní umístění, které je vytvořeno. Doporučuje se nastavit tuto hodnotu default . |
appsNamespace |
Obor názvů pro zřízení definic a podů aplikace. Musí odpovídat oboru názvů vydané verze rozšíření. |
clusterName |
Název prostředí Kubernetes služby App Service, které je vytvořené pro toto rozšíření. |
keda.enabled |
Jestli by se měl keDA nainstalovat do clusteru Kubernetes. Přijímá true nebo false . |
buildService.storageClassName |
Název třídy úložiště pro službu sestavení pro ukládání artefaktů sestavení. Hodnota jako default určuje třídu s názvem default , a ne žádnou třídu, která je označena jako výchozí. Výchozí hodnota je platná třída úložiště pro AKS a AKS v Azure Local, ale nemusí se jednat o jiné distribuce nebo platformy. |
buildService.storageAccessMode |
Režim přístupu, který se má použít s pojmenovanou třídou úložiště. Přijímá ReadWriteOnce nebo ReadWriteMany . |
customConfigMap |
Název mapy konfigurace, která bude nastavena prostředím Kubernetes služby App Service. V současné době musí být <namespace>/kube-environment-config nahrazen <namespace> hodnotou appsNamespace . |
envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group |
Název skupiny prostředků, ve které se nachází cluster Azure Kubernetes Service. Platné a povinné pouze v případě, že základní cluster je Azure Kubernetes Service. |
logProcessor.appLogs.destination |
Nepovinné. Přijme log-analytics nebo none zvolíte možnost žádného zákazu protokolů platformy. |
logProcessor.appLogs.logAnalyticsConfig.customerId |
Povinné pouze v případě, že logProcessor.appLogs.destination je nastavena hodnota log-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.sharedKey |
Povinné pouze v případě, že logProcessor.appLogs.destination je nastavena hodnota log-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í. |
id
Uložte vlastnost rozšíření služby App Service 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.installState!='Pending'" --api-version "2020-07-01-preview"
Můžete použít kubectl
k zobrazení podů vytvořených v clusteru Kubernetes:
kubectl get pods -n $NAMESPACE
Další informace o těchto podech a jejich roli v systému najdete v podech vytvořených rozšířením služby App Service.
Vlastní umístění v Azure slouží k přiřazení prostředí Kubernetes služby App Service.
Nastavte následující proměnné prostředí pro 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_ID
Pozná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í. To se vyžaduje, pokud jste přihlášení k rozhraní příkazového řádku pomocí instančního objektu nebo pokud jste přihlášení pomocí 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 provisioningState
vlastnost jako Succeeded
. Pokud ne, spusťte ho znovu po minutě.
az customlocation show --resource-group $GROUP_NAME --name $CUSTOM_LOCATION_NAME
Ulož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)
Než začnete vytvářet aplikace ve vlastním umístění, potřebujete prostředí Kubernetes služby App Service.
Vytvořte prostředí Kubernetes služby App Service:
az appservice kube create \
--resource-group $GROUP_NAME \
--name $KUBE_ENVIRONMENT_NAME \
--custom-location $CUSTOM_LOCATION_ID
Pomocí následujícího příkazu ověřte, že se prostředí Kubernetes služby App Service úspěšně vytvořilo. Výstup by měl zobrazit provisioningState
vlastnost jako Succeeded
. Pokud ne, spusťte ho znovu po minutě.
az appservice kube show --resource-group $GROUP_NAME --name $KUBE_ENVIRONMENT_NAME
Události
Vytváření inteligentních aplikací
17. 3. 23 - 21. 3. 23
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatŠkolení
Modul
Nasazení kontejnerizované aplikace ve službě Azure Kubernetes Service - Training
Zjistěte, jak vytvořit a nasadit kontejnerizovanou aplikaci pomocí deklarativních souborů manifestu Azure Kubernetes Service.
Certifikace
Microsoft Certifikát: Azure Vývojářský Asistent - Certifications
Vytvářejte ucelená řešení v Microsoft Azure pro vytváření funkcí Azure, implementaci a správu webových aplikací, vývoj řešení využívajících úložiště Azure a další.