Aracılığıyla paylaş


Azure CLI'dan küme çalışma zamanını yükseltme

Bu nasıl yapılır kılavuzunda, Operatör Nexus ile etkileşim kurmak için gereken Azure CLI'yi ve uzantıları yükleme adımları açıklanmaktadır.

Önkoşullar

  1. Azure CLI'yi Yükle yüklü olmalıdır.
  2. networkcloud CLI uzantısı gereklidir. networkcloud Uzantı yüklü değilse, burada listelenen adımları izleyerek yüklenebilir.
  3. Yükseltilecek hedef küme için Azure portalına erişim.
  4. Aracılığıyla hedef kümenizle aynı abonelikte oturum açmanız gerekir az login
  5. Hedef küme, tüm denetim düzlemi düğümlerinin iyi durumda ve işlem düğümlerinin %80'inin çalışır durumda ve iyi durumda olduğu çalışır durumda olmalıdır.

Kullanılabilir çalışma zamanı sürümlerini bulma

Portal aracılığıyla

Kullanılabilir yükseltilebilir çalışma zamanı sürümlerini bulmak için Azure portalında hedef kümeye gidin. Kümenin genel bakış bölmesinde Kullanılabilir yükseltme sürümleri sekmesine gidin.

Kullanılabilir küme yükseltmelerini tanımlamak için doğru sekmeyi gösteren Azure portalının ekran görüntüsü.

Kullanılabilir yükseltme sürümleri sekmesinden, şu anda yükseltilebilen farklı küme sürümlerini görebiliyoruz. İşleç, listelenen hedef çalışma zamanı sürümleri arasından seçim yapabilir. Seçildikten sonra kümeyi yükseltmeye devam edin.

Kullanılabilir küme yükseltmelerini gösteren Azure portalının ekran görüntüsü.

Azure CLI aracılığıyla

Kullanılabilir yükseltmeler Azure CLI aracılığıyla alınabilir:

az networkcloud cluster show --name "clusterName" --resource-group "resourceGroup"

Çıktıda özelliğini bulabilir availableUpgradeVersions ve alana bakabilirsiniz targetClusterVersion :

  "availableUpgradeVersions": [
    {
      "controlImpact": "True",
      "expectedDuration": "Upgrades may take up to 4 hours + 2 hours per rack",
      "impactDescription": "Workloads will be disrupted during rack-by-rack upgrade",
      "supportExpiryDate": "2023-07-31",
      "targetClusterVersion": "3.3.0",
      "workloadImpact": "True"
    }
  ],

Kullanılabilir küme yükseltmeleri yoksa, liste boş olur.

CLI kullanarak küme çalışma zamanını yükseltme

Çalışma zamanının yükseltmesini gerçekleştirmek için aşağıdaki Azure CLI komutunu kullanın:

az networkcloud cluster update-version --cluster-name "clusterName" --target-cluster-version
  "versionNumber" --resource-group "resourceGroupName"

Çalışma zamanı yükseltmesi uzun bir işlemdir. Yükseltme önce yönetim düğümlerini yükseltip çalışan düğümleri için sıralı olarak rafa alır. Raf başına çalışan düğümlerinin %80'i ve yönetim düğümlerinin %100'ünün başarıyla yükseltilmesiyle yükseltmenin tamamlanmış olduğu kabul edilir. Bir raftaki çalışan düğümleri yükseltilirken iş yükleri etkilenebilir, ancak diğer tüm raflardaki iş yükleri etkilenmez. Bu uygulama tasarımının ışığında iş yükü yerleştirmenin dikkate alınması önerilir.

Tüm düğümlerin yükseltilmesi birden çok saat sürer, ancak üretici yazılımı güncelleştirmeleri gibi diğer işlemler de yükseltmenin bir parçasıysa daha fazla zaman alabilir. Yükseltme işleminin uzunluğu nedeniyle, yükseltmenin geçerli durumu için Kümenin ayrıntı durumunu düzenli aralıklarla denetlemeniz tavsiye edilir. Yükseltmenin durumunu denetlemek için kümenin ayrıntılı durumunu inceleyin. Bu denetim portal veya az CLI aracılığıyla yapılabilir.

Azure portalı aracılığıyla yükseltme durumunu görüntülemek için hedeflenen küme kaynağına gidin. Kümenin Genel Bakış ekranında, ayrıntılı durum iletisiyle birlikte ayrıntılı durum iletisi sağlanır.

detailedStatus olarak ayarlandığında Updating ve detailedStatusMessage yükseltmenin ilerleme durumunu gösterdiğinde Küme yükseltmesi devam ediyordur. AyrıntılıStatusMessage'da Waiting for control plane upgrade to complete...gösterilen yükseltme ilerleme durumunun bazı örnekleri , Waiting for nodepool "<rack-id>" to finish upgrading...vb.

DetailedStatus olarak ayarlandığında Running ve detailedStatusMessage ileti gösterdiğinde Küme yükseltmesi tamamlanır Cluster is up and running

Devam eden küme yükseltmesini gösteren Azure portalının ekran görüntüsü.

Yükseltme durumunu Azure CLI üzerinden görüntülemek için kullanın az networkcloud cluster show.

az networkcloud cluster show --cluster-name "clusterName" --resource-group "resourceGroupName"

Çıkış, hedef kümenin bilgileri olmalı ve kümenin ayrıntılı durum ve ayrıntı durum iletisi bulunmalıdır. Yükseltme ilerleme durumuyla ilgili daha ayrıntılı içgörüler için, her raftaki tek tek BMM durumu denetlenebilir. Bunun örneği, BareMetal Machine rolleri altındaki başvuru bölümünde verilmiştir.

Küme güncelleştirmesini kullanarak çalışma zamanı yükseltmesi için işlem eşiği parametrelerini yapılandırmaStrategy

Çalışma zamanı yükseltmesi için işlem eşiği parametrelerini yapılandırmak için aşağıdaki Azure CLI komutu kullanılır:

az networkcloud cluster update /
--name "<clusterName>" /
--resource-group "<resourceGroup>" /
--update-strategy strategy-type="Rack" threshold-type="PercentSuccess" /
threshold-value="<thresholdValue>" max-unavailable=<maxNodesOffline> /
wait-time-minutes=<waitTimeBetweenRacks>

Gerekli parametreler:

  • strateji türü: Güncelleştirme stratejisini tanımlar. Bu durumda "Raf", güncelleştirmelerin rafa göre gerçekleştiği anlamına gelir. Varsayılan değer "Raf"tır.
  • eşik türü: Eşiğin nasıl değerlendirileceğini ve strateji tarafından tanımlanan birimlerde uygulanması gerektiğini belirler. Varsayılan değer "PercentSuccess" değeridir.
  • eşik-değer: Güncelleştirmeyi değerlendirmek için kullanılan sayısal eşik değeri. Varsayılan değer 80'dir.

İsteğe bağlı parametreler:

  • max-unavailab: Çevrimdışı olabilecek en fazla çalışan düğümü sayısı ,yani bir kerede yükseltilmiş raf. Varsayılan değer 32767'dir.
  • bekleme süresi dakikaları: Raf güncelleştirilmeden önceki gecikme veya bekleme süresi. Varsayılan değer 15'tir.

Komutun örnek kullanımı aşağıdaki gibidir:

az networkcloud cluster update --name "cluster01" --resource-group "cluster01-rg" --update-strategy strategy-type="Rack" threshold-type="PercentSuccess" threshold-value=70 max-unavailable=16 wait-time-minutes=15

Komutun başarıyla yürütülmesinin ardından belirtilen updateStrategy değerleri kümeye uygulanır:

    "updateStrategy": {
      "maxUnavailable": 16,
      "strategyType": "Rack",
      "thresholdType": "PercentSuccess",
      "thresholdValue": 70,
      "waitTimeMinutes": 15,
    }

Not

