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.
- Web tarayıcısında Azure portalına gidin ve oturum açın.
- Azure portalı arama çubuğundan 'Özel şablon dağıtma' araması yapın ve kullanılabilir hizmetlerden seçin.
- Düzenleyicide Kendi şablonunuzu oluşturun'a tıklayın.
- Dosya yükle'ye tıklayın. cluster.jsonc şablon dosyanızı bulun ve karşıya yükleyin.
- Kaydet'e tıklayın.
- Parametreleri düzenle'ye tıklayın.
- Dosya yükle'ye tıklayın. cluster.parameters.jsonc parameters dosyanızı bulun ve karşıya yükleyin.
- Kaydet'e tıklayın.
- Doğru Aboneliği seçin.
- Zaten var olup olmadığını görmek için Kaynak grubunu arayın. Aksi takdirde yeni bir Kaynak grubu oluşturun.
- Tüm Örnek Ayrıntılarının doğru olduğundan emin olun.
- 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 create
sonuç 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:
- Azure portalı Resource/ResourceGroup Etkinlik günlükleri.
- 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.
- Küme/raf özelliklerinin doğrulanması
- Kısa ömürlü önyükleme kümesi için önyüklenebilir görüntü oluşturma (Altyapı Doğrulaması).
- Hedeflenen önyükleme makinesinin IPMI arabirimiyle etkileşim.
- Donanım doğrulama denetimleri gerçekleştirme
- 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 analyticsWorkspaceId
yazar.
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_NAME
COMP1_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 ready
vb.
detailedStatus olarak ayarlandığında Running
ve detailedStatusMessage iletisi Cluster is up and running
görüntülendiğinde Küme dağıtımı tamamlanır.
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:
- Azure portalı Resource/ResourceGroup Etkinlik günlükleri.
- Komut satırında bayrağı geçirilen Azure CLI
--debug
.
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.
az networkcloud cluster delete --name "$CLUSTER_NAME" --resource-group "$CLUSTER_RG"
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin