Aangepaste locaties maken en beheren in Kubernetes met Azure Arc

De functie aangepaste locaties biedt een manier voor tenant- of clusterbeheerders om hun Kubernetes-clusters met Azure Arc te configureren als doellocaties voor het implementeren van exemplaren van Azure-aanbiedingen. Voorbeelden van Azure-aanbiedingen die kunnen worden geïmplementeerd op aangepaste locaties zijn databases, zoals SQL Managed Instance met Azure Arc en PostgreSQL Hyperscale met Azure Arc, of toepassingsexemplaren, zoals App Services, Functions, Event Grid, Logic Apps en API Management.

Een aangepaste locatie heeft een een-op-een-toewijzing aan een naamruimte binnen het Kubernetes-cluster met Azure Arc. De aangepaste Azure-resource in combinatie met op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) kan worden gebruikt om gedetailleerde machtigingen te verlenen aan toepassingsontwikkelaars of databasebeheerders, zodat ze resources zoals databases of toepassingsexemplaren op een multitenant-manier kunnen implementeren.

Een conceptueel overzicht van deze functie is beschikbaar op aangepaste locaties: Kubernetes met Azure Arc.

In dit artikel leert u het volgende:

  • Schakel aangepaste locaties in op uw Kubernetes-cluster met Azure Arc.
  • Maak een aangepaste locatie.

Vereisten

  • Azure CLI installeren of upgraden naar versie >= 2.16.0.

  • Installeer de volgende Azure CLI-extensies:

    • connectedk8s (versie 1.2.0 of hoger)

    • k8s-extension (versie 1.0.0 of hoger)

    • customlocation (versie 0.1.3 of hoger)

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

      Als u de connectedk8sk8s-extension, en customlocation extensies al hebt geïnstalleerd, werkt u bij naar de nieuwste versie met behulp van de volgende opdracht:

      az extension update --name connectedk8s
      az extension update --name k8s-extension
      az extension update --name customlocation
      
  • Controleer de voltooide providerregistratie voor Microsoft.ExtendedLocation.

    1. Voer de volgende opdrachten in:

      az provider register --namespace Microsoft.ExtendedLocation
      
    2. Controleer het registratieproces. Registratie kan tot 10 minuten duren.

      az provider show -n Microsoft.ExtendedLocation -o table
      

      Zodra de status is geregistreerd, heeft de RegistrationState status de Registered waarde.

  • Controleer of u een bestaand met Kubernetes verbonden Kubernetes-cluster met Azure Arc hebt.

Aangepaste locaties inschakelen in uw cluster

Als u bent aangemeld bij Azure CLI als een Azure Active Directory-gebruiker (Azure AD), voert u de volgende opdracht uit om deze functie in te schakelen op uw cluster:

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

Als u de bovenstaande opdracht uitvoert terwijl u bent aangemeld bij Azure CLI met behulp van een service-principal, ziet u mogelijk de volgende waarschuwing:

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

Dit komt doordat een service-principal geen machtigingen heeft voor het ophalen van informatie over de toepassing die wordt gebruikt door de Azure Arc-service. Voer de volgende stappen uit om deze fout te voorkomen:

  1. Meld u aan bij Azure CLI met uw gebruikersaccount. Haal de objectId of id de Azure AD toepassing op die wordt gebruikt door de Azure Arc-service. De opdracht die u gebruikt, is afhankelijk van uw versie van Azure CLI.

    Als u een Azure CLI-versie gebruikt die lager is dan 2.37.0, gebruikt u de volgende opdracht:

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

    Als u Azure CLI versie 2.37.0 of hoger gebruikt, gebruikt u in plaats daarvan de volgende opdracht:

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  2. Meld u aan bij Azure CLI met behulp van de service-principal. Gebruik de <objectId> of id waarde uit de vorige stap om aangepaste locaties in het cluster in te schakelen:

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

Notitie

De functie aangepaste locaties is afhankelijk van de functie Clusterverbinding . Beide functies moeten zijn ingeschakeld om aangepaste locaties te laten werken.

az connectedk8s enable-features moet worden uitgevoerd op een computer waarop het kubeconfig bestand verwijst naar het cluster waarop de functies moeten worden ingeschakeld.

