Mevcut düğümleri Azure Kubernetes Service (AKS) için Azure Container Linux'a (ACL) geçirme

Bu makalede, mevcut AKS düğümü havuzlarınızı AKS için Azure Container Linux'a (ACL) geçirmeyi öğreneceksiniz. Aşağıdaki yöntemlerden birini kullanarak mevcut düğümlerinizi taşıyabilirsiniz:

  • Yerinde işletim sistemi SKU geçişi: Mevcut düğüm havuzlarınızın işletim sistemi SKU'sunu ACL olarak değiştirin ve bu da düğümleri otomatik olarak yeniden oluşturur.
  • Mevcut düğüm havuzlarını kaldırın ve yeni ACL düğüm havuzları ekleyin: Yeni ACL düğüm havuzları oluşturun, iş yüklerinizi taşıyın ve eski düğüm havuzlarını kaldırın.

Important

AKS üzerinde Azure Container Linux (ACL) kullanıyorsanız aşağıdaki önemli noktaları ve sınırlamaları gözden geçirin:

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

Genel ACL sınırlamalarına ek olarak, aşağıdakiler özellikle yerinde işletim sistemi SKU geçişi için geçerlidir:

  • İşletim sistemi SKU'su geçiş özelliği PowerShell veya Azure portalı üzerinden kullanılamaz.
  • İşletim sistemi SKU geçiş özelliği, mevcut düğüm havuzlarını yeniden adlandırmayı desteklemez.
  • UseGPUDedicatedVHD etkin olan düğüm havuzları, işletim sistemi SKU’su geçişi gerçekleştiremez.
  • Windows düğüm havuzları ACL'ye geçirilemez.

Prerequisites

  • En az bir Linux düğüm havuzuna sahip mevcut bir AKS kümesi.
  • Azure CLI sürüm 2.86.0 veya üzeri. 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.
  • Üretim kümelerini geçirmeden önce bir geliştirme veya hazırlama ortamında ACL kümesi dağıtarak iş yüklerinizin ACL üzerinde başarıyla çalıştığını doğrulamanızı öneririz.
  • İş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 geçiş 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.

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

  1. komutunu kullanarak az aks nodepool add yeni bir ACL düğüm havuzu ekleyin. Yeni havuzun bir sonraki adımda özgün düğüm havuzunu silmenize olanak tanıyan sistem aracısı havuzu olarak görev yapabilmesi için kullanın --mode System .

    az aks nodepool add \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <new-node-pool-name> \
        --os-sku AzureContainerLinux \
        --mode System \
        --node-count 3
    

    Örnek çıkış:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/myNewNodePool",
      "name": "myNewNodePool",
      "osSku": "AzureContainerLinux",
      "provisioningState": "Succeeded"
    }
    
  2. komutunu kullanarak az aks nodepool delete mevcut düğüm havuzunuzu kaldırın.

    az aks nodepool delete \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <existing-node-pool-name>
    

Yerinde OS SKU geçişi

Mevcut Linux düğüm havuzlarınızı ACL'ye geçirmek için düğüm havuzunun işletim sistemi SKU'sunu değiştirebilirsiniz ve bu da kümeyi standart düğüm görüntüsü yükseltme işlemi aracılığıyla yuvarlar. Bu yöntem yeni düğüm havuzları oluşturmayı gerektirmez; bunun yerine, mevcut düğüm havuzlarınız otomatik olarak yeniden oluşturulur.

Yerinde işletim sistemi (OS) SKU geçişi yapma

Important

ACL, Güvenilen Başlatma gerektirir. --enable-secure-boot OS SKU’suna geçiş yaparken --enable-vtpm ve AzureContainerLinux eklemelisiniz. Düğüm havuzunuzun sanal makine (VM) boyutunun da Trusted Launch'ı desteklemesi gerekir. Geçerli VM boyutunuz bunu desteklemiyorsa, geçiş öncesinde düğüm havuzunu desteklenen bir VM boyutuyla yeniden boyutlandırmanız veya yeniden oluşturmanız gerekir.

komutunu kullanarak düğüm havuzunuzun işletim sistemi SKU'sunu ACL'ye geçirin az aks nodepool update . Bu komut, düğüm havuzunuzun yeniden görüntüsünü tetikleyerek işletim sistemi SKU'sunu olarak AzureContainerLinuxgü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 <existing-node-pool-name> \
    --os-sku AzureContainerLinux \
    --enable-secure-boot \
    --enable-vtpm

Örnek çıkış:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
  "name": "nodepool1",
  "osSku": "AzureContainerLinux",
  "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

Tavsiye

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

Test kümelerinizde geçiş tamamlandıktan sonra, üretim kümelerini geçirmeden önce her şeyin beklendiği gibi çalıştığını onaylamak için kümeyi ve iş yüklerini birkaç hafta izlemenizi öneririz. Geçişi doğrulamak ve kümenizi izlemek için aşağıdaki komutları kullanın:

  1. kubectl get nodes -o wide komutunu kullanarak yeni düğümlerde ACL’nin çalıştığını doğrulayın. Çıktıda ACL işletim sistemi görüntüsü gösterilmelidir.

    kubectl get nodes -o wide
    
  2. komutunu kullanarak kubectl get pods -o wide -A tüm podlarınızın ve daemonsetlerinizin yeni düğüm havuzunda çalıştığını doğrulayın.

    kubectl get pods -o wide -A
    
  3. kubectl get nodes --show-labels komutunu kullanarak, yükseltilmiş düğüm havuzunuzdaki tüm düğüm etiketlerinin beklediğiniz gibi olduğunu doğrulayın.

    kubectl get nodes --show-labels
    
  4. komutunu kullanarak az aks nodepool list düğüm görüntüsü sürümünü denetleyin.

    az aks nodepool list \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'
    

    Örnek çıkış:

    [
      {
        "name": "myNodePool",
        "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0",
        "osSku": "AzureContainerLinux"
      }
    ]
    

Ö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, işletim sistemi SKU'su alanını önceki değerinizle değiştirin ve dağıtımı yeniden gönderin; bu da başka bir yükseltme işlemini tetikler ve düğüm havuzunu önceki işletim sistemi SKU'su olarak yeniden başlatır. ACL'den önceki işletim sistemi SKU'nuza geri dönerseniz, Güvenilen Başlatma açıkça devre dışı bırakılmadığı sürece düğüm havuzu varsayılan olarak Güvenilen Başlatma (2. Nesil) görüntü değişkenini kullanır.

komutunu kullanarak önceki işletim sistemi SKU'nuza geri dönün az aks nodepool update . Bu örnek ACL'den Azure Linux'a geri döner:

az aks nodepool update \
    --resource-group <resource-group> \
    --cluster-name <cluster-name> \
    --name <existing-node-pool-name> \
    --os-sku AzureLinux

ACL hakkında daha fazla bilgi için Azure Kubernetes Service (AKS) için Azure Container Linux (ACL) nedir? konusuna bakın.