Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO:
Azure Stack Edge Pro – GPU
Azure Stack Edge Pro 2
Azure Stack Edge Pro R
Azure 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.
Poznámka:
Postupujte podle pokynů v rychlém startu: Připojení existujícího clusteru Kubernetes ke službě Azure Arc.
Tento postup předpokládá, že jste si přečetli následující články a porozuměli jim:
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í:
Pro 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 části Přístup ke clusteru Kubernetes na zařízení Azure Stack Edge Pro. Máte:
- Nainstalováno
kubectlv klientovi. - Ujistěte se, že verze klienta
kubectlse nevychyluje o více než jednu verzi od verze Kubernetes spuštěné na vašem zařízení Azure Stack Edge Pro.Použijte
kubectl versionke kontrole verze kubectl běžícího na klientu. 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 Microsoft.Kubernetes a Microsoft.KubernetesConfiguration do vašeho předplatného.
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.KubernetesaMicrosoft.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 jak
Subscription ID, tak i název skupiny prostředků, kterou jste použili pro nasazení ve službě Azure Stack Edge. 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 Přehled Základy>.
Název skupiny prostředků získáte tak, že přejdete na Vlastnosti.
K vytvoření služebního principálu použijte následující příkaz pomocí
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 clinajdete na webu Azure Portal. Pokud pro vytvoření principálu služby používáte místního klientaaz cli, 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 si
appId,name,passwordatenantID, protože tyto hodnoty použijete jako vstup pro další příkaz.Existuje několik způsobů, jak získat
appId. Upřednostňované metody jsou následující tři možnosti. Pokud použijete jednu z následujících možností, můžete přeskočit kroky 1, 2 a 3 z předchozí části a přejít přímo k následujícímu kroku 4.Možnost 1 – Použijte MiniShell ke spuštění následující rutiny PowerShellu:
[Device-IP]: PS> Get-AzureDataBoxEdgeApplicationId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx [Device-IP]: PS>Možnost 2 : Pomocí následujících kroků zobrazíte podrobnosti JSON pro vaše zařízení na webu Azure Portal:
Přejděte na přehled zařízení Azure Stack Edge a pak vyberte zobrazení JSON vpravo nahoře.
V podrobnostech JSON prostředku pro vaše zařízení si poznamenejte
principalId.
Možnost 3 – Spuštěním následujícího příkazu použijte PowerShell mimo Azure Stack Edge na klientském počítači:
// ASE resource group and resource name can be obtained from Azure portal PS C:\> $ASEResource= GetAzResource –ResourceGroupName <resource-group-name> -ResourceName <resource-name> PS C:\> $ASEResource.Identity.PrincipalId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx PS C:\>
Po vytvoření nového služebního objektu nebo po jeho načtení pomocí jedné z těchto možností přiřaďte
Kubernetes Cluster - Azure Arc Onboardingroli nově vytvořenému služebnímu objektu. 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í.
Spusťte následující příkaz:
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. Na příkazovém řádku zadejte heslo principálu služby.CloudEnvironmentPřidejte parametr, pokud používáte jiný cloud než veřejný Azure. Tento parametr můžete nastavit naAZUREPUBLICCLOUD,AZURECHINACLOUD,AZUREGERMANCLOUDaAZUREUSGOVERNMENTCLOUD.Důležité informace o využití:
- Pokud chcete nasadit Azure Arc na zařízení, ujistěte se, že používáte podporovanou oblast pro Azure Arc.
- Pomocí příkazu
az account list-locationsurčete přesný název umístění, který se má předat příkazovému moduluSet-HcsKubernetesAzureArcAgent. Názvy umístění jsou obvykle formátované bez mezer.
Důležité
Pokud místo vytvoření nového servisního principu získáte
Idpomocí starší metody, nezadávejteClientId,TenantIdaniClientSecret.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-arcTady je ukázkový výstup, který ukazuje agenty Azure Arc nasazené v
azure-arcoboru názvů ve vašem clusteru Kubernetes.[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í.
Spusťte následující příkaz:
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, když jsou odstraněny 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.