Öğretici: Düğümleri Azure Linux'a geçirme

Bu öğreticide, beş bölümden üçüncüsünde, mevcut düğümlerinizi Azure Linux'a geçirirsiniz. Aşağıdaki yöntemlerden birini kullanarak mevcut düğümlerinizi Azure Linux'a geçirebilirsiniz:

  • Mevcut düğüm havuzlarını kaldırın ve yeni Azure Linux düğüm havuzları ekleyin.
  • Yerinde işletim sistemi (OS) SKU geçişi gerçekleştirin.

Bu öğreticideki komutlar, Tutorial 1: AKS için Azure Linux Container Host ile küme oluşturma'da ayarlanan ortam değişkenlerini kullanır.

Azure Linux'a geçiş için mevcut düğümleriniz yoksa sonraki öğreticiye geçebilirsiniz. Sonraki öğreticilerde kümelerinizde telemetri ve izlemeyi etkinleştirmeyi ve Azure Linux düğümlerini yükseltmeyi öğreneceksiniz.

Prerequisites

  • Önceki öğreticilerde AKS kümesi için bir Azure Linux Container Host oluşturup dağıtmıştınız. Bu öğreticiyi tamamlamak için mevcut kümenize bir Azure Linux düğüm havuzu eklemeniz gerekir. Bu adımı henüz yapmadıysanız ve takip etmek istiyorsanız Öğretici 2: Mevcut AKS kümenize Azure Linux düğüm havuzu ekleme ile başlayın.

Note

Yeni bir Azure Linux düğüm havuzu eklerken en az bir tane --mode System olarak eklemeniz gerekir. Aksi takdirde AKS, mevcut düğüm havuzunuzu silmenize izin vermez.

  • Azure CLI'nın en son sürümüne ihtiyacınız vardır. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI'yı yükleme.

Ortam değişkenlerini ayarlama

Her dağıtım için benzersiz kaynak adları oluşturmak için aşağıdaki ortam değişkenlerini ayarlayın. Yer tutucuyu <your-node-pool-name> seçtiğiniz bir adla değiştirin. İsteğe bağlı olarak benzersizliği sağlamak için sona rastgele bir sonek ekleyebilirsiniz. Düğüm havuzunun adı küçük harfle başlamalı ve yalnızca alfasayısal karakterler içermelidir. Linux düğüm havuzları için uzunluk bir ile 12 karakter arasında olmalıdır.

# Set random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)

# Set node pool name
export NODE_POOL_NAME="<your-node-pool-name>$RANDOM_SUFFIX"

Azure Linux düğüm havuzları ekleme ve mevcut düğüm havuzlarını kaldırma

  1. komutunu kullanarak az aks nodepool add yeni bir Azure Linux düğüm havuzu ekleyin. Bu komut, bayrağıyla --mode System kümenize yeni bir düğüm havuzu ekler ve bu da onu bir sistem düğümü havuzu yapar. Azure Linux kümeleri için sistem düğümü havuzları gereklidir.

    az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinux
    

    Örnek çıkış:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
      "name": "systempool",
      "provisioningState": "Succeeded"
    }
    
  2. komutunu kullanarak az aks nodepool delete mevcut düğümlerinizi kaldırın.

Yerinde OS SKU geçişi

Mevcut Ubuntu düğüm havuzlarınızı, düğüm havuzunun OS SKU’sunu değiştirerek Azure Linux’e geçirebilirsiniz; bu işlem kümeyi standart düğüm görüntüsü yükseltme sürecinden geçirir. Bu yeni özellik, yeni düğüm havuzlarının oluşturulmasını gerektirmez.

Yerinde işletim sistemi SKU geçiş sınırlamaları

İşletim sistemi SKU geçiş isteğini engelleyebilecek çeşitli ayarlar vardır. Geçişin başarılı olmasını sağlamak için aşağıdaki yönergeleri ve sınırlamaları gözden geçirin:

  • İşletim sistemi SKU'su geçiş özelliği PowerShell veya Azure portalı üzerinden kullanılamaz.
  • İşletim sistemi SKU'su geçiş özelliği mevcut düğüm havuzlarını yeniden adlandıramaz.
  • Ubuntu, Azure Linux ve OS Guard ile Azure Linux desteklenen tek Linux işletim sistemi SKU geçiş hedefleridir.
  • OS Guard ile Azure Linux için varsayılan olarak Güvenilen Başlatma gereklidir. OS Guard ile Azure Linux'a geçiş yapabilmek için Güvenilen Başlatma'nın etkin olması gerekir. Mevcut düğüm havuzlarında Güvenilen Başlatma'yı etkinleştiremezseniz, Güvenilen Başlatma etkinleştirilmiş yeni bir düğüm havuzu oluşturmanız ve iş yüklerinizi bu düğüm havuzuna geçirmeniz gerekir.
  • Yalnızca Gen 1 sanal makine (VM) boyutlarını kullanan müşteriler, desteklenen bir Gen 1 görüntüsü olmadığından OS Guard ile Azure Linux'a geçemez. Bu durumda, 2. Nesil'i destekleyen vm boyutuna sahip yeni düğüm havuzları oluşturmanız gerekir.
  • Etkinleştirilmiş UseGPUDedicatedVHD ile bir Ubuntu işletim sistemi SKU'su, işletim sistemi SKU geçişi gerçekleştiremez.
  • CVM 20.04 etkinleştirilmiş bir Ubuntu işletim sistemi SKU'su işletim sistemi SKU geçişi gerçekleştiremez.
  • Kata'nın etkinleştirildiği düğüm havuzları işletim sistemi SKU geçişi gerçekleştiremez.
  • Windows işletim sistemi SKU geçişi desteklenmez.

