Aracılığıyla paylaş


Azure CLI kullanarak Küme oluşturma ve sağlama

Bu makalede, Azure Komut Satırı Arabirimi (AzCLI) kullanılarak bir Kümenin nasıl oluşturulacağı açıklanmaktadır. Bu belgede ayrıca kümenin durumunu denetleme, güncelleştirme veya silme işlemi de gösterilir.

Önkoşullar

  • Azure bölgenizde Network Fabric Controller ve Cluster Manger'ın mevcut olduğunu doğrulayın
  • Network Fabric'in başarıyla sağlandığını doğrulayın

API kılavuzu ve ölçümleri

API kılavuzu, kaynak sağlayıcıları ve kaynak modelleri ile API'ler hakkında bilgi sağlar.

Günlük verilerinden oluşturulan ölçümler Azure İzleyici ölçümlerinde kullanılabilir.

Küme Oluşturma

Altyapı Kümesi kaynağı, Küme Yöneticisi içindeki platformun şirket içi dağıtımını temsil eder. Platforma özgü diğer tüm kaynaklar yaşam döngüleri için buna bağımlıdır.

Bu şirket içi dağıtımdan önce Network Fabric'i oluşturmanız gerekir. Her İşleç Nexus şirket içi örneğinin Ağ Dokusu ile bire bir ilişkisi vardır.

AZ CLI kullanarak Küme oluşturma:

az networkcloud cluster create --name "$CLUSTER_NAME" --location "$LOCATION" \
  --extended-location name="$CL_NAME" type="CustomLocation" \
  --resource-group "$CLUSTER_RG" \
  --analytics-workspace-id "$LAW_ID" \
  --cluster-location "$CLUSTER_LOCATION" \
  --network-rack-id "$AGGR_RACK_RESOURCE_ID" \
  --rack-sku-id "$AGGR_RACK_SKU"\
  --rack-serial-number "$AGGR_RACK_SN" \
  --rack-location "$AGGR_RACK_LOCATION" \
  --bare-metal-machine-configuration-data "["$AGGR_RACK_BMM"]" \
  --storage-appliance-configuration-data '[{"adminCredentials":{"password":"$SA_PASS","username":"$SA_USER"},"rackSlot":1,"serialNumber":"$SA_SN","storageApplianceName":"$SA_NAME"}]' \
  --compute-rack-definitions '[{"networkRackId": "$COMPX_RACK_RESOURCE_ID", "rackSkuId": "$COMPX_RACK_SKU", "rackSerialNumber": "$COMPX_RACK_SN", "rackLocation": "$COMPX_RACK_LOCATION", "storageApplianceConfigurationData": [], "bareMetalMachineConfigurationData":[{"bmcCredentials": {"password":"$COMPX_SVRY_BMC_PASS", "username":"$COMPX_SVRY_BMC_USER"}, "bmcMacAddress":"$COMPX_SVRY_BMC_MAC", "bootMacAddress":"$COMPX_SVRY_BOOT_MAC", "machineDetails":"$COMPX_SVRY_SERVER_DETAILS", "machineName":"$COMPX_SVRY_SERVER_NAME"}]}]'\
  --managed-resource-group-configuration name="$MRG_NAME" location="$MRG_LOCATION" \
  --network fabric-id "$NF_ID" \
  --cluster-service-principal application-id="$SP_APP_ID" \
    password="$SP_PASS" principal-id="$SP_ID" tenant-id="$TENANT_ID" \
  --subscription "$SUBSCRIPTION_ID" \
  --secret-archive "{key-vault-id:$KVRESOURCE_ID, use-key-vault:true}" \
  --cluster-type "$CLUSTER_TYPE" --cluster-version "$CLUSTER_VERSION" \
  --tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2"

Küme işlemleri için parametreler

