Megosztás:


Gyors kezdési útmutató: Meglévő Kubernetes-klaszter csatlakoztatása az Azure Archoz

Kezdje el az Azure Arc-kompatibilis Kubernetes-fürt használatát az Azure CLI-t vagy az Azure PowerShellt használva, és csatlakoztassa egy meglévő Kubernetes-fürtöt az Azure Archoz.

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

Fontos

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

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, hogy ezeknek a névtereknek az állapota RegistrationState-ról Registered-re változik.

Erőforráscsoport létrehozása

Futtassa a következő parancsot:

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

Kimenet:

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

Kapcsolódjon egy meglévő Kubernetes klaszterhez

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 klaszter neve AzureArcTest1.

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

Kimenet:

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

Jótanács

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>, vagy -l <region>, majd 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óval

Ha a klaszter egy kimenő proxykiszolgáló mögött van, a kéréseket a kimenő proxykiszolgálón keresztül szükséges 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:

  • Egyes hálózati kéréseket, például a fürtszolgáltatás-szolgáltatás közötti kommunikációt magában foglaló kéréseket el kell különíteni a proxykiszolgálón keresztül a kimenő kommunikációhoz irányí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 ClusterIP-értékei szerepelnek a tartományban 10.0.0.0/16. A(z) --proxy-skip-range számára megadandó érték 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-cert csak 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.

Kimenő proxykiszolgálók esetén, ha csak megbízható tanúsítványt ad meg, csak a megadott paraméterrel futtathatjaaz connectedk8s connect:--proxy-cert

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

Ha több megbízható tanúsítvány is létezik, akkor a tanúsítványláncot (levél tanúsítvány, köztes tanúsítvány, gyökértanúsítvány) egyetlen fájlba kell egyesíteni, amelyet a --proxy-cert paraméter átad.

Megjegyzés:

  • --custom-ca-cert egy alias --proxy-cert számára. 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.

Fürtkapcsolat ellenőrzése

Futtassa a következő parancsot:

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

Kimenet:

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

A kapcsolati problémák elhárításához az Azure Arc-kompatibilis Kubernetes-fürtök csatlakozási problémáinak diagnosztizálása című témakörben talál segítséget.

Megjegyzés:

A fürt csatlakoztatása után akár tíz percbe is telhet, amíg a fürt metaadatai (például a fürt verziója és a csomópontok száma) megjelennek az Azure Arc-kompatibilis Kubernetes-erőforrás áttekintési oldalán az Azure portálon.

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 a telepítéseket és podokat az alábbi módon:

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

    Kimenet:

     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.

Erőforrások tisztítása

Az Alábbi paranccsal 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ó ügynököket:

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

Ha a törlési folyamat sikertelen, a következő utasítással kényszerítse ki a törlést (-y hozzáadásával, ha 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. Emiatt javasoljuk, hogy az Azure Arc-kompatibilis Kubernetes-erőforrást az connectedk8s delete segítségével törölje, ahelyett, hogy az erőforrást az Azure Portalon törölné.

Következő lépések