%100'ün altında bir eşik değeri ayarlandığında, iyi durumda olmayan düğümler yükseltilmeyebilir, ancak "Küme" durumu yükseltmenin başarılı olduğunu yine de gösterebilir. Çıplak makinelerle ilgili sorunları gidermek için bkz . Azure Operatör Nexus sunucu sorunlarını giderme

PauseRack stratejisiyle yükseltme

API 2024-06-01-preview sürümünden itibaren çalışma zamanı yükseltmeleri bir "PauseRack" stratejisi kullanılarak tetiklenebilir. PauseRack" stratejisiyle bir Küme çalışma zamanı yükseltmesi yürüttüğünizde, küme kümedeki bir rafı bir kerede güncelleştirir ve bir sonraki rafa geçmeden önce onay beklerken durur. Mevcut tüm eşiklere "PauseRack" stratejisiyle uyulmaya devam edecektir. "PauseRack" stratejisini kullanarak Küme çalışma zamanı yükseltmesi gerçekleştirmek için Küme çalışma zamanını duraklatma raf stratejisiyle yükseltme bölümünde açıklanan adımları izleyin

Sık Sorulan Sorular

Küme Yükseltmesini Belirleme Durduruldu/Takıldı

Çalışma zamanı yükseltmesi sırasında, yükseltmenin ilerlemesi başarısız olabilir, ancak ayrıntı durumu yükseltmenin hala devam ettiğini yansıtır. Çalışma zamanı yükseltmesinin başarıyla tamamlanması çok uzun sürebileceğinden, şu anda belirlenmiş bir zaman aşımı uzunluğu yoktur. Bu nedenle, yükseltmenizin süresiz olarak yükseltmeye çalışıp çalışmadığını belirlemek için kümenizin ayrıntı durumunu ve günlüklerini düzenli aralıklarla denetlemeniz önerilir.

Kümenin günlüklerine, ayrıntılı iletiye ve ayrıntılı durum iletisine bakarak bu durumun ne zaman olduğunu belirleyebiliriz. Zaman aşımı oluştuysa Kümenin aynı süre boyunca sürekli olarak uzlaştığını ve ilerlemediğini gözlemleyeceğiz. Burada, bir hata olup olmadığını veya ilerleme eksikliğine neden olan belirli bir yükseltme olup olmadığını görmek için Küme günlüklerini veya yapılandırılmış LAW'yi denetlemenizi öneririz.

Donanım Hatası Yükseltmenin yeniden yürütülmesini gerektirmez

Yükseltme sırasında bir donanım hatası oluştuysa, işlem ve yönetim/denetim düğümleri için ayarlanan eşikler karşılandığı sürece çalışma zamanı yükseltmesi devam eder. Makine düzeltildikten veya değiştirildikten sonra, çalışma zamanının hedeflenen sürümünü içeren geçerli platform çalışma zamanının işletim sistemiyle sağlanır.

Donanım hatası oluşursa ve işlem ve denetim düğümleri için eşikler karşılanmadığından çalışma zamanı yükseltmesi başarısız olduysa, hatanın ne zaman oluştuğuna ve bir raftaki tek tek sunucuların durumuna bağlı olarak çalışma zamanı yükseltmesinin yeniden yürütülmesi gerekebilir. Bir raf hatadan önce güncelleştirildiyse, düğümler yeniden sağlandığında yükseltilmiş çalışma zamanı sürümü kullanılır. Rafın belirtimi donanım hatasından önce yükseltilmiş çalışma zamanı sürümüne güncelleştirilmediyse, makine önceki çalışma zamanı sürümüyle sağlanır. Yeni çalışma zamanı sürümüne yükseltmek için yeni bir küme yükseltme isteği gönderin; yalnızca önceki çalışma zamanı sürümüne sahip düğümler yükseltilecektir. Önceki yükseltme eyleminde başarılı olan konaklar başarısız olmaz.

Çalışma zamanı yükseltmesinin ardından kümede "Başarısız" Sağlama Durumu gösterildi

