Aangepaste locaties maken en beheren in Kubernetes met Azure Arc
De functie aangepaste locaties biedt een manier om uw 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 ingeschakeld door Azure Arc en PostgreSQL-server 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 Azure-resource voor aangepaste locaties 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 kunnen implementeren op Kubernetes-clusters met Arc in een omgeving met meerdere tenants.
In dit artikel leert u hoe u aangepaste locaties inschakelt op een Kubernetes-cluster met Arc en hoe u een aangepaste locatie maakt.
Vereisten
Azure CLI installeren of upgraden naar de nieuwste versie.
Installeer de nieuwste versies van de volgende Azure CLI-extensies:
connectedk8s
k8s-extension
customlocation
az extension add --name connectedk8s az extension add --name k8s-extension az extension add --name customlocation
Als u de
connectedk8s
,k8s-extension
encustomlocation
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
.Voer de volgende opdrachten in:
az provider register --namespace Microsoft.ExtendedLocation
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 deRegistered
waarde.
Controleer of u een bestaand Met Azure Arc verbonden Kubernetes-cluster hebt en werk uw agents bij naar de nieuwste versie. Controleer of de computer waarop u de opdrachten uitvoert die in dit artikel worden beschreven, een
kubeconfig
bestand bevat dat naar dit cluster verwijst.
Aangepaste locaties inschakelen in uw cluster
Tip
De functie voor aangepaste locaties is afhankelijk van de functie clusterverbinding . Beide functies moeten zijn ingeschakeld in het cluster om aangepaste locaties te laten werken.
Als u bent aangemeld bij Azure CLI als Microsoft Entra-gebruiker, gebruikt u de volgende opdracht:
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:
Meld u aan bij Azure CLI met uw gebruikersaccount. Haal de
objectId
ofid
van de Microsoft Entra-toepassing op die wordt gebruikt door de Azure Arc-service met behulp van de volgende opdracht:az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
Meld u aan bij Azure CLI met behulp van de service-principal. Gebruik de
<objectId>
ofid
waarde uit de vorige stap om aangepaste locaties op 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
Aangepaste locatie maken
Implementeer de Azure-serviceclusterextensie van het Azure-service-exemplaar dat u wilt installeren op uw cluster:
Gegevensservices met Azure Arc
Notitie
Uitgaande proxy zonder verificatie en uitgaande proxy met basisverificatie worden ondersteund door de clusterextensie voor Gegevensservices met Azure Arc. Uitgaande proxy die verwacht dat vertrouwde certificaten momenteel niet worden ondersteund.
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
Haal de Azure Resource Manager-id op van de clusterextensie die u hebt geïmplementeerd in het Kubernetes-cluster met Azure Arc, waarnaar in latere stappen wordt verwezen als
extensionId
:az k8s-extension show --name <extensionInstanceName> --cluster-type connectedClusters -c <clusterName> -g <resourceGroupName> --query id -o tsv
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 <extensionId>
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 van een clusterextensie-exemplaar dat is geïnstalleerd op het verbonden cluster. Voor meerdere extensies geeft u een door spaties gescheiden lijst met clusterextensie-id's op Optionele parameters:
Parameternaam Beschrijving --location, --l
Locatie van de aangepaste locatie van Azure Resource Manager-resource in Azure. Als dit niet is opgegeven, wordt de locatie van het verbonden cluster gebruikt. --tags
Door spaties gescheiden lijst met tags in de indeling 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>
Aangepaste locaties weergeven
Gebruik de volgende opdracht om alle aangepaste locaties in een resourcegroep weer te geven:
az customlocation list -g <resourceGroupName>
Een aangepaste locatie bijwerken
Gebruik de update
opdracht om nieuwe waarden toe te voegen voor --tags
of nieuwe --cluster-extension-ids
te koppelen aan de aangepaste locatie, terwijl bestaande waarden voor tags en gekoppelde clusterextensies behouden blijven.
az customlocation update -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Een aangepaste locatie patchen
Gebruik de patch
opdracht om bestaande waarden voor --cluster-extension-ids
of --tags
. Eerdere waarden worden niet bewaard.
az customlocation patch -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Een aangepaste locatie verwijderen
Gebruik de volgende opdracht om een aangepaste locatie te verwijderen:
az customlocation delete -n <customLocationName> -g <resourceGroupName>
Probleemoplossing
Als het maken van aangepaste locaties mislukt met de fout Unknown proxy error occurred
, wijzigt u uw netwerkbeleid zodat interne communicatie tussen pods binnen de azure-arc
naamruimte mogelijk is. Zorg ervoor dat u de azure-arc
naamruimte ook toevoegt als onderdeel van de uitsluitingslijst zonder proxy voor uw geconfigureerde beleid.
Volgende stappen
- Maak veilig verbinding met het cluster met behulp van Cluster Verbinding maken.
- Ga verder met Azure-app Service in Azure Arc voor end-to-end-instructies voor het installeren van extensies, het maken van aangepaste locaties en het maken van de App Service Kubernetes-omgeving.
- Maak een Event Grid-onderwerp en een gebeurtenisabonnement voor Event Grid in Kubernetes.
- Meer informatie over momenteel beschikbare Kubernetes-extensies met Azure Arc.