Rövid útmutató: meglévő Kubernetes-fürt Csatlakozás az Azure Arcba

Ismerkedés az Azure Arc-kompatibilis Kubernetes szolgáltatással az Azure CLI vagy az Azure PowerShell használatával egy meglévő Kubernetes-fürt Azure Archoz való csatlakoztatásához.

A fürtök Azure Archoz való csatlakoztatásának elméleti áttekintését az Azure Arc-kompatibilis Kubernetes-ügynök áttekintésében tekintheti meg. Ha kipróbálná a dolgokat egy minta-/gyakorlatban, látogasson el az Azure Arc jumpstartra.

Előfeltételek

Ezen előfeltételek mellett mindenképpen meg kell felelnie az Azure Arc-kompatibilis Kubernetes összes hálózati követelményének.

  • An Azure account with an active subscription. Fiók ingyenes létrehozása.

  • A Kubernetes alapfogalmainak alapszintű ismerete.

  • Identitás (felhasználó vagy szolgáltatásnév), amellyel bejelentkezhet az Azure CLI-be , és csatlakoztathatja a fürtöt az Azure Archoz.

  • Az Azure CLI legújabb verziója.

  • A connectedk8s Azure CLI-bővítmény legújabb verziója az alábbi parancs futtatásával telepíthető:

    az extension add --name connectedk8s
    
  • Egy működő Kubernetes-fürt. Ha nincs ilyenje, az alábbi lehetőségek egyikével hozhat létre fürtöt:

    • Kubernetes a Dockerben (KIND)

    • Kubernetes-fürt létrehozása a Docker for Mac vagy Windows használatával

    • Ön által felügyelt Kubernetes-fürt a Fürt API használatával

      Megjegyzés:

      A fürtnek rendelkeznie kell legalább egy operációs rendszer- és architektúratípusú csomóponttel linux/amd64 és/vagy linux/arm64. Az ARM64-forgatókönyvekkel kapcsolatos további információkért tekintse meg a fürt követelményeit .

  • Legalább 850 MB ingyenes a fürtön üzembe helyezendő Arc-ügynökök számára, és az egyetlen PROCESSZOR körülbelül 7%-ának használatára képes kapacitás.

  • A fürtre mutató kubeconfig-fájl és környezet.

Szolgáltatók regisztrálása az Azure Arc-kompatibilis Kuberneteshez

  1. Írja be a következő parancsokat:

    az provider register --namespace Microsoft.Kubernetes
    az provider register --namespace Microsoft.KubernetesConfiguration
    az provider register --namespace Microsoft.ExtendedLocation
    
  2. A regisztráció monitorozása. A regisztráció akár 10 percet is igénybe vehet.

    az provider show -n Microsoft.Kubernetes -o table
    az provider show -n Microsoft.KubernetesConfiguration -o table
    az provider show -n Microsoft.ExtendedLocation -o table
    

    A regisztráció után látnia kell ezeknek a névtereknek az RegistrationState állapotát.Registered

Erőforráscsoport létrehozása

Futtassa az alábbi parancsot:

az group create --name AzureArcTest --location EastUS --output table

Output:

Location    Name
----------  ------------
eastus      AzureArcTest

meglévő Kubernetes-fürt Csatlakozás

Futtassa a következő parancsot a fürt csatlakoztatásához. Ez a parancs üzembe helyezi az Azure Arc-ügynököket a fürtön, és telepíti a Helm 3.6.3-at az .azure üzembehelyezési gép mappájába. Ez a Helm 3-telepítés csak az Azure Archoz használható, és nem távolítja el és nem módosítja a Helm korábban telepített verzióit a gépen.

Ebben a példában a fürt neve AzureArcTest1.

az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest

Output:

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

Tipp.

A fenti parancs a megadott helyparaméter nélkül hozza létre az Azure Arc-kompatibilis Kubernetes-erőforrást az erőforráscsoporttal azonos helyen. Ha az Azure Arc-kompatibilis Kubernetes-erőforrást egy másik helyen szeretné létrehozni, adja meg vagy --location <region>-l <region> futtassa a az connectedk8s connect parancsot.

Fontos

Ha az üzembe helyezés időtúllépési hiba miatt meghiúsul, a probléma megoldásáról a hibaelhárítási útmutatóban olvashat.

Csatlakozás kimenő proxykiszolgáló használatával

Ha a fürt egy kimenő proxykiszolgáló mögött található, a kéréseket a kimenő proxykiszolgálón keresztül kell irányítani.

  1. Az üzembehelyezési gépen állítsa be az Azure CLI-hez szükséges környezeti változókat a kimenő proxykiszolgáló használatához:

    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. A Kubernetes-fürtön futtassa a kapcsolódási parancsot a proxy-https megadott paraméterekkel.proxy-http Ha a proxykiszolgáló HTTP és HTTPS protokollal is be van állítva, mindenképpen használja --proxy-http a HTTP-proxyt és --proxy-https a HTTPS-proxyt. Ha a proxykiszolgáló csak HTTP-t használ, ezt az értéket mindkét paraméterhez használhatja.

    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>
    

