Sdílet prostřednictvím


Vytváření a správa vlastních umístění v Kubernetes s podporou Azure Arc

Funkce vlastních umístění poskytuje způsob konfigurace clusterů Kubernetes s podporou Azure Arc jako cílových umístění pro nasazení instancí nabídek Azure. Mezi příklady nabídek Azure, které je možné nasadit nad vlastní umístění, patří databáze, jako je SQL Managed Instance povolená serverem Azure Arc a serverem PostgreSQL s podporou Azure Arc nebo instance aplikací, jako jsou App Services, Functions, Event Grid, Logic Apps a API Management.

Vlastní umístění má mapování 1:1 na obor názvů v clusteru Kubernetes s podporou Služby Azure Arc. Vlastní umístění prostředků Azure v kombinaci s řízením přístupu na základě role v Azure (Azure RBAC) se dá použít k udělení podrobných oprávnění vývojářům aplikací nebo správcům databází, což jim umožňuje nasadit prostředky, jako jsou databáze nebo instance aplikací v clusterech Kubernetes s podporou Arc, v prostředí s více tenanty.

V tomto článku se dozvíte, jak povolit vlastní umístění v clusteru Kubernetes s podporou Arc a jak vytvořit vlastní umístění.

Požadavky

  • Nainstalujte nebo upgradujte Azure CLI na nejnovější verzi.

  • Nainstalujte nejnovější verze následujících rozšíření Azure CLI:

    • connectedk8s

    • k8s-extension

    • customlocation

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

      Pokud jste již nainstalovali connectedk8s, k8s-extensiona customlocation rozšíření, aktualizujte na nejnovější verzi pomocí následujícího příkazu:

      az extension update --name connectedk8s
      az extension update --name k8s-extension
      az extension update --name customlocation
      
  • Ověřte dokončenou registraci poskytovatele pro Microsoft.ExtendedLocation.

    1. Zadejte následující příkazy:

      az provider register --namespace Microsoft.ExtendedLocation
      
    2. Monitorujte proces registrace. Registrace může trvat až 10 minut.

      az provider show -n Microsoft.ExtendedLocation -o table
      

      Po registraci RegistrationState bude mít Registered stav hodnotu.

  • Ověřte, že máte existující cluster Kubernetes s podporou Azure Arc, a upgradujte agenty na nejnovější verzi. Ověřte, že počítač, na kterém budete spouštět příkazy popsané v tomto článku, obsahuje kubeconfig soubor odkazující na tento cluster.

Povolení vlastních umístění ve vašem clusteru

Tip

Funkce vlastních umístění je závislá na funkci Cluster Connect. Aby vlastní umístění fungovala, musí být v clusteru povoleny obě funkce. Pokud chcete povolit funkci vlastních umístění, postupujte následovně:

Pokud jste přihlášení k Azure CLI jako uživatel Microsoft Entra, použijte následující příkaz:

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

Pokud spustíte výše uvedený příkaz při přihlášení k Azure CLI pomocí instančního objektu, může se zobrazit následující upozornění:

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

K tomuto upozornění dochází, protože instanční objekt nemá potřebná oprávnění k načtení oid (ID objektu) vlastního umístění používaného službou Azure Arc. Chcete-li se této chybě vyhnout, postupujte takto:

  1. Přihlaste se k Azure CLI pomocí uživatelského účtu.

  2. Spuštěním následujícího příkazu načtěte oid (ID objektu) vlastního umístění, kde --id je předdefinováno a nastaveno na bc313c14-388c-4e7d-a58e-70017303ee3b:

    Důležité Zkopírujte a spusťte příkaz přesně tak, jak je znázorněno níže. Nenahrazovat hodnotu předanou --id parametru jinou hodnotou.

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  3. Přihlaste se k Azure CLI pomocí instančního objektu. Spuštěním následujícího příkazu povolte funkci vlastních umístění v clusteru pomocí oid hodnoty (ID objektu) z předchozího kroku parametru --custom-locations-oid :

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

Vytvoření vlastního umístění

  1. Nasaďte rozšíření clusteru služeb Azure pro instanci služby Azure, kterou chcete v clusteru nainstalovat:

  2. Získejte identifikátor Azure Resource Manageru clusteru Kubernetes s podporou Azure Arc, který se v pozdějších krocích označuje jako connectedClusterId:

    az connectedk8s show -n <clusterName> -g <resourceGroupName>  --query id -o tsv
    
  3. Získejte identifikátor Azure Resource Manageru rozšíření clusteru, které jste nasadili do clusteru Kubernetes s podporou Azure Arc, na který se odkazuje v dalších krocích:extensionId

    az k8s-extension show --name <extensionInstanceName> --cluster-type connectedClusters -c <clusterName> -g <resourceGroupName>  --query id -o tsv
    
  4. Vytvořte vlastní umístění odkazem na cluster Kubernetes s podporou Azure Arc a rozšíření:

    az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId> 
    
    • Požadované parametry:

      Název parametru Popis
      --name, --n Název vlastního umístění
      --resource-group, --g Skupina prostředků vlastního umístění
      --namespace Obor názvů v clusteru svázaný s vlastním umístěním, které se vytváří.
      --host-resource-id Identifikátor Azure Resource Manageru clusteru Kubernetes s podporou Služby Azure Arc (připojený cluster).
      --cluster-extension-ids Identifikátor Azure Resource Manageru instance rozšíření clusteru nainstalované v připojeném clusteru Pro více rozšíření zadejte seznam ID rozšíření clusteru oddělených mezerami.
    • Volitelné parametry:

      Název parametru Popis
      --location, --l Umístění prostředku Azure Resource Manageru vlastního umístění v Azure. Pokud není zadaný, použije se umístění připojeného clusteru.
      --tags Seznam značek oddělených mezerami ve formátu key[=value]. K vymazání existujících značek použijte ''.
      --kubeconfig Správce kubeconfig clusteru

Zobrazení podrobností o vlastním umístění

Pokud chcete zobrazit podrobnosti vlastního umístění, použijte následující příkaz:

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

Výpis vlastních umístění

Pokud chcete zobrazit seznam všech vlastních umístění ve skupině prostředků, použijte následující příkaz:

az customlocation list -g <resourceGroupName> 

Aktualizace vlastního umístění

update Pomocí příkazu můžete přidat nové hodnoty pro --tags vlastní umístění nebo přidružit nové --cluster-extension-ids k vlastnímu umístění a zachovat stávající hodnoty pro značky a přidružená rozšíření clusteru.

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

Oprava vlastního umístění

patch Pomocí příkazu nahraďte existující hodnoty pro --cluster-extension-ids nebo --tags. Předchozí hodnoty se nezachovají.

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

Odstranění vlastního umístění

Pokud chcete odstranit vlastní umístění, použijte následující příkaz:

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

Řešení problému

Pokud vytvoření vlastního umístění selže s chybou Unknown proxy error occurred, upravte zásady sítě tak, aby umožňovaly interní komunikaci pod-to-pod v rámci azure-arc oboru názvů. Nezapomeňte také přidat azure-arc obor názvů jako součást seznamu vyloučení bez proxy serveru pro nakonfigurované zásady.

Další kroky