Povolení služby Azure Arc v clusteru Kubernetes na zařízení Azure Stack Edge Pro GPU
PLATÍ PRO: Azure Stack Edge Pro – GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
V tomto článku se dozvíte, jak povolit Azure Arc v existujícím clusteru Kubernetes na zařízení Azure Stack Edge Pro.
Tento postup předpokládá, že jste si přečetli a porozuměli následujícím článkům:
Požadavky
Ujistěte se, že jste dokončili následující požadavky na zařízení Azure Stack Edge Pro a klienta, kterého používáte pro přístup k zařízení:
Zařízení
Máte přihlašovací údaje k zařízení Azure Stack Edge Pro s 1 uzly.
- Zařízení je aktivované. Viz Aktivace zařízení.
- Zařízení má nakonfigurovanou výpočetní roli prostřednictvím webu Azure Portal a má cluster Kubernetes. Viz Konfigurace výpočetních prostředků.
Máte přístup vlastníka k předplatnému. Tento přístup budete potřebovat během kroku přiřazení role pro instanční objekt.
Pro klienty přistupující k zařízení
Máte klientský systém Windows, který se používá pro přístup k zařízení Azure Stack Edge Pro.
Klient používá Windows PowerShell 5.0 nebo novější. Pokud si chcete stáhnout nejnovější verzi Windows PowerShellu, přejděte do části Instalace Windows PowerShellu.
Můžete mít i jakéhokoli jiného klienta s podporovaným operačním systémem . Tento článek popisuje postup při použití klienta systému Windows.
Dokončili jste postup popsaný v accessovém clusteru Kubernetes na zařízení Azure Stack Edge Pro. Máte:
- Nainstalováno
kubectl
v klientovi. - Ujistěte se, že
kubectl
verze klienta není více než jedna verze z hlavní verze Kubernetes spuštěné na vašem zařízení Azure Stack Edge Pro.Slouží
kubectl version
ke kontrole verze kubectl spuštěné v klientovi. Poznamenejte si plnou verzi.V místním uživatelském rozhraní vašeho zařízení Azure Stack Edge Pro přejděte na Aktualizace softwaru a poznamenejte si číslo verze serveru Kubernetes.
Ověřte, že jsou tyto dvě verze kompatibilní.
- Nainstalováno
Registrace poskytovatelů prostředků Kubernetes
Než povolíte Azure Arc v clusteru Kubernetes, musíte povolit a zaregistrovat a Microsoft.KubernetesConfiguration
v Microsoft.Kubernetes
předplatném.
Pokud chcete povolit poskytovatele prostředků, přejděte na webu Azure Portal k předplatnému, které plánujete použít pro nasazení. Přejděte na poskytovatele prostředků.
V pravém podokně vyhledejte zprostředkovatele, které chcete přidat. V tomto příkladu
Microsoft.Kubernetes
aMicrosoft.KubernetesConfiguration
.Vyberte poskytovatele prostředků a v horní části panelu příkazů vyberte Zaregistrovat. Registrace trvá několik minut.
Aktualizujte uživatelské rozhraní, dokud neuvidíte, že je zaregistrovaný poskytovatel prostředků. Opakujte proces pro oba poskytovatele prostředků.
Poskytovatele prostředků můžete také zaregistrovat prostřednictvím nástroje az cli
. Další informace najdete v tématu Registrace dvou poskytovatelů pro Kubernetes s podporou Azure Arc.
Vytvoření instančního objektu, přiřazení role
Ujistěte se, že máte
Subscription ID
skupinu prostředků, kterou jste použili pro nasazení prostředků pro službu Azure Stack Edge, a název skupiny prostředků. Id předplatného získáte tak, že na webu Azure Portal přejdete k prostředku Azure Stack Edge. Přejděte do části Základní informace o přehledu>.Název skupiny prostředků získáte tak, že přejdete na Vlastnosti.
K vytvoření instančního objektu použijte následující příkaz prostřednictvím příkazu
az cli
.az ad sp create-for-rbac --name "<Informative name for service principal>"
Informace o tom, jak se přihlásit ke službě Cloud Shell,
az cli
najdete na webu Azure Portal. Pokud k vytvoření instančního objektu používáteaz cli
místního klienta, ujistěte se, že používáte verzi 2.25 nebo novější.Následuje příklad.
PS /home/user> az ad sp create-for-rbac --name "https://azure-arc-for-ase-k8s" { "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "displayName": "azure-arc-for-ase-k8s", "name": "https://azure-arc-for-ase-k8s", "password": "<password>", "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } PS /home/user>
Poznamenejte
appID
si ,name
password
atenantID
jak tyto hodnoty použijete jako vstup k dalšímu příkazu.Po vytvoření nového instančního objektu
Kubernetes Cluster - Azure Arc Onboarding
přiřaďte roli nově vytvořenému objektu zabezpečení. Jedná se o integrovanou roli Azure (použití ID role v příkazu) s omezenými oprávněními. Použijte následující příkaz:az role assignment create --role 34e09817-6cbe-4d01-b1a2-e0eac5743d41 --assignee <appId-from-service-principal> --scope /subscriptions/<SubscriptionID>/resourceGroups/<Resource-group-name>
Následuje příklad.
PS /home/user> az role assignment create --role 34e09817-6cbe-4d01-b1a2-e0eac5743d41 --assignee xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --scope /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myaserg1 { "canDelegate": null, "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myaserg1/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000", "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "principalType": "ServicePrincipal", "resourceGroup": "myaserg1", "roleDefinitionId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Authorization/roleDefinitions/34e09817-6cbe-4d01-b1a2-e0eac5743d41", "scope": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myaserg1", "type": "Microsoft.Authorization/roleAssignments" } PS /home/user>
Povolení služby Arc v clusteru Kubernetes
Ke konfiguraci clusteru Kubernetes pro správu Azure Arc postupujte takto:
Připojte se k rozhraní PowerShellu vašeho zařízení.
Zadejte:
Set-HcsKubernetesAzureArcAgent -SubscriptionId "<Your Azure Subscription Id>" -ResourceGroupName "<Resource Group Name>" -ResourceName "<Azure Arc resource name (shouldn't exist already)>" -Location "<Region associated with resource group>" -TenantId "<Tenant Id of service principal>" -ClientId "<App id of service principal>"
Po spuštění tohoto příkazu se zobrazí následující výzva k zadání
ClientSecret
příkazu . Zadejte heslo instančního objektu.CloudEnvironment
Přidejte parametr, pokud používáte jiný cloud než veřejný Azure. Tento parametr můžete nastavit naAZUREPUBLICCLOUD
,AZURECHINACLOUD
,AZUREGERMANCLOUD
aAZUREUSGOVERNMENTCLOUD
.Poznámka:
- Pokud chcete nasadit Azure Arc na zařízení, ujistěte se, že používáte podporovanou oblast pro Azure Arc.
az account list-locations
Pomocí příkazu zjistěte přesný název umístění, který se má předat rutiněSet-HcsKubernetesAzureArcAgent
. Názvy umístění jsou obvykle formátované bez mezer.ClientId
aClientSecret
jsou povinné.
Tady je příklad:
[10.100.10.10]: PS>Set-HcsKubernetesAzureArcAgent -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "myaserg1" -ResourceName "myasetestresarc" -Location "westeurope" -TenantId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ClientId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" WARNING: A script or application on the remote computer 10.126.76.0 is sending a prompt request. When you are prompted, enter sensitive information, such as credentials or passwords, only if you trust the remote computer and the application or script that is requesting the data. cmdlet Set-HcsKubernetesAzureArcAgent at command pipeline position 1 Supply values for the following parameters: ClientSecret: ********************************** [10.100.10.10]: PS>
Na webu Azure Portal by se měl vytvořit prostředek s názvem, který jste zadali v předchozím příkazu.
Pokud chcete ověřit, že je Služba Azure Arc úspěšně povolená, spusťte z rozhraní PowerShellu následující příkaz:
kubectl get deployments,pods -n azure-arc
Tady je ukázkový výstup, který ukazuje agenty Azure Arc nasazené v clusteru Kubernetes v
azure-arc
oboru názvů.[10.128.44.240]: PS>kubectl get deployments,pods -n azure-arc NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/cluster-metadata-operator 1/1 1 1 13d deployment.apps/clusterconnect-agent 1/1 1 1 13d deployment.apps/clusteridentityoperator 1/1 1 1 13d deployment.apps/config-agent 1/1 1 1 13d deployment.apps/controller-manager 1/1 1 1 13d deployment.apps/extension-manager 1/1 1 1 13d deployment.apps/flux-logs-agent 1/1 1 1 13d deployment.apps/kube-aad-proxy 1/1 1 1 13d deployment.apps/metrics-agent 1/1 1 1 13d deployment.apps/resource-sync-agent 1/1 1 1 13d NAME READY STATUS RESTARTS AGE pod/cluster-metadata-operator-9568b899c-2stjn 2/2 Running 0 13d pod/clusterconnect-agent-576758886d-vggmv 3/3 Running 0 13d pod/clusteridentityoperator-6f59466c87-mm96j 2/2 Running 0 13d pod/config-agent-7cbd6cb89f-9fdnt 2/2 Running 0 13d pod/controller-manager-df6d56db5-kxmfj 2/2 Running 0 13d pod/extension-manager-58c94c5b89-c6q72 2/2 Running 0 13d pod/flux-logs-agent-6db9687fcb-rmxww 1/1 Running 0 13d pod/kube-aad-proxy-67b87b9f55-bthqv 2/2 Running 0 13d pod/metrics-agent-575c565fd9-k5j2t 2/2 Running 0 13d pod/resource-sync-agent-6bbd8bcd86-x5bk5 2/2 Running 0 13d [10.128.44.240]: PS>
Tady je k dispozici koncepční přehled těchto agentů.
Odebrání služby Arc z clusteru Kubernetes
Pokud chcete odebrat správu Azure Arc, postupujte takto:
-
- Připojte se k rozhraní PowerShellu vašeho zařízení.
Zadejte:
Remove-HcsKubernetesAzureArcAgent
Poznámka:
Ve výchozím nastavení se při odstranění prostředku yamls
z úložiště Git neodstraní odpovídající prostředky z clusteru Kubernetes. V arc OperatorParams musíte nastavit --sync-garbage-collection
, aby bylo možné odstranit prostředky při odstranění z úložiště Git. Další informace najdete v tématu Odstranění konfigurace.
Další kroky
Informace o tom, jak spustit nasazení Azure Arc, najdete v tématu Nasazení bezstavové aplikace PHP Guestbook
s Redisem prostřednictvím GitOps na zařízení Azure Stack Edge Pro.