Bir çalışma zamanı yükseltmesi sırasında küme durumunu Upgradinggirer. Çalışma zamanı yükseltmesinin başarısız olduğu durumlarda küme bir Failed sağlama durumuna geçer. Yükseltme sırasındaki hatalar altyapı bileşenlerinden (depolama gereci gibi) kaynaklanabilir. Bazı senaryolarda, Microsoft desteğiyle hatayı tanılamak gerekebilir.

Küme çalışma zamanı yükseltmesi sırasında Nexus Kubernetes kiracı iş yükleri üzerindeki etkisi

Çalışma zamanı yükseltmesi sırasında, Çıplak Konaklar (BMH) yükseltilmeden önce etkilenen Nexus Kubernetes Kümesi düğümleri kordonlanır ve boşaltılır. Kubernetes Kümesi düğümünü kordon altına almak, yeni podların üzerinde zamanlanmasını önler ve Kubernetes Kümesi düğümünün boşaltılması, kiracı iş yüklerini çalıştıran podların kullanılabilir başka bir Kubernetes Kümesi düğümüne geçiş yapmasına olanak tanır ve bu da hizmetler üzerindeki etkiyi azaltmaya yardımcı olur. Boşaltma mekanizmasının etkinliği, Nexus Kubernetes Kümesi içindeki kullanılabilir kapasiteye bağlıdır. Kubernetes Kümesi tam kapasiteye yaklaşıyorsa ve podların yeniden yer değiştirmesi için yer yoksa, boşaltma işleminden sonra Beklemede durumuna geçiş yapar.

Kiracı kümesi düğümünün kordon ve boşaltma işlemi tamamlandıktan sonra BMH yükseltmesi devam eder. Boşaltma işleminin tamamlanması için her kiracı kümesi düğümüne 10 dakikaya kadar izin verilir ve bundan sonra BMH yükseltmesi başlar. Bu, BMH yükseltmesinin ilerleme kaydedeceğini garanti eder. BMH'ler aynı anda bir rafa yükseltilir ve yükseltmeler aynı raf içinde paralel olarak gerçekleştirilir. BMH yükseltmesi, yükseltilmekte olan raftaki BMH'lerin çalışma zamanı yükseltmesine devam etmeden önce kiracı kaynaklarının çevrimiçi olmasını beklemez. Bunun avantajı, kullanılabilir düğüm sayısına bakılmaksızın raf yükseltmesi için maksimum genel bekleme süresinin 10 dakikada tutulmasıdır. Bu maksimum bekleme süresi kordon ve boşaltma yordamına özgüdür ve genel yükseltme yordamına uygulanmaz. Her BMH yükseltmesi tamamlandıktan sonra Nexus Kubernetes küme düğümü başlatılır, kümeye yeniden katılır ve kaydedilmez ve düğümde podların bir kez daha zamanlanmasını sağlar.

Kordon ve boşaltma işleminden sonra Nexus Kubernetes küme düğümünün kapatılmayacağını unutmayın. Boşaltma işlemi tamamlanmazsa 10 dakika sonra tüm Nexus Kubernetes küme düğümleri kordonlanır ve boşaltılır yüklenmez BMH yeni görüntüyle yeniden başlatılır. Ayrıca, BMH'nin güç kapatma veya yeniden başlatma eylemleri için kordon ve boşaltma başlatılmaz; yalnızca çalışma zamanı yükseltmesi sırasında etkinleştirilir.

Çalışma zamanı yükseltmesinin ardından Bir Nexus Kubernetes Kümesi düğümünü kordonlu olarak kalan bir örnek olabileceğini unutmayın. Bu senaryo için aşağıdaki komutu yürüterek düğümün puanını el ile kaldırabilirsiniz

az networkcloud baremetalmachine list -g $mrg --subscription $sub --query "sort_by([].{name:name,kubernetesNodeName:kubernetesNodeName,location:location,readyState:readyState,provisioningState:provisioningState,detailedStatus:detailedStatus,detailedStatusMessage:detailedStatusMessage,powerState:powerState,tags:tags.Status,machineRoles:join(', ', machineRoles),cordonStatus:cordonStatus,createdAt:systemData.createdAt}, &name)" 
--output table