Rychlý start: Připojení existujícího clusteru Kubernetes pro Azure Arc
V tomto rychlém startu se dozvíte o výhodách kubernetes s podporou Azure Arc a o tom, jak připojit existující cluster Kubernetes k Azure Arc. Koncepční přehled připojení clusterů k Azure Arc najdete v článku architektura agenta Kubernetes s podporou Azure Arc s podporou kubernetes.
Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.
Předpoklady
Instalace nebo upgrade Azure CLI na verzi >= 2.16.0
Nainstalujte rozšíření Azure CLI connectedk8s verze >= 1.2.0:
az extension add --name connectedk8sPřihlaste se k Azure CLI pomocí identity (uživatele nebo instančního objektu), kterou chcete použít pro připojení clusteru k Azure Arc.
- Použitá identita musí mít alespoň oprávnění Ke čtení a zápisu pro Azure Arc s povolenou identitou Kubernetes (
Microsoft.Kubernetes/connectedClusters). - Integrovaný cluster Kubernetes – Azure Arc onboarding je užitečný pro připojování ve velkém měřítku, protože má podrobná oprávnění potřebná jenom k připojení clusterů k Azure Arc. Tato role nemá oprávnění k aktualizaci, odstranění nebo úpravě jiných clusterů nebo jiných prostředků Azure.
- Použitá identita musí mít alespoň oprávnění Ke čtení a zápisu pro Azure Arc s povolenou identitou Kubernetes (
Spuštěný cluster Kubernetes. Pokud ho nemáte, můžete cluster vytvořit pomocí jedné z těchto možností:
Vytvoření clusteru Kubernetes pomocí Dockeru pro Mac nebo Windows
Cluster Kubernetes řízený své vlastní s využitím rozhraní API clusteru
Pokud chcete cluster OpenShift připojit ke clusteru Azure Arc, před spuštěním příkazu je potřeba v clusteru spustit následující
az connectedk8s connectpříkaz:oc adm policy add-scc-to-user privileged system:serviceaccount:azure-arc:azure-arc-kube-aad-proxy-sa
Poznámka
Cluster musí mít alespoň jeden uzel operačního systému a typu architektury
linux/amd64. Clustery slinux/arm64pouze uzly se zatím nepodporují.Soubor
kubeconfiga kontext odkazující na cluster.
Splnění požadavků na síť
Důležité
Azure Arc agenti k funkci vyžadují následující odchozí https://:443 adresy URL.
Pro musí být pro odchozí přístup na bráně firewall a proxy serveru povolené webové *.servicebus.windows.net protokolu.
| Koncový bod (DNS) | Description |
|---|---|
https://management.azure.com (pro Azure Cloud), https://management.usgovcloudapi.net (pro Azure US Government) |
Agent se musí připojit k Azure a zaregistrovat cluster. |
https://<region>.dp.kubernetesconfiguration.azure.com (pro Azure Cloud), https://<region>.dp.kubernetesconfiguration.azure.us (pro Azure US Government) |
Koncový bod roviny dat pro agenta pro nabízení stavu a načtení informací o konfiguraci. |
https://login.microsoftonline.com, login.windows.net (pro Azure Cloud), https://login.microsoftonline.us (pro Azure US Government) |
Vyžaduje se k načtení a aktualizaci Azure Resource Manager tokenů. |
https://mcr.microsoft.com, https://*.data.mcr.microsoft.com |
Vyžaduje se pro vyžadování imagí kontejnerů pro Azure Arc agenty. |
https://gbl.his.arc.azure.com (pro Azure Cloud), https://gbl.his.arc.azure.us (pro Azure US Government) |
Vyžaduje se k získání regionálního koncového bodu pro vyžadování certifikátů spravované identity přiřazených systémem. |
https://*.his.arc.azure.com (pro Azure Cloud), https://usgv.his.arc.azure.us (pro Azure US Government) |
Vyžaduje se pro vyžadování certifikátů spravované identity přiřazených systémem. |
*.servicebus.windows.net, guestnotificationservice.azure.com, *.guestnotificationservice.azure.com, sts.windows.net |
Pro clusterové Připojení a pro scénáře založené na vlastním umístění. |
https://k8connecthelm.azureedge.net |
az connectedk8s connect používá Helm 3 k nasazení Azure Arc agentů v clusteru Kubernetes. Tento koncový bod je potřeba ke stažení klienta Helm, aby se usnadnilo nasazení chartu Helm agenta. |
1. Registrace zprostředkovatelů Azure Arc Kubernetes s podporou
Zadejte následující příkazy:
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ExtendedLocationMonitorujte proces registrace. Registrace může trvat až 10 minut.
az provider show -n Microsoft.Kubernetes -o table az provider show -n Microsoft.KubernetesConfiguration -o table az provider show -n Microsoft.ExtendedLocation -o tablePo registraci byste měli vidět, že
RegistrationStatese stav těchto oborů názvů změní naRegistered.
2. Vytvoření skupiny prostředků
Spusťte následující příkaz:
az group create --name AzureArcTest --location EastUS --output table
Výstup:
Location Name ---------- ------------ eastus AzureArcTest
3. Připojení existujícího clusteru Kubernetes
Spusťte následující příkaz:
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest
Poznámka
Pokud jste k Azure CLI přihlášení pomocí objektu služby, je potřeba nastavit další parametr pro povolení funkce vlastního umístění v clusteru.
Výstup:
Helm release deployment succeeded
{
"aadProfile": {
"clientAppId": "",
"serverAppId": "",
"tenantId": ""
},
"agentPublicKeyCertificate": "xxxxxxxxxxxxxxxxxxx",
"agentVersion": null,
"connectivityStatus": "Connecting",
"distribution": "gke",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/AzureArcTest/providers/Microsoft.Kubernetes/connectedClusters/AzureArcTest1",
"identity": {
"principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "SystemAssigned"
},
"infrastructure": "gcp",
"kubernetesVersion": null,
"lastConnectivityTime": null,
"location": "eastus",
"managedIdentityCertificateExpirationTime": null,
"name": "AzureArcTest1",
"offering": null,
"provisioningState": "Succeeded",
"resourceGroup": "AzureArcTest",
"tags": {},
"totalCoreCount": null,
"totalNodeCount": null,
"type": "Microsoft.Kubernetes/connectedClusters"
}
Tip
Výše uvedený příkaz bez zadaného parametru umístění vytvoří prostředek Kubernetes Azure Arc s povoleným přístupem ve stejném umístění jako skupina prostředků. Pokud chcete vytvořit Azure Arc Kubernetes s povoleným přístupem v jiném umístění, zadejte při spuštění příkazu nebo --location <region> -l <region> az connectedk8s connect .
4a. Připojení používá odchozí proxy server
Pokud se váš cluster nachází za odchozí proxy server, Azure CLI a agenti Kubernetes s podporou Azure Arc potřebují směrovat své požadavky přes odchozí proxy server.
Nastavte proměnné prostředí potřebné pro Azure CLI pro použití odchozích proxy server:
export HTTP_PROXY=<proxy-server-ip-address>:<port> export HTTPS_PROXY=<proxy-server-ip-address>:<port> export NO_PROXY=<cluster-apiserver-ip-address>:<port>Spusťte příkaz connect se zadanými parametry proxy serveru:
az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR> --proxy-cert <path-to-cert-file>Poznámka
- Některé síťové požadavky, jako jsou požadavky zahrnující komunikaci mezi službou a službou v clusteru, musí být oddělené od provozu, který je směrován přes proxy server pro odchozí komunikaci. Parametr lze použít k určení rozsahu CIDR a koncových bodů čárkami odděleným způsobem, aby komunikace z agentů s těmito koncovými body nebyla přes
--proxy-skip-rangeodchozí proxy server. Jako hodnotu tohoto parametru je třeba zadat minimálně rozsah CIDR služeb v clusteru. Řekněme například, že vrátí seznam služeb, ve kterých mají všechny služby hodnotykubectl get svc -AClusterIP v rozsahu10.0.0.0/16. Hodnota, která se má zadat--proxy-skip-rangepro , je10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc. --proxy-httpU většiny prostředí odchozích proxy serverů se--proxy-https--proxy-skip-rangeočekávají , a .--proxy-certse vyžaduje pouze v případě, že potřebujete vložit důvěryhodné certifikáty očekávané proxy serverem do úložiště důvěryhodných certifikátů podů agenta.- Odchozí proxy server musí být nakonfigurovaný tak, aby povoloval připojení websocket.
- Některé síťové požadavky, jako jsou požadavky zahrnující komunikaci mezi službou a službou v clusteru, musí být oddělené od provozu, který je směrován přes proxy server pro odchozí komunikaci. Parametr lze použít k určení rozsahu CIDR a koncových bodů čárkami odděleným způsobem, aby komunikace z agentů s těmito koncovými body nebyla přes
5. Ověřte připojení clusteru
Spusťte následující příkaz:
az connectedk8s list --resource-group AzureArcTest --output table
Výstup:
Name Location ResourceGroup ------------- ---------- --------------- AzureArcTest1 eastus AzureArcTest
Poznámka
Po připojení clusteru trvá přibližně 5 až 10 minut, než se na stránce přehledu v prostředku Kubernetes s podporou ARC Azure v Azure Portal zobrazí stránka s přehledem pro prostředky clusteru.
6. zobrazení agentů Azure ARC pro Kubernetes
Kubernetes s podporou ARC Azure nasadí několik operátorů do azure-arc oboru názvů.
Zobrazit tato nasazení a lusky pomocí:
kubectl get deployments,pods -n azure-arcOvěřte, že všechny lusky jsou ve
Runningstavu.Výstup:
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
Koncepční přehled těchto agentů je k dispozici zde.
7. vyčištění prostředků
Pomocí Azure CLI můžete odstranit prostředek Kubernetes s podporou ARC Azure, všechny přidružené prostředky konfigurace a všechny agenty spuštěné v clusteru pomocí rozhraní příkazového řádku Azure, a to pomocí následujícího příkazu:
az connectedk8s delete --name AzureArcTest1 --resource-group AzureArcTest
Poznámka
Odstranění prostředku Kubernetes s povoleným ARC Azure pomocí Azure Portal odebere všechny přidružené konfigurační prostředky , ale neodebere žádné agenty spuštěné v clusteru. Osvědčeným postupem je odstranit prostředek Kubernetes s povoleným ARC Azure pomocí az connectedk8s delete místo Azure Portal.
Další kroky
V dalším článku se dozvíte, jak nasadit konfigurace do připojeného clusteru Kubernetes pomocí GitOps.