Parametre adı Açıklama
CLUSTER_NAME Kümenin Kaynak Adı
KONUM Kümenin dağıtıldığı Azure Bölgesi
CL_NAME Azure portalından Küme Yöneticisi Özel Konumu
CLUSTER_RG Küme kaynak grubu adı
LAW_ID Küme için Log Analytics Çalışma Alanı Kimliği
CLUSTER_LOCATION Kümenin yerel adı
AGGR_RACK_RESOURCE_ID Toplayıcı Raf için RackID
AGGR_RACK_SKU Toplayıcı Raf için Raf SKU'su
AGGR_RACK_SN Toplayıcı Raf için Raf Seri Numarası
AGGR_RACK_LOCATION Toplayıcı Rafı için raf fiziksel konumu
AGGR_RACK_BMM Yalnızca tek raf dağıtımı için kullanılır, çoklu raf için boş
SA_NAME Depolama Gereci Cihaz adı
SA_PASS Depolama Gereci yönetici parolası
SA_USER Depolama Gereci yönetici kullanıcısı
SA_SN Depolama Aleti Seri Numarası
COMPX_RACK_RESOURCE_ID CompX Raf için RackID; işlem rafı tanımlarındaki her raf için yineleme
COMPX_RACK_SKU CompX Raf için Raf SKU'su; işlem rafı tanımlarındaki her raf için yineleme
COMPX_RACK_SN CompX Raf için Raf Seri Numarası; işlem rafı tanımlarındaki her raf için yineleme
COMPX_RACK_LOCATION CompX Rafı için raf fiziksel konumu; işlem rafı tanımlarındaki her raf için yineleme
COMPX_SVRY_BMC_PASS CompX Rack ServerY BMC parolası, işlem rafı tanımlarındaki her raf ve raftaki her sunucu için tekrarlayın
COMPX_SVRY_BMC_USER CompX Rack ServerY BMC kullanıcısı, işlem rafı tanımlarındaki her raf ve raftaki her sunucu için tekrarlayın
COMPX_SVRY_BMC_MAC CompX Rack ServerY BMC MAC adresi, işlem rafı tanımlarındaki her raf ve raftaki her sunucu için tekrarlayın
COMPX_SVRY_BOOT_MAC CompX Rack ServerY önyükleme NIC MAC adresi, işlem rafı tanımlarındaki her raf ve raftaki her sunucu için tekrarlayın
COMPX_SVRY_SERVER_DETAILS CompX Rack ServerY ayrıntıları, işlem rafı tanımlarındaki her bir raf ve raftaki her sunucu için tekrarlayın
COMPX_SVRY_SERVER_NAME CompX Rack ServerY adı, işlem rafı tanımlarındaki her raf ve raftaki her sunucu için tekrarlayın
MRG_NAME Küme yönetilen kaynak grubu adı
MRG_LOCATION Küme Azure bölgesi
NF_ID Network Fabric başvurusu
SP_APP_ID Hizmet Sorumlusu Uygulama Kimliği
SP_PASS Hizmet Sorumlusu Parolası
SP_ID Hizmet Sorumlusu Kimliği
TENANT_ID Abonelik kiracı kimliği
SUBSCRIPTION_ID Subscription ID
KV_RESOURCE_ID Key Vault Kimliği
CLUSTER_TYPE Küme türü, Tek veya MultiRack
CLUSTER_VERSION Kümenin NC Sürümü
TAG_KEY1 Küme Oluşturma'ya geçirmek için isteğe bağlı etiket1
TAG_VALUE1 Küme Oluşturma'ya geçirmek için isteğe bağlı tag1 değeri
TAG_KEY2 Küme Oluşturma'ya geçirmek için isteğe bağlı etiket2
TAG_VALUE2 Küme Oluşturma'ya geçirmek için isteğe bağlı tag2 değeri

Azure Resource Manager şablon düzenleyicisini kullanarak Küme oluşturma

Küme oluşturmanın alternatif bir yolu ARM şablonu düzenleyicisidir.

