Megosztás a következőn keresztül:


Rövid útmutató: Azure Nexus Kubernetes-fürt létrehozása az Azure CLI használatával

  • Azure Nexus Kubernetes-fürt üzembe helyezése az Azure CLI használatával.

Mielőtt elkezdené

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

  • Telepítse a szükséges Azure CLI-bővítmények legújabb verzióját.

  • Ez a cikk az Azure CLI 2.49.0-s vagy újabb verzióját igényli. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.

  • Ha több Azure-előfizetéssel rendelkezik, válassza ki a megfelelő előfizetés-azonosítót, amelyben az erőforrásokat a az account paranccsal kell számlázni.

  • A támogatott virtuálisgép-termékváltozatok listáját a referencia szakaszban találja.

  • A támogatott Kubernetes-verziók listájához tekintse meg a támogatott Kubernetes-verziókat.

  • Hozzon létre egy erőforráscsoportot a az group create paranccsal. Az Azure-erőforráscsoportok olyan logikai csoportok, amelyekben az Azure-erőforrások üzembe helyezése és kezelése történik. Erőforráscsoport létrehozásakor a rendszer kérni fogja, hogy adjon meg egy helyet. Ez a hely az erőforráscsoport metaadatainak tárolási helye, és ahol az erőforrások az Azure-ban futnak, ha nem ad meg egy másik régiót az erőforrás létrehozása során. A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot az eastus helyen.

    az group create --name myResourceGroup --location eastus
    

    Az alábbi kimeneti példa az erőforráscsoport sikeres létrehozásához hasonlít:

    {
      "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
      "location": "eastus",
      "managedBy": null,
      "name": "myResourceGroup",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "tags": null
    }
    
  • Bicep-fájl vagy ARM-sablon üzembe helyezéséhez írási joggal kell rendelkeznie az üzembe helyezett erőforrásokhoz, és hozzá kell férnie a Microsoft.Resources/deployments erőforrástípus összes műveletéhez. Fürt üzembe helyezéséhez például Microsoft.NetworkCloud/kubernetesclusters/write és Microsoft.Resources/deployments/* engedélyekre van szükség. A szerepkörök és engedélyek listáját megtalálja a Beépített Azure-szerepkörök című cikkben.

  • Szüksége van az custom location Azure Operator Nexus-fürt erőforrás-azonosítójára.

  • A számítási feladatokra vonatkozó követelményeknek megfelelően különböző hálózatokat kell létrehoznia, és elengedhetetlen, hogy a számítási feladatokhoz megfelelő IP-címek álljanak rendelkezésre. A zökkenőmentes megvalósítás érdekében célszerű segítséget kérni a megfelelő támogatási csapattól.

  • A rövid útmutató feltételezi, hogy rendelkezik a Kubernetes használatára vonatkozó alapvető ismeretekkel. További információkért tekintse meg az Azure Kubernetes Service (AKS) Kubernetes alapfogalmait.

Azure Nexus Kubernetes-fürt létrehozása

Az alábbi példa létrehoz egy myNexusK8sCluster nevű fürtöt a myResourceGroup erőforráscsoportban az eastus helyen.

A parancsok futtatása előtt több változót kell beállítania a fürt konfigurációjának meghatározásához. Az alábbi változókat kell beállítania, valamint néhány alapértelmezett értéket, amelyeket bizonyos változókhoz használhat:

Változó Leírás
HELY Az Azure-régió, ahol létre szeretné hozni a fürtöt.
RESOURCE_GROUP Annak az Azure-erőforráscsoportnak a neve, amelyben létre szeretné hozni a fürtöt.
SUBSCRIPTION_ID Az Azure-előfizetés azonosítója.
CUSTOM_LOCATION Ez az argumentum a Nexus-példány egyéni helyét adja meg.
CSN_ARM_ID A CSN-azonosító a használni kívánt felhőszolgáltatási hálózat egyedi azonosítója.
CNI_ARM_ID A CNI-azonosító a tároló futtatókörnyezet által használandó hálózati adapter egyedi azonosítója.
AAD_ADMIN_GROUP_OBJECT_ID A Microsoft Entra-csoport objektumazonosítója, amely rendszergazdai jogosultságokkal rendelkezik a fürtön.
CLUSTER_NAME A Nexus Kubernetes-fürtnek adni kívánt név.
K8S_VERSION A használni kívánt Kubernetes-verzió.
ADMIN_U Standard kiadás RNAME A fürtadminisztrátor felhasználóneve.
SSH_PUBLIC_KEY A fürttel való biztonságos kommunikációhoz használt nyilvános SSH-kulcs.
CONTROL_PLANE_COUNT A fürt vezérlősík-csomópontjainak száma.
CONTROL_PLANE_VM_SIZE A vezérlősík csomópontjainak virtuális gépének mérete.
INITIAL_AGENT_POOL_NAME A kezdeti ügynökkészlet neve.
INITIAL_AGENT_POOL_COUNT A kezdeti ügynökkészlet csomópontjainak száma.
INITIAL_AGENT_POOL_VM_SIZE A virtuális gép mérete a kezdeti ügynökkészlethez.
POD_CIDR A fürt Kubernetes-podjaihoz tartozó hálózati tartomány CIDR-jelölésben.
Standard kiadás RVICE_CIDR A fürt Kubernetes-szolgáltatásainak hálózati tartománya CIDR-jelölésben.
DNS_Standard kiadás RVICE_IP A Kubernetes DNS-szolgáltatás IP-címe.

Miután definiálta ezeket a változókat, futtathatja az Azure CLI-parancsot a fürt létrehozásához. Adja hozzá a --debug jelölőt a végén, hogy részletesebb kimenetet biztosítson hibaelhárítási célokra.

A változók definiálásához használja az alábbi parancsokat, és cserélje le a példaértékeket az előnyben részesített értékekre. Az alapértelmezett értékeket egyes változókhoz is használhatja, ahogyan az alábbi példában is látható:

RESOURCE_GROUP="myResourceGroup"
SUBSCRIPTION_ID="<Azure subscription ID>"
LOCATION="$(az group show --name $RESOURCE_GROUP --query location --subscription $SUBSCRIPTION_ID -o tsv)"
CUSTOM_LOCATION="/subscriptions/<subscription_id>/resourceGroups/<managed_resource_group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
CSN_ARM_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/cloudServicesNetworks/<csn-name>"
CNI_ARM_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/l3Networks/<l3Network-name>"
AAD_ADMIN_GROUP_OBJECT_ID="00000000-0000-0000-0000-000000000000"
CLUSTER_NAME="myNexusK8sCluster"
K8S_VERSION="v1.24.9"
ADMIN_USERNAME="azureuser"
SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)"
CONTROL_PLANE_SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)"
AGENT_POOL_SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)"
CONTROL_PLANE_COUNT="1"
CONTROL_PLANE_VM_SIZE="NC_G6_28_v1"
INITIAL_AGENT_POOL_NAME="${CLUSTER_NAME}-nodepool-1"
INITIAL_AGENT_POOL_COUNT="1"
INITIAL_AGENT_POOL_VM_SIZE="NC_P10_56_v1"
POD_CIDR="10.244.0.0/16"
SERVICE_CIDR="10.96.0.0/16"
DNS_SERVICE_IP="10.96.0.10"

Fontos

Fontos, hogy a parancsok futtatása előtt cserélje le a CUSTOM_LOCATION, CSN_ARM_ID, CNI_ARM_ID és AAD_ADMIN_GROUP_OBJECT_ID helyőrzőit a tényleges értékekre.

A változók definiálása után létrehozhatja a Kubernetes-fürtöt a következő Azure CLI-parancs végrehajtásával:

az networkcloud kubernetescluster create \
  --name "${CLUSTER_NAME}" \
  --resource-group "${RESOURCE_GROUP}" \
  --subscription "${SUBSCRIPTION_ID}" \
  --extended-location name="${CUSTOM_LOCATION}" type=CustomLocation \
  --location "${LOCATION}" \
  --kubernetes-version "${K8S_VERSION}" \
  --aad-configuration admin-group-object-ids="[${AAD_ADMIN_GROUP_OBJECT_ID}]" \
  --admin-username "${ADMIN_USERNAME}" \
  --ssh-key-values "${SSH_PUBLIC_KEY}" \
  --control-plane-node-configuration \
    count="${CONTROL_PLANE_COUNT}" \
    vm-sku-name="${CONTROL_PLANE_VM_SIZE}" \
    ssh-key-values='["${CONTROL_PLANE_SSH_PUBLIC_KEY}"]' \
  --initial-agent-pool-configurations "[{count:${INITIAL_AGENT_POOL_COUNT},mode:System,name:${INITIAL_AGENT_POOL_NAME},vm-sku-name:${INITIAL_AGENT_POOL_VM_SIZE},ssh-key-values:['${AGENT_POOL_SSH_PUBLIC_KEY}']}]" \
  --network-configuration \
    cloud-services-network-id="${CSN_ARM_ID}" \
    cni-network-id="${CNI_ARM_ID}" \
    pod-cidrs="[${POD_CIDR}]" \
    service-cidrs="[${SERVICE_CIDR}]" \
    dns-service-ip="${DNS_SERVICE_IP}"

Ha nincs elegendő kapacitás a kért fürtcsomópontok üzembe helyezéséhez, hibaüzenet jelenik meg. Ez az üzenet azonban nem ad meg részleteket a rendelkezésre álló kapacitásról. Azt állítja, hogy a fürt létrehozása nem folytatható a kapacitás elégtelensége miatt.

Feljegyzés

A kapacitásszámítás a teljes platformfürtöt veszi figyelembe, nem pedig az egyes állványokra korlátozódik. Ezért ha egy ügynökkészlet olyan zónában jön létre (ahol egy állvány egyenlő egy zónával), de egy másik zóna elegendő kapacitással rendelkezik, a fürt létrehozása folytatódik, de idővel időtúllépést fog végezni. A kapacitás-ellenőrzésnek ez a megközelítése csak akkor van értelme, ha a fürt vagy az ügynökkészlet létrehozásakor nincs megadva egy adott zóna.

Néhány perc elteltével a parancs befejezi és visszaadja a fürtre vonatkozó információkat. További speciális lehetőségekért tekintse meg a rövid útmutatót: Azure Nexus Kubernetes-fürt üzembe helyezése a Bicep használatával.

Üzembe helyezett erőforrások áttekintése

Az üzembe helyezés befejezése után az erőforrásokat a parancssori felület vagy az Azure Portal használatával tekintheti meg.

Az erőforráscsoportban lévő myNexusK8sCluster myResourceGroup fürt részleteinek megtekintéséhez hajtsa végre a következő Azure CLI-parancsot:

az networkcloud kubernetescluster show \
  --name myNexusK8sCluster \
  --resource-group myResourceGroup

Emellett az erőforráscsoport fürtjéhez myNexusK8sCluster myResourceGroup társított ügynökkészletnevek listájának lekéréséhez használhatja az alábbi Azure CLI-parancsot.

az networkcloud kubernetescluster agentpool list \
  --kubernetes-cluster-name myNexusK8sCluster \
  --resource-group myResourceGroup \
  --output table

Csatlakozás a fürthöz

Most, hogy a Nexus Kubernetes-fürt sikeresen létrejött, és csatlakozott az Azure Archoz, egyszerűen csatlakozhat hozzá a fürtcsatlakozás funkcióval. A fürtcsatlakozás lehetővé teszi a fürt biztonságos elérését és kezelését bárhonnan, így kényelmesen használható interaktív fejlesztési, hibakeresési és fürtfelügyeleti feladatokhoz.

Az elérhető lehetőségekről további információt az Azure Operator Nexus Kubernetes-fürt Csatlakozás című témakörben talál.

Feljegyzés

A Nexus Kubernetes-fürt létrehozásakor a Nexus automatikusan létrehoz egy felügyelt erőforráscsoportot, amely a fürt erőforrásainak tárolására van kijelölve. Ebben a csoportban létrejön az Archoz csatlakoztatott fürterőforrás.

A fürt eléréséhez be kell állítania a fürtcsatlakozás kubeconfigbeállítását. Miután bejelentkezett az Azure CLI-be a megfelelő Microsoft Entra entitással, bárhonnan beszerezheti a kubeconfig fürttel való kommunikációhoz szükséges adatokat, még az azt körülvevő tűzfalon kívül is.

  1. Beállítás CLUSTER_NAMEés RESOURCE_GROUP SUBSCRIPTION_ID változók.

    CLUSTER_NAME="myNexusK8sCluster"
    RESOURCE_GROUP="myResourceGroup"
    SUBSCRIPTION_ID=<set the correct subscription_id>
    
  2. Felügyelt erőforráscsoport lekérdezése és az tárolása MANAGED_RESOURCE_GROUP

     az account set -s $SUBSCRIPTION_ID
     MANAGED_RESOURCE_GROUP=$(az networkcloud kubernetescluster show -n $CLUSTER_NAME -g $RESOURCE_GROUP --output tsv --query managedResourceGroupConfiguration.name)
    
  3. Az alábbi parancs elindít egy connectedk8s proxyt, amely lehetővé teszi a megadott Nexus Kubernetes-fürt Kubernetes API-kiszolgálóhoz való csatlakozását.

    az connectedk8s proxy -n $CLUSTER_NAME  -g $MANAGED_RESOURCE_GROUP &
    
  4. Kérések kubectl küldése a fürtnek:

    kubectl get pods -A
    

    Ekkor megjelenik a fürt válasza, amely tartalmazza az összes csomópont listáját.

Feljegyzés

Ha a következő hibaüzenet jelenik meg: "Nem sikerült közzétenni a hozzáférési jogkivonatot az ügyfélproxyhozAz MSI-hez való csatlakozáshoz nem sikerült közzétenni", előfordulhat, hogy újra kell hitelesítenie az login magát az Azure-ral.

Ügynökkészlet hozzáadása

Az előző lépésben létrehozott fürtnek egyetlen csomópontkészlete van. Adjunk hozzá egy második ügynökkészletet a az networkcloud kubernetescluster agentpool create parancs használatával. Az alábbi példa egy ügynökkészletet myNexusK8sCluster-nodepool-2hoz létre:

Az alapértelmezett értékeket egyes változókhoz is használhatja, ahogyan az alábbi példában is látható:

RESOURCE_GROUP="myResourceGroup"
CUSTOM_LOCATION="/subscriptions/<subscription_id>/resourceGroups/<managed_resource_group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
CLUSTER_NAME="myNexusK8sCluster"
AGENT_POOL_NAME="${CLUSTER_NAME}-nodepool-2"
AGENT_POOL_VM_SIZE="NC_P10_56_v1"
AGENT_POOL_COUNT="1"
AGENT_POOL_MODE="User"

A változók definiálása után az alábbi Azure CLI-parancs végrehajtásával adhat hozzá ügynökkészletet:

az networkcloud kubernetescluster agentpool create \
  --name "${AGENT_POOL_NAME}" \
  --kubernetes-cluster-name "${CLUSTER_NAME}" \
  --resource-group "${RESOURCE_GROUP}" \
  --subscription "${SUBSCRIPTION_ID}" \
  --extended-location name="${CUSTOM_LOCATION}" type=CustomLocation \
  --count "${AGENT_POOL_COUNT}" \
  --mode "${AGENT_POOL_MODE}" \
  --vm-sku-name "${AGENT_POOL_VM_SIZE}"

Néhány perc elteltével a parancs befejezi és visszaadja az ügynökkészlet adatait. További speciális lehetőségekért tekintse meg a rövid útmutatót: Azure Nexus Kubernetes-fürt üzembe helyezése a Bicep használatával.

Feljegyzés

A fürt kezdeti létrehozása során több ügynökkészletet is hozzáadhat a kezdeti ügynökkészlet-konfigurációk használatával. Ha azonban a kezdeti létrehozás után ügynökkészleteket szeretne hozzáadni, a fenti paranccsal további ügynökkészleteket hozhat létre a Nexus Kubernetes-fürthöz.

Az alábbi kimeneti példa az ügynökkészlet sikeres létrehozásához hasonlít.

$ az networkcloud kubernetescluster agentpool list --kubernetes-cluster-name myNexusK8sCluster --resource-group myResourceGroup --output table
This command is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Count    Location    Mode    Name                          ProvisioningState    ResourceGroup    VmSkuName
-------  ----------  ------  ----------------------------  -------------------  ---------------  -----------
1        eastus      System  myNexusK8sCluster-nodepool-1  Succeeded            myResourceGroup  NC_P10_56_v1
1        eastus      User    myNexusK8sCluster-nodepool-2  Succeeded            myResourceGroup  NC_P10_56_v1

Az erőforrások eltávolítása

Ha már nincs rá szükség, törölje az erőforráscsoportot. Az erőforráscsoport és az erőforráscsoport összes erőforrása törlődik.

Az az group delete paranccsal távolítsa el az erőforráscsoportot, a Kubernetes-fürtöt és az összes kapcsolódó erőforrást, kivéve a Nexus operátor hálózati erőforrásait.

az group delete --name myResourceGroup --yes --no-wait

Következő lépések

Most már üzembe helyezheti a CNF-eket közvetlenül a fürtcsatlakozáson vagy az Azure Operator Service Manageren keresztül.