Aracılığıyla paylaş


Azure Linux Container Host düğüm görüntülerinde eski çekirdek sürümleriyle ilgili sorunları giderme

Geçiş sırasında veya Azure Linux Container Host'ınıza yeni düğüm havuzları eklerken, güncel olmayan çekirdek sürümleriyle ilgili sorunlarla karşılaşabilirsiniz. Azure Kubernetes Service (AKS), her hafta yeni bir Azure Linux düğüm görüntüsü yayımlar. Bu görüntü, yeni düğüm havuzları için ve ölçeği artırmaya yönelik başlangıç görüntüsü olarak kullanılır. Ancak, eski düğüm havuzları çekirdek sürümlerini beklendiği gibi güncelleştirmiyor olabilir.

Düğüm havuzlarınızın KERNEL-VERSION komutunu denetlemek için şu komutu çalıştırın:

    kubectl get nodes -o wide

Ardından düğüm havuzlarınızın çekirdek sürümünü packages.microsoft.com'de yayımlanan en son çekirdekle karşılaştırın.

Belirti

Bu sorunun yaygın belirtileri şunlardır:

  • Azure Linux düğümleri en son çekirdek sürümünü kullanmıyor.

Nedenler

Bu sorunun iki birincil nedeni vardır:

  1. Düğüm havuzu oluşturulduğunda otomatik düğüm görüntüsü yükseltmeleri etkinleştirilmedi.
  2. AKS'nin kümeleri başlatmak için kullandığı temel görüntü, dağıtım yordamı nedeniyle en son çekirdek sürümlerinin iki hafta arkasında çalışır.

Çözüm

GitHub Actions'ı kullanarak otomatik yükseltmeleri etkinleştirebilir ve bu sorunu çözmek için düğümleri yeniden başlatabilirsiniz.

Azure CLI kullanarak otomatik düğüm-görüntü yükseltmelerini etkinleştirme

az-cli'den bir küme dağıtırken otomatik düğüm görüntüsü yükseltmelerini etkinleştirmek için parametresini --auto-upgrade-channel node-imageekleyin.

az aks create --name testAzureLinuxCluster --resource-group testAzureLinuxResourceGroup --os-sku AzureLinux --auto-upgrade-channel node-image

ARM şablonlarını kullanarak otomatik düğüm-görüntü yükseltmelerini etkinleştirme

ARM şablonu kullanırken otomatik düğüm-görüntü yükseltmelerini etkinleştirmek için içindeki upgradeChannel özelliğini autoUpgradeProfile olarak node-imageayarlayabilirsiniz.

    autoUpgradeProfile: {
      upgradeChannel: 'node-image'
    }

Düğümleri yeniden başlatın

Çekirdek sürümünü güncelleştirirken yeni çekirdek sürümünü kullanmak için düğümü yeniden başlatmanız gerekir. Kured daemonset'i ayarlamanızı öneririz. Dosya için düğümlerinizi izlemek, iş yükünü boşaltmak ve düğümleri yeniden başlatmak için /var/run/reboot-required Kured.

Geçici çözüm: El ile yükseltmeler

Hızlı bir geçici çözüme ihtiyacınız varsa az aks nodepool upgrade komutunu kullanarak kümedeki node-image dosyasını el ile yükseltebilirsiniz. Bu işlem çalıştırılarak yapılabilir

az aks nodepool upgrade \
    --resource-group testAzureLinuxResourceGroup \
    --cluster-name testAzureLinuxCluster \
    --name myAzureLinuxNodepool \
    --node-image-only

Sonraki adımlar

Yukarıdaki adımlar sorunu çözmezse bir destek bileti açın.