Megjegyzés:

  • Néhány hálózati kérést, például a fürtön belüli szolgáltatások közötti kommunikációt tartalmazókat el kell különíteni a kimenő kommunikációhoz használt, proxykiszolgálón keresztül továbbított forgalomtól. A --proxy-skip-range paraméterrel vesszővel elválasztott módon adhatja meg a CIDR-tartományt és a végpontokat, hogy az ügynökök és a végpontok közötti kommunikáció ne a kimenő proxyn keresztül menjen. Legalább a fürt szolgáltatásainak CIDR-tartományát meg kell adni a paraméter értékeként. Tegyük fel például, hogy kubectl get svc -A visszaadja azoknak a szolgáltatásoknak a listáját, amelyekben az összes szolgáltatás FürtIP-értékei szerepelnek a tartományban 10.0.0.0/16. Ezután a megadott --proxy-skip-range érték a következő 10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc: .
  • --proxy-http, --proxy-httpsés --proxy-skip-range a legtöbb kimenő proxykörnyezet esetében várható. --proxy-certcsak akkor szükséges, ha a proxy által várt megbízható tanúsítványokat kell injektálnia az ügynök podok megbízható tanúsítványtárolójába.
  • A kimenő proxyt úgy kell konfigurálni, hogy engedélyezze a WebSocket-kapcsolatokat.

Azon kimenő proxykiszolgálók esetében, ahol csak megbízható tanúsítványt kell megadni a proxykiszolgáló végpontjának bemenetei nélkül, az connectedk8s connect csak a --proxy-cert megadott bemenettel futtatható. Ha több megbízható tanúsítványra van szükség, a kombinált tanúsítványlánc egyetlen fájlban is megadható a --proxy-cert paraméterrel.

Megjegyzés:

  • --custom-ca-certa aliasa.--proxy-cert Mindkét paraméter felcserélhető. Ha mindkét paramétert ugyanabban a parancsban adja át, az az utolsóként átadott paramétert fogja tiszteletben tartani.

Futtassa a kapcsolódási parancsot a --proxy-cert megadott paraméterrel:

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

Fürtkapcsolat ellenőrzése

Futtassa az alábbi parancsot:

az connectedk8s list --resource-group AzureArcTest --output table

Output:

Name           Location    ResourceGroup
-------------  ----------  ---------------
AzureArcTest1  eastus      AzureArcTest

Megjegyzés:

A fürt előkészítése után kb. 5–10 perc kell ahhoz, hogy a fürt metaadatai (a fürt verziója, az ügynök verziója, csomópontok száma stb.) megjelenjenek az Azure Portalon, az Azure Arc-kompatibilis Kubernetes-erőforrás áttekintési oldalán.

Tipp.

Ha segítségre van szüksége a fürt csatlakoztatása során felmerülő problémák elhárításához, olvassa el az Azure Arc-kompatibilis Kubernetes-fürtök csatlakozási problémáinak diagnosztizálásával foglalkozó témakört.

Azure Arc-ügynökök megtekintése a Kuberneteshez

Az Azure Arc-kompatibilis Kubernetes több ügynököt helyez üzembe a azure-arc névtérben.

  1. Tekintse meg ezeket az üzemelő példányokat és podokat a következőkkel:

    kubectl get deployments,pods -n azure-arc
    
  2. Ellenőrizze, hogy az összes pod állapota van-e Running .

    Output:

     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
    

További információ ezekről az ügynökökről: Azure Arc-kompatibilis Kubernetes-ügynök áttekintése.

Clean up resources

Az Azure CLI használatával törölheti az Azure Arc-kompatibilis Kubernetes-erőforrást, a társított konfigurációs erőforrásokat és a fürtön futó összes ügynököt az alábbi paranccsal:

az connectedk8s delete --name AzureArcTest1 --resource-group AzureArcTest

Ha a törlési folyamat sikertelen, a következő paranccsal kényszerítse ki a törlést (ha -y meg szeretné kerülni a megerősítési kérést):

az connectedk8s delete -n AzureArcTest1 -g AzureArcTest --force

Ez a parancs akkor is használható, ha problémákat tapasztal egy új fürttelepítés létrehozásakor (mert a korábban létrehozott erőforrásokat nem távolítja el teljesen).

Megjegyzés:

Ha törli az Azure Arc-kompatibilis Kubernetes-erőforrást az Azure Portal használatával, eltávolítja a társított konfigurációs erőforrásokat, de a fürtön futó ügynököket nem távolítja el. Ajánlott eljárás az Azure Arc-kompatibilis Kubernetes-erőforrás az connectedk8s delete törlése az erőforrás törlése helyett az Azure Portalon.

További lépések