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

Viktigt!

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.

OID (Custom Location Object ID) krävs för att aktivera anpassad plats. Om ditt användarkonto har de behörigheter som krävs hämtas OID automatiskt under funktionsaktivering. Om du inte har ett giltigt användarkonto används manuellt godkänd OID men OID kan inte verifieras. Om OID är ogiltig kanske den anpassade platsen inte är korrekt aktiverad.

Om du vill aktivera funktionen för anpassade platser som Microsoft Entra-användare följer du stegen nedan:

  1. Logga in på Azure CLI som en Microsoft Entra-användare och kör följande kommando:
az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features cluster-connect custom-locations

Om du vill aktivera funktionen för anpassade platser med tjänstens huvudnamn följer du stegen nedan:

Hämta den anpassade plats-OID:en manuellt genom att följa dessa steg:

  1. Logga in på Azure CLI som Microsoft Entra-användare.

  2. Kör följande kommando för att hämta den anpassade platsen oid (objekt-ID), där --id refererar till själva custom location service-appen och ä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.
  5. Bekräfta att den anpassade platsen har aktiverats genom att köra följande kommando och kontrollera att ProvisioningState är Succeeded:

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

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.

Om du försöker aktivera anpassad plats när du är inloggad i 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 anvisningarna ovan för att aktivera funktionen för anpassad plats med hjälp av tjänstens huvudnamn.

Nästa steg