Zelfstudie: Een Azure Container-app maken in Kubernetes met Azure Arc (preview)
In deze zelfstudie maakt u een container-app naar een Kubernetes-cluster met Azure Arc (preview) en leert u het volgende:
- Een container-app maken in Azure Arc
- Diagnostische gegevens van uw toepassing weergeven
Vereisten
Voordat u doorgaat met het maken van een container-app, moet u eerst een Kubernetes-cluster met Azure Arc instellen om Azure Container Apps uit te voeren.
Azure CLI-extensies toevoegen
Start de Bash-omgeving in Azure Cloud Shell.
Voeg vervolgens de vereiste Azure CLI-extensies toe.
Waarschuwing
Met de volgende opdracht wordt een aangepaste Container Apps-extensie geïnstalleerd die niet kan worden gebruikt met de openbare cloudservice. U moet de extensie verwijderen als u terugschakelt naar de openbare Azure-cloud.
az extension add --upgrade --yes --name customlocation
az extension add --name containerapp --upgrade --yes
Een brongroep maken
Maak een resourcegroep voor de services die in deze zelfstudie zijn gemaakt.
myResourceGroup="my-container-apps-resource-group"
az group create --name $myResourceGroup --location eastus
Aangepaste locatiegegevens ophalen
Haal de volgende locatiegroep, naam en id op van de clusterbeheerder. Zie Een aangepaste locatie maken voor meer informatie.
customLocationGroup="<RESOURCE_GROUP_CONTAINING_CUSTOM_LOCATION>"
customLocationName="<NAME_OF_CUSTOM_LOCATION>"
Haal de aangepaste locatie-id op.
customLocationId=$(az customlocation show \
--resource-group $customLocationGroup \
--name $customLocationName \
--query id \
--output tsv)
Verbonden omgevings-id ophalen
Nu u de aangepaste locatie-id hebt, kunt u een query uitvoeren voor de verbonden omgeving.
Een verbonden omgeving is grotendeels hetzelfde als een standaard Container Apps-omgeving, maar netwerkbeperkingen worden beheerd door het onderliggende Kubernetes-cluster met Arc.
myContainerApp="my-container-app"
myConnectedEnvironment=$(az containerapp connected-env list --custom-location $customLocationId -o tsv --query '[].id')
Een app maken
In het volgende voorbeeld wordt een Node.js-app gemaakt.
az containerapp create \
--resource-group $myResourceGroup \
--name $myContainerApp \
--environment $myConnectedEnvironment \
--environment-type connected \
--image mcr.microsoft.com/k8se/quickstart:latest \
--target-port 80 \
--ingress external
az containerapp browse --resource-group $myResourceGroup --name $myContainerApp
Diagnostische logboeken ophalen met Log Analytics
Notitie
Er is een Log Analytics-configuratie vereist wanneer u de Container Apps-extensie installeert om diagnostische gegevens weer te geven. Als u de extensie zonder Log Analytics hebt geïnstalleerd, slaat u deze stap over.
Navigeer naar de Log Analytics-werkruimte die is geconfigureerd met uw Container Apps-extensie en selecteer vervolgens Logboeken in het linkernavigatievenster.
Voer de volgende voorbeeldquery uit om logboeken in de afgelopen 72 uur weer te geven.
Als er een fout optreedt bij het uitvoeren van een query, probeert u het over 10-15 minuten opnieuw. Er kan een vertraging optreden voordat Log Analytics logboeken van uw toepassing ontvangt.
let StartTime = ago(72h);
let EndTime = now();
ContainerAppConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where ContainerAppName_s =~ "my-container-app"
De toepassingslogboeken voor alle apps die in uw Kubernetes-cluster worden gehost, worden vastgelegd in de Log Analytics-werkruimte in de aangepaste logboektabel met de naam ContainerAppConsoleLogs_CL
.
- Log_s bevat toepassingslogboeken voor een bepaalde Container Apps-extensie
- AppName_s bevat de naam van de Container App-app. Naast logboeken die u schrijft via uw toepassingscode, bevat de kolom Log_s ook logboeken bij het opstarten en afsluiten van containers.
Meer informatie over logboekquery's vindt u in aan de slag met Kusto.