Yerinde işletim sistemi SKU geçişi önkoşulları

  • En az bir Ubuntu düğüm havuzuna sahip mevcut bir AKS kümesi.
  • Azure Linux kümesini geliştirme/üretim ortamında dağıtarak ve hizmetinizin sağlıklı kaldığını doğrulayarak, işletim sistemi SKU geçiş özelliğini kullanmaya çalışmadan önce iş yüklerinizin Azure Linux kapsayıcı konağında doğru şekilde yapılandırıldığından ve başarıyla çalıştığından emin olmanız önerilir.
  • İşlemi bir üretim kümesinde kullanmadan önce test/geliştirme aşamasında geçiş özelliğinin sizin için çalıştığından emin olun.
  • Podlarınızın, AKS'nin yükseltme sırasında POD'ları VM'ler arasında taşımasına izin vermek için yeterli Pod Kesinti Bütçesine (PDB) sahip olduğundan emin olun.
  • Azure CLI sürüm 2.61.0 veya üzeri gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI'yı yükleme.
  • Terraform kullanıyorsanız AzureRM Terraform modülünün v3.111.0 veya üzeri sürümünü kullanmanız gerekir.

Ubuntu düğüm havuzunuzun işletim sistemi SKU'sunu değiştirin

komutunu kullanarak düğüm havuzunuzun işletim sistemi SKU'sunu Azure Linux'a az aks nodepool update geçirin. Bu komut, düğüm havuzunuzun işletim sistemi SKU'sunu Ubuntu'dan Azure Linux'a güncelleştirir. İşletim sistemi SKU'su değişikliği, tamamlanması birkaç dakika süren anında bir yükseltme işlemini tetikler.

az aks nodepool update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinux

Örnek çıkış:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
  "name": "nodepool1",
  "osSku": "AzureLinux",
  "provisioningState": "Succeeded"
}

Note

İşletim sistemi SKU geçişi sırasında sorunlarla karşılaşırsanız önceki işletim sistemi SKU'nuza geri dönebilirsiniz.

İşletim sistemi SKU geçişini doğrulama

Test kümelerinizde geçiş tamamlandıktan sonra, geçişin başarılı olduğundan emin olmak için aşağıdakileri doğrulamanız gerekir:

  • Geçiş hedefiniz Azure Linux ise komutunu çalıştırın kubectl get nodes -o wide . Çıktıda, Microsoft Azure Linux 3.0 işletim sistemi imajı olarak ve .azl3 çekirdek sürümünüzün sonunda görünmelidir.
  • kubectl get pods -o wide -A Tüm podlarınızın ve daemonset'lerinizin yeni düğüm havuzunda çalıştığını doğrulamak için komutunu çalıştırın.
  • kubectl get nodes --show-labels Yükseltilmiş düğüm havuzunuzdaki tüm düğüm etiketlerinin beklediğiniz gibi olduğunu doğrulamak için komutunu çalıştırın.

Tavsiye

Üretim kümelerinizi geçirmeden önce hizmetinizin durumunu birkaç hafta izlemenizi öneririz.

Üretim kümelerinizde işletim sistemi SKU geçişini çalıştırma

  1. Mevcut şablonlarınızı OSSKU=AzureLinux ayarlamak için güncelleyin. apiVersion ayarının 2023-07-01 veya daha sonrası olduğundan emin olun.

    • ARM şablonları: agentPoolProfile bölümünde "OSSKU": "AzureLinux" kullanın.
    • Bicep: osSku: "AzureLinux" bölümünde agentPoolProfile kullanın.
    • Terraform: default_node_pool bölümünde os_sku = "AzureLinux" kullanın.
  2. Yeni OSSKU ayarı uygulamak için ARM, Bicep veya Terraform şablonunuzu küme için yeniden dağıtın. Bu dağıtım sırasında kümeniz bir düğüm görüntüsü yükseltmesi alıyor gibi davranır. Kümeniz kapasiteyi artırır ve ardından mevcut düğümlerinizi yeni işletim sistemi SKU'nuzdan en son AKS görüntüsüne tek tek yeniden başlatır.

Önceki işletim sistemi SKU'nuza geri dönme

İşletim sistemi SKU geçişi sırasında sorunlarla karşılaşırsanız önceki işletim sistemi SKU'nuza geri dönebilirsiniz. Bunu yapmak için, şablonunuzdaki işletim sistemi SKU'su alanını değiştirmeniz ve dağıtımı yeniden göndermeniz gerekir; bu da başka bir yükseltme işlemini tetikler ve düğüm havuzunu önceki işletim sistemi SKU'sunun geri yükler.

komutunu kullanarak önceki işletim sistemi SKU'nuza az aks nodepool update geri dönebilirsiniz. Bu komut, düğüm havuzunuzun işletim sistemi SKU'sunu Azure Linux'tan Ubuntu'ya geri güncelleştirir.

Sonraki adım

Bu öğreticide, mevcut düğüm havuzlarını kaldırıp yeni Azure Linux düğüm havuzları ekleyerek veya yerinde bir işletim sistemi SKU geçişi gerçekleştirerek mevcut düğümleri Azure Linux'a geçirdiniz.

Sonraki öğreticide, kümelerinizi izlemek için telemetriyi etkinleştirmeyi öğreneceksiniz.