Skapa och hantera anpassade platser på Azure Arc-aktiverade Kubernetes

Funktionen för anpassade platser är ett sätt att konfigurera dina Azure Arc-aktiverade Kubernetes-kluster som målplatser för att distribuera instanser av Azure-erbjudanden. Exempel på Azure-erbjudanden som kan distribueras ovanpå anpassade platser är databaser, till exempel SQL Managed Instance som aktiveras av Azure Arc och Azure Arc-aktiverad PostgreSQL-server eller programinstanser, till exempel App Services, Functions, Event Grid, Logic Apps och API Management.

En anpassad plats har en en-till-en-mappning till ett namnområde i Det Azure Arc-aktiverade Kubernetes-klustret. Azure-resursen för anpassad plats i kombination med rollbaserad åtkomstkontroll i Azure (Azure RBAC) kan användas för att ge detaljerade behörigheter till programutvecklare eller databasadministratörer, vilket gör det möjligt för dem att distribuera resurser som databaser eller programinstanser ovanpå Arc-aktiverade Kubernetes-kluster i en miljö med flera klientorganisationer.

I den här artikeln får du lära dig hur du aktiverar anpassade platser i ett Arc-aktiverat Kubernetes-kluster och hur du skapar en anpassad plats.

Förutsättningar

  • Installera eller uppgradera Azure CLI till den senaste versionen.

  • Installera de senaste versionerna av följande Azure CLI-tillägg:

    • connectedk8s

    • k8s-extension

    • customlocation

      az extension add --name connectedk8s
      az extension add --name k8s-extension
      az extension add --name customlocation
      

      Om du redan har installerat tilläggen connectedk8s, k8s-extensionoch customlocation uppdaterar du till den senaste versionen med hjälp av följande kommando:

      az extension update --name connectedk8s
      az extension update --name k8s-extension
      az extension update --name customlocation
      
  • Verifiera slutförd providerregistrering för Microsoft.ExtendedLocation.

    1. Ange följande kommandon:

      az provider register --namespace Microsoft.ExtendedLocation
      
    2. Övervaka registreringsprocessen. Registreringen kan ta upp till 10 minuter.

      az provider show -n Microsoft.ExtendedLocation -o table
      

      När tillståndet har registrerats har det RegistrationState värdet Registered .

  • Kontrollera att du har ett befintligt Azure Arc-aktiverat Kubernetes-anslutet kluster och uppgradera dina agenter till den senaste versionen. Bekräfta att den dator där du ska köra kommandona som beskrivs i den här artikeln har en kubeconfig fil som pekar på det här klustret.

Aktivera anpassade platser i klustret

Dricks

Funktionen för anpassade platser är beroende av funktionen för klusteranslutning. Båda funktionerna måste vara aktiverade i klustret för att anpassade platser ska fungera. Om du vill aktivera funktionen anpassade platser följer du stegen nedan:

Om du är inloggad på Azure CLI som Microsoft Entra-användare använder du följande kommando:

az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features cluster-connect custom-locations

Om du kör kommandot ovan när du är inloggad på Azure CLI med hjälp av tjänstens huvudnamn kan du se följande varning:

Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature. Insufficient privileges to complete the operation.

Den här varningen beror på att tjänstens huvudnamn saknar de behörigheter som krävs för att hämta oid (objekt-ID) för den anpassade plats som används av Azure Arc-tjänsten. Följ dessa steg för att undvika det här felet:

  1. Logga in på Azure CLI med ditt användarkonto.

  2. Kör följande kommando för att hämta oid (objekt-ID) för den anpassade platsen, där --id är fördefinierad och inställd på bc313c14-388c-4e7d-a58e-70017303ee3b:

    Viktigt! Kopiera och kör kommandot exakt som det visas nedan. Ersätt inte värdet som skickades till parametern --id med ett annat värde.

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  3. Logga in på Azure CLI med tjänstens huvudnamn. Kör följande kommando för att aktivera funktionen anpassade platser i klustret med hjälp av oid värdet (objekt-ID) från föregående steg för parametern --custom-locations-oid :

    az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <cl-oid> --features cluster-connect custom-locations
    

Skapa anpassad plats

  1. Distribuera klustertillägget för Azure-tjänsten för Azure-tjänstinstansen som du vill installera i klustret:

  2. Hämta Azure Resource Manager-identifieraren för det Azure Arc-aktiverade Kubernetes-klustret som i de senare stegen kallas connectedClusterId:

    az connectedk8s show -n <clusterName> -g <resourceGroupName>  --query id -o tsv
    
  3. Hämta Azure Resource Manager-identifieraren för klustertillägget som du distribuerade till Det Azure Arc-aktiverade Kubernetes-klustret, som i senare steg refereras till som extensionId:

    az k8s-extension show --name <extensionInstanceName> --cluster-type connectedClusters -c <clusterName> -g <resourceGroupName>  --query id -o tsv
    
  4. Skapa den anpassade platsen genom att referera till Det Azure Arc-aktiverade Kubernetes-klustret och tillägget:

    az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId> 
    
    • Obligatoriska parametrar:

      Parameternamn beskrivning
      --name, --n Namnet på den anpassade platsen.
      --resource-group, --g Resursgrupp för den anpassade platsen.
      --namespace Namnområde i klustret som är bundet till den anpassade plats som skapas.
      --host-resource-id Azure Resource Manager-identifierare för Det Azure Arc-aktiverade Kubernetes-klustret (anslutet kluster).
      --cluster-extension-ids Azure Resource Manager-identifierare för en instans av klustertillägget som är installerad i det anslutna klustret. För flera tillägg anger du en utrymmesavgränsad lista över klustertilläggs-ID:t
    • Valfria parametrar:

      Parameternamn beskrivning
      --location, --l Platsen för den anpassade platsens Azure Resource Manager-resurs i Azure. Om det inte anges används platsen för det anslutna klustret.
      --tags Blankstegsavgränsad lista med taggar i formatet key[=value]. Använd "" för att rensa befintliga taggar.
      --kubeconfig Administratör kubeconfig för kluster.

Visa information om en anpassad plats

Om du vill visa information om en anpassad plats använder du följande kommando:

az customlocation show -n <customLocationName> -g <resourceGroupName> 

Visa en lista över anpassade platser

Om du vill visa en lista över alla anpassade platser i en resursgrupp använder du följande kommando:

az customlocation list -g <resourceGroupName> 

Uppdatera en anpassad plats

update Använd kommandot för att lägga till nya värden för --tags eller associera nya --cluster-extension-ids till den anpassade platsen, samtidigt som du behåller befintliga värden för taggar och associerade klustertillägg.

az customlocation update -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds> 

Korrigera en anpassad plats

patch Använd kommandot för att ersätta befintliga värden för --cluster-extension-ids eller --tags. Tidigare värden behålls inte.

az customlocation patch -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds> 

Ta bort en anpassad plats

Om du vill ta bort en anpassad plats använder du följande kommando:

az customlocation delete -n <customLocationName> -g <resourceGroupName> 

Felsökning

Om det inte går att skapa en anpassad plats med felet Unknown proxy error occurredändrar du nätverksprincipen så att intern kommunikation mellan poddar tillåts i azure-arc namnområdet. Se till att även lägga till azure-arc namnområdet som en del av listan över undantag utan proxy för din konfigurerade princip.

Nästa steg