Aangepaste locatie maken

  1. Implementeer de Azure-serviceclusterextensie van het Azure-service-exemplaar dat u wilt installeren op uw cluster:

  2. Haal de Azure Resource Manager-id op van het Kubernetes-cluster met Azure Arc, waarnaar in latere stappen wordt verwezen als connectedClusterId:

    az connectedk8s show -n <clusterName> -g <resourceGroupName>  --query id -o tsv
    
  3. Haal de Azure Resource Manager-id op van de clusterextensie die is geïmplementeerd op het Kubernetes-cluster met Azure Arc, waarnaar in latere stappen wordt verwezen alsextensionId:

    az k8s-extension show --name <extensionInstanceName> --cluster-type connectedClusters -c <clusterName> -g <resourceGroupName>  --query id -o tsv
    
  4. Maak de aangepaste locatie door te verwijzen naar het Kubernetes-cluster met Azure Arc en de extensie:

    az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds> 
    
    • Vereiste parameters:

      Parameternaam Beschrijving
      --name, --n Naam van de aangepaste locatie
      --resource-group, --g Resourcegroep van de aangepaste locatie
      --namespace Naamruimte in het cluster dat is gebonden aan de aangepaste locatie die wordt gemaakt
      --host-resource-id Azure Resource Manager-id van het Kubernetes-cluster met Azure Arc (verbonden cluster)
      --cluster-extension-ids Azure Resource Manager-id's van de clusterextensie-exemplaren die zijn geïnstalleerd op het verbonden cluster. Een door spaties gescheiden lijst met de clusterextensie-id's opgeven
    • Optionele parameters:

      Parameternaam Beschrijving
      --location, --l Locatie van de aangepaste locatie van Azure Resource Manager-resource in Azure. Standaard wordt deze ingesteld op de locatie van het verbonden cluster
      --tags Door spaties gescheiden lijst met tags: key[=value] [key[=value] ...]. Gebruik '' om bestaande tags te wissen
      --kubeconfig kubeconfig Beheer van het cluster

Details van een aangepaste locatie weergeven

Gebruik de volgende opdracht om de details van een aangepaste locatie weer te geven:

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

Vereiste parameters:

Parameternaam Beschrijving
--name, --n Naam van de aangepaste locatie
--resource-group, --g Resourcegroep van de aangepaste locatie

Aangepaste locaties weergeven

Gebruik de volgende opdracht om alle aangepaste locaties in een resourcegroep weer te geven:

az customlocation show -g <resourceGroupName> 

Vereiste parameters:

Parameternaam Beschrijving
--resource-group, --g Resourcegroep van de aangepaste locatie

Een aangepaste locatie bijwerken

Gebruik de update opdracht om nieuwe tags toe te voegen of nieuwe clusterextensie-id's aan de aangepaste locatie te koppelen terwijl bestaande tags en bijbehorende clusterextensies behouden blijven. --cluster-extension-ids, --tagsassign-identity kan worden bijgewerkt.

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

Vereiste parameters:

Parameternaam Beschrijving
--name, --n Naam van de aangepaste locatie
--resource-group, --g Resourcegroep van de aangepaste locatie
--namespace Naamruimte in het cluster dat is gebonden aan de aangepaste locatie die wordt gemaakt
--host-resource-id Azure Resource Manager-id van het Kubernetes-cluster met Azure Arc (verbonden cluster)

Optionele parameters:

Parameternaam Beschrijving
--cluster-extension-ids Koppel nieuwe clusterextensies aan deze aangepaste locatie door Azure Resource Manager id's op te geven van de clusterextensie-exemplaren die zijn geïnstalleerd op het verbonden cluster. Een door spaties gescheiden lijst met de clusterextensie-id's opgeven
--tags Voeg naast bestaande tags nieuwe tags toe. Door spaties gescheiden lijst met tags: key[=value] [key[=value] ...].

Een aangepaste locatie patchen

Gebruik de patch opdracht om bestaande tags, clusterextensie-id's te vervangen door nieuwe tags en clusterextensie-id's. --cluster-extension-ids, assign-identity--tags kan worden gepatcht.

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

Vereiste parameters:

Parameternaam Beschrijving
--name, --n Naam van de aangepaste locatie
--resource-group, --g Resourcegroep van de aangepaste locatie

Optionele parameters:

Parameternaam Beschrijving
--cluster-extension-ids Koppel nieuwe clusterextensies aan deze aangepaste locatie door Azure Resource Manager id's op te geven van de clusterextensie-exemplaren die zijn geïnstalleerd op het verbonden cluster. Een door spaties gescheiden lijst met de clusterextensie-id's opgeven
--tags Voeg naast bestaande tags nieuwe tags toe. Door spaties gescheiden lijst met tags: key[=value] [key[=value] ...].

Een aangepaste locatie verwijderen

Gebruik de volgende opdracht om een aangepaste locatie te verwijderen:

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

Volgende stappen