Kümeyi bu şekilde oluşturmak için bir şablon dosyası (cluster.jsonc) ve parametre dosyası (cluster.parameters.jsonc) sağlamanız gerekir. 8 Raflı 2M16C SKU kümesine yönelik örnekleri şu iki dosyayı kullanarak bulabilirsiniz:

cluster.jsonc , cluster.parameters.jsonc

Not

Doğru biçimlendirmeyi almak için ham kod dosyasını kopyalayın. cluster.parameters.jsonc dosyasındaki değerler müşteriye özeldir ve tam bir liste olmayabilir. Belirli bir ortamınız için değer alanlarını güncelleştirin.

  1. Web tarayıcısında Azure portalına gidin ve oturum açın.
  2. Azure portalı arama çubuğundan 'Özel şablon dağıtma' araması yapın ve kullanılabilir hizmetlerden seçin.
  3. Düzenleyicide Kendi şablonunuzu oluşturun'a tıklayın.
  4. Dosya yükle'ye tıklayın. cluster.jsonc şablon dosyanızı bulun ve karşıya yükleyin.
  5. Kaydet'e tıklayın.
  6. Parametreleri düzenle'ye tıklayın.
  7. Dosya yükle'ye tıklayın. cluster.parameters.jsonc parameters dosyanızı bulun ve karşıya yükleyin.
  8. Kaydet'e tıklayın.
  9. Doğru Aboneliği seçin.
  10. Zaten var olup olmadığını görmek için Kaynak grubunu arayın. Aksi takdirde yeni bir Kaynak grubu oluşturun.
  11. Tüm Örnek Ayrıntılarının doğru olduğundan emin olun.
  12. Gözden geçir ve oluştur’a tıklayın.

Küme doğrulama

Başarılı bir Operatör Nexus Kümesi oluşturma işlemi, aboneliğinizin içinde bir AKS kümesi oluşturulmasına neden olur. Başarılı bir cluster createsonuç olarak küme kimliği, küme sağlama durumu ve dağıtım durumu döndürülür.

Kümenin durumunu görüntüleyin:

az networkcloud cluster show --resource-group "$CLUSTER_RG" \
  --cluster-name "$CLUSTER_RESOURCE_NAME"

Kaynak gösterildiğinde provisioningState Küme oluşturma işlemi tamamlanır: "provisioningState": "Succeeded"

Küme günlüğüne kaydetme

Küme oluşturma Günlükleri aşağıdaki konumlarda görüntülenebilir:

  1. Azure portalı Resource/ResourceGroup Etkinlik günlükleri.
  2. Komut satırında bayrağı geçirilen Azure CLI --debug .

KümeYi Dağıtma

Küme oluşturulduktan sonra kümeyi dağıtma eylemi tetiklenebilir. Kümeyi dağıt eylemi bootstrap görüntüsünü oluşturur ve Kümeyi dağıtır.

Küme Dağıtma, Küme Yöneticisi'nde gerçekleşen bir olay dizisi başlatır.

  1. Küme/raf özelliklerinin doğrulanması
  2. Kısa ömürlü önyükleme kümesi için önyüklenebilir görüntü oluşturma (Altyapı Doğrulaması).
  3. Hedeflenen önyükleme makinesinin IPMI arabirimiyle etkileşim.
  4. Donanım doğrulama denetimleri gerçekleştirme
  5. Küme dağıtım işlemini izleme.

Şirket içi Kümeyi dağıtma:

az networkcloud cluster deploy \
  --name "$CLUSTER_NAME" \
  --resource-group "$CLUSTER_RG" \
  --subscription "$SUBSCRIPTION_ID" \
  --no-wait --debug

İpucu

Komutun durumunu az networkcloud cluster deploy denetlemek için bayrağı kullanılarak --debug yürütülebilir. Bu, kaynağı sorgulamak Azure-AsyncOperation için kullanılan veya Location üst bilgisini almanıza operationStatuses olanak sağlar. Daha ayrıntılı adımlar için Küme Dağıtımı Başarısız oldu bölümüne bakın. İsteğe bağlı olarak, komutu bayrağını kullanarak --no-wait zaman uyumsuz olarak çalışabilir.

