Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La funzionalità posizioni personalizzate, offre un modo per configurare i cluster Kubernetes abilitati per Azure Arc come posizioni di destinazione per la distribuzione di istanze delle offerte di Azure. Esempi di offerte di Azure che possono essere distribuite su posizioni personalizzate includono database, come Istanza di SQL gestita abilitata da Azure Arc e server PostgreSQL abilitato per Azure Arc, o istanze di applicazioni, come Container Apps, Logic Apps, Event Grid e Gestione API.
Una posizione personalizzata ha un mapping uno-a-uno a uno spazio dei nomi all'interno del cluster Kubernetes abilitato per Azure Arc. La risorsa di Azure per la posizione personalizzata combinata con il controllo degli accessi in base al ruolo di Azure può essere usata per concedere autorizzazioni granulari agli sviluppatori di applicazioni o agli amministratori di database, consentendo loro di implementare risorse come database o istanze dell'applicazione nei cluster Kubernetes abilitati per Arc in un ambiente multi-tenant.
Questo articolo illustra come abilitare posizioni personalizzate in un cluster Kubernetes abilitato per Arc e come crearne una.
Prerequisiti
Installare o aggiornare l'interfaccia della riga di comando di Azure alla versione più recente.
Installare le versioni più recenti delle estensioni dell'interfaccia della riga di comando di Azure seguenti:
connectedk8s
k8s-extension
customlocation
az extension add --name connectedk8s az extension add --name k8s-extension az extension add --name customlocation
Se sono già state installate le estensioni
connectedk8s
,k8s-extension
ecustomlocation
, eseguire l'aggiornamento all’ultima versione usando il comando seguente:az extension update --name connectedk8s az extension update --name k8s-extension az extension update --name customlocation
Verificare la registrazione completata del fornitore per
Microsoft.ExtendedLocation
.Immettere i comandi seguenti:
az provider register --namespace Microsoft.ExtendedLocation
Monitorare il processo di registrazione. La registrazione può richiedere fino a 10 minuti.
az provider show -n Microsoft.ExtendedLocation -o table
Dopo la registrazione, lo stato
RegistrationState
avrà il valoreRegistered
.
Verificare di disporre di un cluster connesso Kubernetes abilitato per Azure Arc e di aggiornare gli agenti all’ultima versione. Verificare che nel computer in cui verranno eseguiti i comandi descritti in questo articolo sia presente un file
kubeconfig
che punta a questo cluster.
Abilitare le posizioni personalizzate nel cluster
Importante
La funzionalità Posizioni personalizzate dipende dalla funzionalità Connessione del cluster. Entrambe le funzionalità devono essere abilitate nel cluster per il funzionamento di posizioni personalizzate.
L'OID (Custom Location Object ID) è necessario per abilitare la posizione personalizzata. Se l'account utente dispone delle autorizzazioni necessarie, l'OID viene recuperato automaticamente durante l'abilitazione delle funzionalità. Se non si dispone di un account utente valido, viene usato l'OID passato manualmente, ma l'OID non può essere convalidato. Se l'OID non è valido, la posizione personalizzata potrebbe non essere abilitata correttamente.
La funzionalità percorsi personalizzati deve essere abilitata prima di creare i percorsi personalizzati perché l'abilitazione fornisce le autorizzazioni necessarie per creare lo spazio dei nomi dei percorsi personalizzati nel cluster Kubernetes.
Per abilitare la funzionalità percorsi personalizzati come utente di Microsoft Entra, seguire questa procedura:
- Accedere all'interfaccia della riga di comando di Azure come utente di Microsoft Entra ed eseguire il comando seguente:
az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features cluster-connect custom-locations
Per abilitare la funzionalità percorsi personalizzati con un'entità servizio, seguire questa procedura:
Recuperare manualmente l'OID percorso personalizzato seguendo questa procedura:
Accedi al CLI di Azure come utente di Microsoft Entra.
Eseguire il comando seguente per recuperare la posizione
oid
personalizzata (ID oggetto), dove--id
fa riferimento all'app del servizio di posizione personalizzata stessa ed è predefinita e impostata subc313c14-388c-4e7d-a58e-70017303ee3b
:Importante Copiare ed eseguire il comando esattamente come illustrato di seguito. Non sostituire il valore passato al parametro
--id
con un valore diverso.az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
Accedere all'interfaccia della riga di comando di Azure con l'entità servizio. Eseguire il comando seguente per abilitare la funzionalità delle posizioni personalizzate nel cluster, usando
oid
(ID oggetto) del passaggio precedente per il parametro--custom-locations-oid
:az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <cl-oid> --features cluster-connect custom-locations
Crea una località personalizzata
Distribuisci l'estensione del cluster del servizio di Azure relativa all'istanza che desideri installare nel cluster:
Servizi dati abilitati per Azure Arc
Nota
L'estensione del cluster dei servizi dati abilitati da Azure Arc supporta il proxy in uscita senza autenticazione e il proxy in uscita con autenticazione di base. Il proxy in uscita che prevede certificati attendibili non è attualmente supportato.
Ottenere l'identificatore di Azure Resource Manager del cluster Kubernetes abilitato per Azure Arc, a cui nei passaggi successivi si fa riferimento come
connectedClusterId
:az connectedk8s show -n <clusterName> -g <resourceGroupName> --query id -o tsv
Ottenere l'identificatore di Azure Resource Manager dell'estensione del cluster distribuita nel cluster Kubernetes abilitato per Azure Arc, a cui nei passaggi successivi si fa riferimento come
extensionId
:az k8s-extension show --name <extensionInstanceName> --cluster-type connectedClusters -c <clusterName> -g <resourceGroupName> --query id -o tsv
Creare la posizione personalizzata facendo riferimento al cluster Kubernetes abilitato per Azure Arc e all'estensione:
az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId>
Parametri obbligatori:
Nome del parametro Descrizione --name, --n
Nome della posizione personalizzata. --resource-group, --g
Gruppo di risorse della posizione personalizzata. --namespace
Spazio dei nomi nel cluster associato alla posizione personalizzata creata. --host-resource-id
Identificatore di Azure Resource Manager del cluster Kubernetes abilitato per Azure Arc (cluster connesso). --cluster-extension-ids
Identificatori di Azure Resource Manager delle istanze dell'estensione del cluster installate nel cluster connesso. Per più estensioni, fornire un elenco di ID delle estensioni del cluster separato da spazi. Parametri facoltativi:
Il nome del parametro Descrizione --location, --l
Posizione della risorsa di Azure Resource Manager della posizione personalizzata in Azure. Se non specificato, viene usata la posizione del cluster connesso. --tags
Elenco di tag delimitato da spazi nel formato key[=value]
. Usare '' per cancellare tag esistenti.--kubeconfig
Amministratore kubeconfig
del cluster.
Verificare che il percorso personalizzato sia stato abilitato correttamente eseguendo il comando seguente e verificando che
ProvisioningState
siaSucceeded
:
az customlocation show -n <customLocationName> -g <resourceGroupName>
Mostra i dettagli di una posizione personalizzata
Per visualizzare i dettagli di una posizione personalizzata, usare il comando seguente:
az customlocation show -n <customLocationName> -g <resourceGroupName>
Elenco di posizioni personalizzate
Per elencare tutte le posizioni personalizzate in un gruppo di risorse, usare il comando seguente:
az customlocation list -g <resourceGroupName>
Aggiorna una posizione personalizzata
Usare il comando update
per aggiungere nuovi valori per --tags
o associare nuovi --cluster-extension-ids
alla posizione personalizzata, mantenendo i valori esistenti per i tag e le estensioni del cluster associate.
az customlocation update -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Applicare patch a una posizione personalizzata
Usare il comando patch
per sostituire i valori esistenti per --cluster-extension-ids
o --tags
. I valori precedenti non vengono mantenuti.
az customlocation patch -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Elimina una posizione personalizzata
Per eliminare una posizione personalizzata, usare il comando seguente:
az customlocation delete -n <customLocationName> -g <resourceGroupName>
Risoluzione dei problemi
Errore ottenuto sulle credenziali d'accesso in Azure CLI v2.70.0
È possibile che venga visualizzato un errore che contiene: TypeError: get_login_credentials() got an unexpected keyword argument 'resource'
. L'interfaccia della riga di comando di Azure v2.70.0 ha rilasciato una modifica che causa un'interruzione che attiva questo errore. Una correzione è disponibile nell'estensione dell'interfaccia della riga di comando di Az customlocation v0.1.4 per la compatibilità con l'interfaccia della riga di comando di Azure v2.70.0 e versioni successive. Se si utilizza un'estensione Customlocation dell'Az CLI inferiore alla v0.1.4, è necessario eseguire il downgrade di Azure CLI alla versione 2.69.0. Se hai usato il programma di installazione dell'interfaccia a riga di comando di Azure, puoi disinstallare la versione corrente e installare Azure CLI v2.69.0 dal Azure CLI installation page
. Se è stato usato il programma di installazione pip, è possibile eseguire il comando seguente per effettuare il downgrade: pip install azure-cli==2.69.0
.
Errore proxy sconosciuto
Se la creazione di posizioni personalizzate ha esito negativo con l'errore Unknown proxy error occurred
, modificare i criteri di rete per consentire la comunicazione interna da pod a pod all'interno dello spazio dei nomi azure-arc
. Assicurarsi di aggiungere anche lo spazio dei nomi azure-arc
come parte dell'elenco di esclusione no-proxy per i criteri configurati.
Avviso dell'entità servizio
Se si tenta di abilitare la posizione personalizzata durante l'accesso all'interfaccia della riga di comando di Azure usando un'entità servizio, è possibile osservare l'avviso seguente:
Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature. Insufficient privileges to complete the operation.
Questo avviso si verifica perché l'entità servizio non dispone delle autorizzazioni necessarie per recuperare oid
(ID oggetto) della posizione personalizzata usata dal servizio Azure Arc. Seguire le istruzioni fornite in precedenza per abilitare la funzionalità di posizione personalizzata usando un'entità servizio.
Il provider di risorse non dispone delle autorizzazioni necessarie
Se si tenta di creare il percorso personalizzato prima che la funzionalità di posizione personalizzata sia stata abilitata nel cluster Kubernetes, è possibile che venga visualizzato il messaggio di errore seguente:
Deployment failed. Correlation ID: ... "Microsoft.ExtendedLocation" resource provider does not have the required permissions to create a namespace on the cluster. Refer to https://aka.ms/ArcK8sCustomLocationsDocsEnableFeature to provide the required permissions to the resource provider.
Prima di tutto, seguire le istruzioni precedenti per abilitare la funzionalità di posizione personalizzata nel cluster Kubernetes. Dopo aver abilitato la funzionalità, è possibile seguire la procedura per creare la posizione personalizzata.
Passaggi successivi
- Connettersi in modo sicuro al cluster usando Cluster Connect.
- Continuare con App Azure Container in Azure Arc per istruzioni end-to-end sull'installazione delle estensioni, sulla creazione di percorsi personalizzati e sulla creazione dell'ambiente connesso di App Azure Container.
- Creare un argomento di Griglia di eventi e una sottoscrizione di eventi per Griglia di eventi in Kubernetes.
- Altre informazioni sulle estensioni Kubernetes abilitate per Azure Arc attualmente disponibili.