Sdílet prostřednictvím


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.

Registrace poskytovatelů pro Kubernetes s podporou Azure Arc

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

    az provider register --namespace Microsoft.Kubernetes
    az provider register --namespace Microsoft.KubernetesConfiguration
    az provider register --namespace Microsoft.ExtendedLocation
    
  2. 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 stav těchto oborů názvů změnit z RegistrationState na Registered.

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"
    }

Návod

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.

Důležité

Pokud nasazení selže kvůli chybě vypršení časového limitu, podrobnosti o řešení tohoto problému najdete v průvodci odstraňováním potíží .

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.

  1. 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>
    
  2. V clusteru Kubernetes spusťte příkaz connect se zadanými proxy-https parametry a proxy-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é požadavky, například požadavky zahrnující komunikaci mezi službami v clusteru, musí být oddělené od provozu směrovaného 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ěme kubectl get svc -A například, že vrátí seznam služeb, ve kterých mají všechny služby hodnoty ClusterIP v rozsahu 10.0.0.0/16. Pak hodnota, kterou je třeba zadat pro --proxy-skip-range, je 10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc.
  • --proxy-http, --proxy-httpsa --proxy-skip-range očekává se u většiny odchozích proxy prostředí. --proxy-cert je vyžadováno pouze, pokud potřebujete vložit důvěryhodné certifikáty, které očekává proxy server, do úložiště důvěryhodných certifikátů podů agenta.
  • Odchozí proxy server musí být nakonfigurovaný tak, aby povoloval připojení přes protokol WebSocket.

Pokud pro odchozí proxy servery poskytujete jenom důvěryhodný certifikát, můžete spustit az connectedk8s connect pouze se zadaným parametrem --proxy-cert :

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>

Pokud existuje více důvěryhodných certifikátů, je potřeba řetěz certifikátů (listový certifikát, zprostředkující certifikát, kořenový certifikát) zkombinovat do jednoho souboru, který se předává v parametru --proxy-cert .

Poznámka:

  • --custom-ca-cert je alias pro --proxy-cert. Oba parametry se dají používat zaměnitelně. Předání obou parametrů ve stejném příkazu bude respektovat poslední předaný parametr.

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

Nápovědu k řešení potíží s připojením najdete v tématu Diagnostika problémů s připojením pro clustery Kubernetes s podporou Azure Arc.

Poznámka:

Po onboardingu clusteru trvá až deset minut, než se metadata clusteru (například verze clusteru a počet uzlů) zobrazí na stránce přehledu prostředku Kubernetes s podporou Azure Arc na webu Azure Portal.

Zobrazení agentů Azure Arc pro Kubernetes

Azure Arc-enabled Kubernetes nasadí několik agentů do oboru názvů azure-arc.

  1. Zobrazte tato nasazení a pody pomocí:

    kubectl get deployments,pods -n azure-arc
    
  2. Ověřte, zda všechny pody jsou 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čistěte zdroje

Pomocí následujícího příkazu můžete odstranit prostředek Kubernetes s podporou Služby Azure Arc, všechny přidružené konfigurační prostředky a všechny agenty spuštěné v clusteru:

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. Z tohoto důvodu doporučujeme odstranit prostředek Kubernetes s podporou Azure Arc pomocí az connectedk8s delete namísto odstranění prostředku na webu Azure Portal.

Další kroky