Donanım doğrulaması ile Küme Dağıtımı

Küme dağıtma işlemi sırasında, yürütülen adımlardan biri donanım doğrulamasıdır. Donanım doğrulama yordamı, kümenin raf tanımı aracılığıyla sağlanan makinelerde çeşitli test ve denetimler çalıştırır. Bu denetimlerin sonuçlarına ve kullanıcı tarafından atlanan makinelere bağlı olarak, dağıtımın devam etmesi için gerekli eşikleri karşılamak için yeterli düğümlerin geçirilip geçirilmediği ve/veya kullanılabilir olup olmadığı belirlenir.

Önemli

Donanım doğrulama işlemi sonuçları Küme Oluşturma'da belirtilene analyticsWorkspaceId yazar. Ayrıca, Küme nesnesinde sağlanan Hizmet Sorumlusu Log Analytics Çalışma Alanı Veri Toplama API'sine karşı kimlik doğrulaması için kullanılır. Bu özellik yalnızca yeni bir dağıtım sırasında görünür (Yeşil Alan); mevcut kümede geçmişe dönük olarak kullanılabilir günlükler bulunmaz.

Varsayılan olarak, donanım doğrulama işlemi sonuçları yapılandırılan Kümeye analyticsWorkspaceIdyazar. Ancak Log Analytics Çalışma Alanı veri toplama ve şema değerlendirmesinin doğası gereği, birkaç dakika veya daha uzun sürebilecek alım gecikmesi olabilir. Bu nedenle, Sonuçları Log Analytics Çalışma Alanına yazma hatası olsa bile Küme dağıtımı devam eder. Bu olası olayın ele alınmasına yardımcı olmak için yedeklilik sonuçları da Küme Yöneticisi'ne kaydedilir.

Sağlanan Küme nesnesinin Log Analytics Çalışma Alanında, Ön ek ve sonek *_CL olarak Küme adını içeren yeni bir özel tablo görünmelidir. LAW kaynağının Günlükler bölümünde, yeni *_CL Özel Günlük tablosunda bir sorgu yürütülebilir.

Belirli çıplak makineyi atlayarak Küme Dağıtma Eylemi

Donanım doğrulaması sırasında atlanması gereken kümedeki çıplak makinelerin adlarını temsil eden deploy komutuna bir parametre geçirilebilir. Atlanan düğümler doğrulanmaz ve düğüm havuzuna eklenmez. Ayrıca, atlanan düğümler eşik hesaplamaları tarafından kullanılan toplama göre sayılmaz.

az networkcloud cluster deploy \
  --name "$CLUSTER_NAME" \
  --resource-group "$CLUSTER_RG" \
  --subscription "$SUBSCRIPTION_ID" \
  --skip-validations-for-machines "$COMPX_SVRY_SERVER_NAME"

Küme Dağıtımı başarısız oldu

Zaman uyumsuz bir işlemin durumunu izlemek için bayrağı etkin olarak --debug çalıştırın. Belirtildiğinde --debug , isteğin ilerleme durumu izlenebilir. İşlem durumu URL'si, oluşturma isteğine http yanıtının veya Location üst bilgisinin arandığı Azure-AsyncOperation hata ayıklama çıkışı incelenerek bulunabilir. Üst bilgiler HTTP API çağrısında kullanılan alanı sağlayabilir OPERATION_ID .

OPERATION_ID="12312312-1231-1231-1231-123123123123*99399E995..."
az rest -m GET -u "https://management.azure.com/subscriptions/${SUBSCRIPTION_ID}/providers/Microsoft.NetworkCloud/locations/${LOCATION}/operationStatuses/${OPERATION_ID}?api-version=2022-12-12-preview"

