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

Funktionen anpassade platser är ett sätt för klient- eller klusteradministratörer att konfigurera sina Azure Arc-aktiverade Kubernetes-kluster som målplatser för distribution av instanser av Azure-erbjudanden. Exempel på Azure-erbjudanden som kan distribueras ovanpå anpassade platser är databaser, till exempel Azure Arc-aktiverade SQL Managed Instance och Azure Arc-aktiverade 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, så att de kan distribuera resurser som databaser eller programinstanser ovanpå Arc-aktiverade Kubernetes-kluster på ett sätt med flera klientorganisationer.

En konceptuell översikt över den här funktionen finns på anpassade platser – Azure Arc-aktiverade Kubernetes.

I den här artikeln kan du se hur du:

  • Aktivera anpassade platser i ditt Azure Arc-aktiverade Kubernetes-kluster.
  • Skapa 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 filnamnstillä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 .

  • Verifiera att du har ett befintligt Azure Arc-aktiverat Kubernetes-anslutet kluster.

Aktivera anpassade platser i klustret

Om du är inloggad på Azure CLI som en Azure Active Directory-användare (Azure AD) kör du följande kommando för att aktivera den här funktionen i klustret:

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.

Det beror på att tjänstens huvudnamn inte har behörighet att hämta information om det program som används av Azure Arc-tjänsten. Undvik det här felet genom att utföra följande steg:

  1. Logga in på Azure CLI med ditt användarkonto. objectId Hämta eller id för det Azure AD program som används av Azure Arc-tjänsten. Vilket kommando du använder beror på din version av Azure CLI.

    Om du använder en Azure CLI-version som är lägre än 2.37.0 använder du följande kommando:

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query objectId -o tsv
    

    Om du använder Azure CLI version 2.37.0 eller senare använder du följande kommando i stället:

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  2. Logga in på Azure CLI med tjänstens huvudnamn. <objectId> Använd värdet eller id från föregående steg för att aktivera anpassade platser i klustret:

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

Anteckning

Funktionen för anpassade platser är beroende av funktionen Klusteranslutning . Båda funktionerna måste vara aktiverade för att anpassade platser ska fungera.

az connectedk8s enable-features måste köras på en dator där kubeconfig filen pekar på klustret där funktionerna ska aktiveras.

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-identifierare för klustertillägget som distribuerats ovanpå Azure Arc-aktiverat Kubernetes-kluster, 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 <extensionIds> 
    
    • Obligatoriska parametrar:

      Parameternamn Beskrivning
      --name, --n Den anpassade platsens namn
      --resource-group, --g Den anpassade platsens resursgrupp
      --namespace Namnområdet 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 de klustertilläggsinstanser som har installerats i det anslutna klustret. Ange en blankstegsavgränsad lista över klustertilläggs-ID
    • Valfria parametrar:

      Parameternamn Beskrivning
      --location, --l Platsen för den anpassade platsens Azure Resource Manager-resurs i Azure. Som standard anges det till platsen för det anslutna klustret
      --tags Blankstegsavgränsad lista över taggar: key[=value] [key[=value] ...]. Använd "" för att rensa befintliga taggar
      --kubeconfig kubeconfig Admin av 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> 

Obligatoriska parametrar:

Parameternamn Beskrivning
--name, --n Den anpassade platsens namn
--resource-group, --g Den anpassade platsens resursgrupp

Lista 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> 

Obligatoriska parametrar:

Parameternamn Beskrivning
--resource-group, --g Den anpassade platsens resursgrupp

Uppdatera en anpassad plats

update Använd kommandot för att lägga till nya taggar eller associera nya klustertilläggs-ID:n till den anpassade platsen samtidigt som befintliga taggar och associerade klustertillägg bevaras. --cluster-extension-ids, --tags, assign-identity kan uppdateras.

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

Obligatoriska parametrar:

Parameternamn Beskrivning
--name, --n Den anpassade platsens namn
--resource-group, --g Den anpassade platsens resursgrupp
--namespace Namnområdet 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)

Valfria parametrar:

Parameternamn Beskrivning
--cluster-extension-ids Associera nya klustertillägg till den här anpassade platsen genom att tillhandahålla Azure Resource Manager identifierare för de klustertilläggsinstanser som är installerade i det anslutna klustret. Ange en blankstegsavgränsad lista över klustertilläggs-ID
--tags Lägg till nya taggar utöver befintliga taggar. Blankstegsavgränsad lista över taggar: key[=value] [key[=value] ...].

Korrigera en anpassad plats

patch Använd kommandot för att ersätta befintliga taggar, klustertilläggs-ID:n med nya taggar och klustertilläggs-ID:n. --cluster-extension-ids, assign-identity, --tags kan korrigeras.

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

Obligatoriska parametrar:

Parameternamn Beskrivning
--name, --n Den anpassade platsens namn
--resource-group, --g Den anpassade platsens resursgrupp

Valfria parametrar:

Parameternamn Beskrivning
--cluster-extension-ids Associera nya klustertillägg till den här anpassade platsen genom att tillhandahålla Azure Resource Manager identifierare för de klustertilläggsinstanser som är installerade i det anslutna klustret. Ange en blankstegsavgränsad lista över klustertilläggs-ID
--tags Lägg till nya taggar utöver befintliga taggar. Blankstegsavgränsad lista över taggar: key[=value] [key[=value] ...].

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> 

Obligatoriska parametrar:

Parameternamn Beskrivning
--name, --n Den anpassade platsens namn
--resource-group, --g Den anpassade platsens resursgrupp

Felsökning

Om det inte går att skapa en anpassad plats med felet "Okänt proxyfel inträffade" kan det bero på nätverksprinciper som har konfigurerats för att inte tillåta intern kommunikation mellan poddar.

Lös problemet genom att ändra din nätverksprincip så att intern kommunikation mellan poddar tillåts azure-arc i namnområdet. Se till att även lägga till azure-arc namnområdet som en del av listan med undantag utan proxy för din konfigurerade princip.

Nästa steg