Rychlý start: Připojení existujícího clusteru Kubernetes ke službě Azure Arc
Začínáme s Kubernetes s podporou Azure Arc pomocí Azure CLI nebo Azure PowerShellu pro připojení existujícího clusteru Kubernetes k Azure Arc
Koncepční přehled připojení clusterů k Azure Arc najdete v přehledu agenta Kubernetes s podporou Azure Arc. Pokud si chcete vyzkoušet věci v ukázkovém nebo praktickém prostředí, navštivte jumpstart služby Azure Arc.
Požadavky
Důležité
Kromě těchto požadavků nezapomeňte splnit všechny požadavky na síť pro Kubernetes s podporou Azure Arc.
Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
Základní znalosti základních konceptů Kubernetes
Identita (uživatel nebo instanční objekt), která se dá použít k přihlášení k Azure CLI a připojení clusteru ke službě Azure Arc.
Nejnovější verze Azure CLI.
Spuštěním následujícího příkazu nainstalujte nejnovější verzi rozšíření Azure CLI connectedk8s :
az extension add --name connectedk8s
Cluster Kubernetes je spuštěný. 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 spravovaný samospravou pomocí rozhraní API clusteru
Poznámka:
Cluster musí mít alespoň jeden uzel operačního systému a typu
linux/amd64
architektury a/nebolinux/arm64
. Další informace o scénářích ARM64 najdete v požadavcích na cluster.
Alespoň 850 MB zdarma pro agenty Arc, kteří budou nasazeni v clusteru, a kapacitu pro využití přibližně 7 % jednoho procesoru.
Soubor kubeconfig a kontext odkazující na váš cluster Další informace o tom, co je soubor kubeconfig a jak nastavit kontext, který má odkazovat na váš cluster, najdete v tomto článku.
Registrace poskytovatelů pro Kubernetes s podporou Azure Arc
Zadejte následující příkazy:
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ExtendedLocation
Monitorujte 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 table
Po registraci by se měl zobrazit
RegistrationState
stav těchto oborů názvů naRegistered
.
Vytvoření skupiny zdrojů
Spusťte následující příkaz:
az group create --name AzureArcTest --location EastUS --output table
Výstup:
Location Name
---------- ------------
eastus AzureArcTest
Připojení existujícího clusteru Kubernetes
Spuštěním následujícího příkazu připojte cluster. Tento příkaz nasadí agenty Azure Arc do clusteru a nainstaluje Helm v. 3.6.3 do .azure
složky počítače pro nasazení. Tato instalace Helmu 3 se používá jenom pro Azure Arc a neodebere nebo nezmění žádné dříve nainstalované verze Helmu na počítači.
V tomto příkladu je název clusteru AzureArcTest1.
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest
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 s podporou Služby Azure Arc ve stejném umístění jako skupina prostředků. Pokud chcete vytvořit prostředek Kubernetes s podporou Azure Arc v jiném umístění, zadejte buď --location <region>
nebo -l <region>
při spuštění az connectedk8s connect
příkazu.
Připojení pomocí odchozího proxy serveru
Pokud je váš cluster za odchozím proxy serverem, musí se požadavky směrovat přes odchozí proxy server.
Na počítači nasazení nastavte proměnné prostředí potřebné pro Azure CLI tak, aby používaly odchozí 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>
V clusteru Kubernetes spusťte příkaz connect se zadanými
proxy-https
parametry aproxy-http
parametry. Pokud je váš proxy server nastavený pomocí protokolu HTTP i HTTPS, nezapomeňte použít--proxy-http
pro proxy server HTTP a--proxy-https
pro proxy server HTTPS. Pokud proxy server používá jenom HTTP, můžete tuto hodnotu použít pro oba parametry.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é žádosti, například ty, které zahrnují komunikaci mezi službami v clusteru, musí být odděleny od provozu, který je směrovaný přes proxy server pro odchozí komunikaci. Parametr
--proxy-skip-range
lze použít k určení rozsahu CIDR a koncových bodů čárkami odděleným způsobem, aby veškerá komunikace z agentů s těmito koncovými body nepřešla přes odchozí proxy server. Jako hodnota tohoto parametru by měl být zadán minimálně rozsah CIDR služeb v clusteru. Řekněmekubectl get svc -A
například, že vrátí seznam služeb, ve kterých mají všechny služby hodnoty ClusterIP v rozsahu10.0.0.0/16
. Hodnota, pro--proxy-skip-range
kterou se má zadat, je10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc
. --proxy-http
,--proxy-https
a--proxy-skip-range
očekává se u většiny odchozích proxy prostředí.--proxy-cert
vyžaduje se pouze v případě, že potřebujete vložit důvěryhodné certifikáty očekávané proxy serverem do důvěryhodného úložiště certifikátů podů agenta.- Odchozí proxy server musí být nakonfigurovaný tak, aby povoloval připojení přes protokol WebSocket.
U odchozích proxy serverů, kde je potřeba zadat jenom důvěryhodný certifikát bez vstupů koncového bodu proxy serveru, az connectedk8s connect
je možné spustit pouze se --proxy-cert
zadaným vstupem. V případě, že se očekává více důvěryhodných certifikátů, je možné pomocí parametru --proxy-cert
poskytnout kombinovaný řetěz certifikátů v jednom souboru.
Poznámka:
--custom-ca-cert
je alias pro--proxy-cert
. Oba parametry se dají zaměnitelně. Předání obou parametrů ve stejném příkazu bude respektovat poslední předaný parametr.
Spusťte příkaz connect se zadaným parametrem --proxy-cert
:
az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>
Ověření připojení ke 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 zprovoznění clusteru trvá přibližně 5 až 10 minut, než se metadata clusteru (verze clusteru, verze agenta, počet uzlů atd.) zobrazí na stránce s přehledem prostředku Kubernetes s podporou Azure Arc na webu Azure Portal.
Tip
Nápovědu k řešení potíží při připojování clusteru najdete v tématu Diagnostika problémů s připojením pro clustery Kubernetes s podporou Azure Arc.
Zobrazení agentů Azure Arc pro Kubernetes
Kubernetes s podporou Azure Arc nasadí do azure-arc
oboru názvů několik agentů.
Zobrazte tato nasazení a pody pomocí:
kubectl get deployments,pods -n azure-arc
Ověřte, že jsou všechny pody ve
Running
stavu.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
Další informace o těchto agentech najdete v přehledu agenta Kubernetes s podporou Azure Arc.
Vyčištění prostředků
Pomocí následujícího příkazu můžete odstranit prostředek Kubernetes s podporou Azure Arc, všechny přidružené konfigurační prostředky a všechny agenty spuštěné v clusteru pomocí Azure CLI:
az connectedk8s delete --name AzureArcTest1 --resource-group AzureArcTest
Pokud proces odstranění selže, použijte následující příkaz k vynucení odstranění (přidání -y
, pokud chcete vynechat potvrzovací výzvu):
az connectedk8s delete -n AzureArcTest1 -g AzureArcTest --force
Tento příkaz se dá použít také v případě, že při vytváření nového nasazení clusteru dochází k problémům (kvůli tomu, že dříve vytvořené prostředky nejsou úplně odebrány).
Poznámka:
Odstraněním prostředku Kubernetes s podporou Služby Azure Arc pomocí webu Azure Portal se odeberou 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 podporou Azure Arc místo az connectedk8s delete
odstranění prostředku na webu Azure Portal.
Další kroky
- Zjistěte, jak nasadit konfigurace pomocí GitOps s Flux v2.
- Řešení běžných problémů s Kubernetes s podporou Azure Arc
- Vyzkoušejte automatizované scénáře Kubernetes s podporou Služby Azure Arc pomocí jumpstartu Azure Arc.