Çıkış, JSON yapısı örneğine benzer. Hata kodu olduğundaHardwareValidationThresholdFailed, hata iletisi donanım doğrulamasında başarısız olan çıplak makinelerin listesini içerir (örneğin, , COMP0_SVR0_SERVER_NAMECOMP1_SVR1_SERVER_NAME). Bu adlar, daha fazla ayrıntı için günlükleri ayrıştırmak için kullanılabilir.

{
  "endTime": "2023-03-24T14:56:59.0510455Z",
  "error": {
    "code": "HardwareValidationThresholdFailed",
    "message": "HardwareValidationThresholdFailed error hardware validation threshold for cluster layout plan is not met for cluster $CLUSTER_NAME in namespace nc-system with listed failed devices $COMP0_SVR0_SERVER_NAME, $COMP1_SVR1_SERVER_NAME"
  },
  "id": "/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.NetworkCloud/locations/$LOCATION/operationStatuses/12312312-1231-1231-1231-123123123123*99399E995...",
  "name": "12312312-1231-1231-1231-123123123123*99399E995...",
  "resourceId": "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$CLUSTER_RESOURCE_GROUP/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME",
  "startTime": "2023-03-24T14:56:26.6442125Z",
  "status": "Failed"
}

Başka bir örnek için Azure CLI Kullanarak Zaman Uyumsuz İşlemleri İzleme makalesine bakın.

Küme dağıtımı doğrulaması

Kümenin durumunu portalda veya Azure CLI aracılığıyla görüntüleyin:

az networkcloud cluster show --resource-group "$CLUSTER_RG" \
  --name "$CLUSTER_NAME"

detailedStatus olarak ayarlandığında Deploying ve detailedStatusMessage dağıtımın ilerleme durumunu gösterdiğinde Küme dağıtımı devam ediyordur. AyrıntılıStatusMessage'da gösterilen dağıtım ilerleme durumunun bazı örnekleri şunlardır Hardware validation is in progress. : (küme donanım doğrulaması ile dağıtıldıysa) ,Cluster is bootstrapping., KCP initialization in progress., Management plane deployment in progress., Cluster extension deployment in progress., , waiting for "<rack-ids>" to be readyvb.

Küme dağıtımı ilerleme durumu kcp başlatmayı gösteren Azure portalının ekran görüntüsü.

Küme dağıtımı ilerleme durumu uzantısı uygulamasını gösteren Azure portalının ekran görüntüsü.

detailedStatus olarak ayarlandığında Running ve detailedStatusMessage iletisi Cluster is up and runninggörüntülendiğinde Küme dağıtımı tamamlanır.

Küme dağıtımının tamamlanmasını gösteren Azure portalının ekran görüntüsü.

Kümenin yönetim sürümünü görüntüleyin:

az k8s-extension list --cluster-name "$CLUSTER_NAME" --resource-group "$MRG_NAME" --cluster-type connectedClusters --query "[?name=='nc-platform-extension'].{name:name, extensionType:extensionType, releaseNamespace:scope.cluster.releaseNamespace,provisioningState:provisioningState,version:version}" -o table --subscription "$SUBSCRIPTION_ID"

Küme dağıtımı Günlüğü

Küme oluşturma Günlükleri aşağıdaki konumlarda görüntülenebilir:

  1. Azure portalı Resource/ResourceGroup Etkinlik günlükleri.
  2. Komut satırında bayrağı geçirilen Azure CLI --debug .

Küme dağıtımı ilerleme durumu etkinlik günlüğünü gösteren Azure portalının ekran görüntüsü.

Küme silme

Bir kümeyi silerken Azure'daki kaynakları ve şirket içi ortamda bulunan kümeyi siler.

Not

Kümede var olan kiracı kaynakları varsa, bu kaynaklar silinene kadar silinmez.

Kiracı kaynakları nedeniyle silme işleminin başarısız olduğunu gösteren portalın ekran görüntüsü.

az networkcloud cluster delete --name "$CLUSTER_NAME" --resource-group "$CLUSTER_RG"