Tüm Ürünler
Search
Belge Merkezi

Container Service for Kubernetes:Node and node pool FAQ

Son Güncelleme:Oct 06, 2026

Bu konu, düğümler ve düğüm havuzları hakkında sık sorulan soruları yanıtlar. Bir düğümdeki maksimum pod sayısını nasıl değiştireceğinizi, bir düğüm havuzu için işletim sistemi görüntüsünü nasıl güncelleyeceğinizi ve düğüm zaman aşımı sorunlarını nasıl gidereceğinizi öğrenin.

İçindekiler

Düğüm sorunlarını tanılamak ve gidermek için bkz. Anormal düğümleri giderme .

Kategori

SSS

Düğüm havuzu oluşturma

Düğüm havuzu yönetimi

Düğüm havuzu yükseltmeleri

Düğüm pod kapasitesini ayarlama

Düğüm çalışma zamanını Docker'dan containerd'ye geçirme

Sanal düğümler

Bir düğüm havuzunda spot örnekleri kullanma

Spot örnekleri kullanmak için yeni bir düğüm havuzu oluşturun veya spot-instance-advisor komutunu kullanın. Daha fazla bilgi için bkz. Spot örnek düğüm havuzları için en iyi uygulamalar.

Bir düğüm havuzu içinde tutarlılığı korumak için, spot örnek düğüm havuzunu kullandıkça öde veya abonelik düğüm havuzuna ya da tam tersine dönüştüremezsiniz.

Düğüm havuzu başına birden çok ECS örnek türü

Evet, mümkündür. Örnek türü kullanılamazlığı veya envanter eksikliği nedeniyle düğüm ölçeklendirme hatalarını önlemek için düğüm havuzunuzu birden çok ECS örnek türüyle yapılandırmanızı öneririz. Bunu yapmak için birden çok kullanılabilirlik alanında birden çok vSwitch yapılandırın, birden çok ECS örnek türü seçin veya vCPU ve belleğe göre örnek türlerini belirtin. Düğüm havuzu oluşturulduktan sonra, konsoldaki ölçeklenebilirlik düzeyi önerilerine dayanarak örnek türleri ekleyebilir veya bir düğüm havuzunun ölçeklenebilirlik düzeyini görüntüleyebilirsiniz.

Desteklenen örnek türlerinin listesi ve düğüm yapılandırma önerileri için bkz. ECS örnek türü yapılandırma önerileri .

Düğüm başına maksimum pod sayısı

Düğüm başına maksimum Pod sayısının hesaplanması, kümenin ağ eklentisine bağlıdır. Daha fazla bilgi için bkz. Düğüm başına maksimum Pod sayısı.

  • Terway: Düğüm başına maksimum Pod sayısı, konteyner ağındaki ve ana bilgisayar ağındaki Podların toplamıdır.

  • Flannel: Sınır, küme oluşturma sırasında belirtilen Number of Pods per Node değeridir.

Konsolun Nodes Nodes sayfasında, düğüm başına maksimum Pod sayısını (diğer adıyla Pod Kotası) görüntüleyebilirsiniz.

Bir küme oluşturduktan sonra düğüm başına maksimum Pod sayısını değiştiremezsiniz. Bir düğüm bu sınıra ulaşırsa, Pod kapasitesini artırmak için düğümlerinizi ölçeklendirin. Daha fazla bilgi için bkz. Bir düğümde kullanılabilir Podları ayarlama.

Düğüm pod kapasitesini ayarlama

Ağ eklentisi, bir çalışan düğümün destekleyebileceği maksimum pod sayısını belirler; bu sınır genellikle değiştirilemez. Terway modunda, sınır ECS örneğinin sağladığı esnek ağ arayüzü (ENI) sayısına bağlıdır. Flannel modunda, sınır bir küme oluştururken belirtilir ve daha sonra değiştirilemez. Pod sınırına ulaşırsanız, toplam kullanılabilir pod sayısını artırmak için düğüm havuzunuza düğüm eklemenizi öneririz.

Daha fazla bilgi için bkz. Bir kümedeki maksimum pod sayısını artırma.

Düğüm yapılandırmasını değiştirme

  • Hizmet kararlılığını sağlamak için, belirli parametreler—özellikle kullanılabilirlik ve ağ ile ilgili olanlar—bir düğüm havuzu oluşturulduktan sonra değiştirilemez. Örneğin, bir düğümün ait olduğu konteyner çalışma zamanını veya VPC'yi değiştiremezsiniz.

  • Değiştirilebilir parametreler için, düğüm havuzu yapılandırmasındaki değişiklikler yalnızca yeni düğümler için geçerlidir. Mevcut düğümler, Mevcut Düğümlerin ECS Etiketlerini Güncelle veya Mevcut Düğümlerin Etiketlerini ve Taint'lerini Güncelle gibi özel seçenekleri kullanmadığınız sürece etkilenmez.

Değiştirilebilir parametreler ve değişikliklerin ne zaman etkili olacağıyla ilgili ayrıntılar için bkz. Düğüm havuzları oluşturma ve yönetme.

Alternatif olarak, yeni bir yapılandırmayı uygulamak için istediğiniz yapılandırmaya sahip yeni bir düğüm havuzu oluşturabilirsiniz. Ardından, eski düğüm havuzundaki düğümleri bakım dışı bırakın ve boşaltarak iş yüklerinizi taşıyın. Taşıma tamamlandıktan sonra, eski düğüm havuzundaki örnekleri serbest bırakabilirsiniz. Talimatlar için bkz. Düğümleri bakım dışı bırakma ve boşaltma.

İstenen Düğümler devre dışı bırakılabilir mi?

Bir düğüm havuzunun Scaling Mode Manual olarak ayarlanmışsa, Expected Nodes yapılandırmanız gerekir. Bu özellik devre dışı bırakılamaz.

Belirli bir düğümü kaldırmak için bkz. Bir düğümü kaldırma. Belirli bir düğüm eklemek için bkz. mevcut bir düğüm ekleme. Bir düğümü kaldırdıktan veya mevcut bir düğüm ekledikten sonra İstenen Düğümler otomatik olarak yeni düğüm sayısına güncellenir. Manuel olarak değiştirmeniz gerekmez.

İstenen Düğümler içeren ve içermeyen düğüm havuzları

İstenen Düğümler parametresi, bir düğüm havuzunun amaçlanan kapasitesini tanımlar. Bu değeri ayarlayarak bir düğüm havuzunu içeri veya dışarı ölçeklendirebilirsiniz. Ancak, bazı eski düğüm havuzlarında bu özellik etkinleştirilmemiş olabilir.

Aşağıdaki tabloda, İstenen Düğümler özelliği etkinleştirilmiş ve etkinleştirilmemiş düğüm havuzları için sistemin işlemlere nasıl yanıt verdiği açıklanmaktadır.


Eylemler


İstenen düğümler etkin


İstenen düğümler devre dışı (eski)


Öneri


ACK konsolunda İstenen Düğümleri azaltarak veya OpenAPI kullanarak ölçek daraltma.


Sistem, gerçek düğüm sayısı yeni İstenen Düğümler değeriyle eşleşene kadar düğümleri sonlandırır.


Mevcut düğüm sayısı belirtilen değerden büyükse, sistem fazla düğümleri sonlandırır. Bu eylem ayrıca düğüm havuzu için İstenen Düğümler özelliğini de etkinleştirir.


Yok.


ACK konsolundan veya OpenAPI kullanarak belirli bir düğümü kaldırma.


İstenen Düğümler değeri, kaldırılan düğüm sayısı kadar azalır. Örneğin, İstenen Düğümler değeri 10 ise ve 3 düğümü kaldırırsanız değer 7 olur.


Belirtilen düğüm kümeden kaldırılır.


Yok.


kubectl delete node çalıştırarak bir düğümü kaldırma.


İstenen Düğümler değeri değişmez.


Değişiklik yok.


Önerilmez.


ECS konsolundan veya OpenAPI kullanarak manuel olarak bir ECS örneğini serbest bırakma.


Sistem, İstenen Düğümler sayısını korumak için otomatik olarak yeni bir ECS örneği oluşturur.


Düğüm havuzu değişikliğin farkında değildir. Yeni bir ECS örneği oluşturulmaz. Silinen düğüm geçici olarak Bilinmiyor durumunu gösterir.


Önerilmez. Bu, ACK ve Auto Scaling (ESS) arasında veri tutarsızlığına neden olur. Düğümleri kaldırmak için önerilen yöntemi kullanın. Daha fazla bilgi için bkz. Bir düğümü kaldırma.


Bir abonelik ECS örneğinin süresinin dolması.


Sistem, İstenen Düğümler sayısını korumak için otomatik olarak yeni bir ECS örneği oluşturur.


Düğüm havuzu değişikliğin farkında değildir. Yeni bir ECS örneği oluşturulmaz. Silinen düğüm geçici olarak Bilinmiyor durumunu gösterir.


Önerilmez. Bu, ACK ve ESS arasında veri tutarsızlığına neden olur. Düğümleri kaldırmak için önerilen yöntemi kullanın. Daha fazla bilgi için bkz. Bir düğümü kaldırma.


Sağlık denetimleri etkinleştirilmiş bir ESS ölçeklendirme grubundaki bir ECS örneğinin sağlık denetimini geçememesi (örneğin, örnek durdurulduğu için).


Sistem, İstenen Düğümler sayısını korumak için otomatik olarak yeni bir ECS örneği oluşturur.


Sistem, başarısız olanın yerine yeni bir ECS örneği oluşturur.


Önerilmez. Bir düğüm havuzuyla ilişkili ölçeklendirme gruplarını doğrudan yönetmeyin.


Bir ESS ölçeklendirme grubundan beklenen örnek sayısını değiştirmeden bir ECS örneğini kaldırma.


Sistem, İstenen Düğümler sayısını korumak için otomatik olarak yeni bir ECS örneği oluşturur.


Yeni bir ECS örneği oluşturulmaz.


Önerilmez. Bir düğüm havuzuyla ilişkili ölçeklendirme gruplarını doğrudan yönetmeyin.

Yönetilmeyen düğümleri bir düğüm havuzuna taşıma

Düğüm havuzu özelliği yayınlanmadan önce oluşturulan eski ACK kümelerinde, bazı çalışan düğümler herhangi bir düğüm havuzuna ait olmayabilir. Bu yönetilmeyen düğümleri gruplu yönetim ve otomatik bakım altına almak için bunları bir düğüm havuzuna taşıyın: bir düğüm havuzu oluşturun, yönetilmeyen düğümleri kümeden kaldırın ve ECS örneklerini yeniden düğüm havuzuna ekleyin.

Bunu yapmak için yeni bir düğüm havuzu oluşturun veya mevcut birini ölçeklendirin, yönetilmeyen düğümleri kümeden kaldırın ve ardından bunları hedef düğüm havuzuna ekleyin. Daha fazla bilgi için bkz. Yönetilmeyen düğümleri bir düğüm havuzuna taşıma.

Bir düğüm havuzunun işletim sistemi görüntüsünü değiştirme

Bir düğüm havuzunun işletim sistemini değiştirebilirsiniz, örneğin kullanım ömrü sona ermiş (EOL) bir sürümden desteklenen bir sürüme geçmek için. Başlamadan önce, desteklenen işletim sistemleri, en son görüntü sürümleri ve kullanım sınırlamaları için İşletim sistemi görüntüsü sürüm notlarına bakın.

Ayrıntılı talimatlar ve dikkat edilmesi gerekenler için bkz. Bir düğüm havuzunun işletim sistemini değiştirme.

Belirli bir ECS örneğini serbest bırakma

Belirli bir ECS örneğini serbest bırakmak için düğümü kaldırın. Bu eylem istenen düğüm sayısını otomatik olarak günceller. Rastgele bir ölçek daraltmayı tetiklediği ve hedeflenen örneğin kaldırılmasının garanti edilmediği için istenen düğüm sayısını değiştirerek belirli bir örneği serbest bırakmaya çalışmayın.

Düğüm ekleme zaman aşımları nasıl çözülür?

Düğüm ile API Server CLB arasındaki ağ bağlantısını kontrol edin. İlk olarak güvenlik grubunun gereksinimleri karşıladığını doğrulayın. Mevcut bir düğüm eklerken güvenlik grubu sınırlamaları için bkz. Sınırlamalar. Diğer ağ bağlantısı sorunları için bkz. Ağ yönetimi SSS.

Çalışan düğüm ana bilgisayar adlarını değiştirme

Kümeyi oluşturduktan sonra bir çalışan düğümün ana bilgisayar adını özelleştiremezsiniz. Geçici çözüm olarak, ana bilgisayar adını değiştirmek için düğüm havuzunun adlandırma kuralını kullanabilirsiniz.

Not

Bir küme oluştururken, Custom Node Name parametresinde bir çalışan düğümün ana bilgisayar adını tanımlayabilirsiniz. Daha fazla bilgi için bkz. ACK yönetilen küme oluşturma.

  1. Düğümü kaldırın. Daha fazla bilgi için bkz. Bir düğümü kaldırma.

  2. Kaldırdığınız düğümü tekrar düğüm havuzuna ekleyin. Daha fazla bilgi için bkz. Düğümleri manuel ekleme.

    Düğüm daha sonra düğüm havuzunun adlandırma kuralına göre otomatik olarak yeniden adlandırılır.

GPU düğüm çekirdeğini manuel yükseltme

Bu konuda, mevcut bir kümedeki bir GPU düğümünde çekirdek ve ilgili NVIDIA sürücüsünün manuel olarak nasıl yükseltileceği açıklanmaktadır.

Not

Mevcut çekirdek sürümü 3.10.0-957.21.3 değerinden düşüktür.

Çekirdek yükseltmek hassas bir işlemdir. Hedef çekirdek sürümünüzü onaylayın ve dikkatli ilerleyin.

Bu kılavuz, çekirdek yükseltmesinden sonra gerekli olan NVIDIA sürücü yükseltmesine odaklanmaktadır. Çekirdek yükseltme işlemi ele alınmamaktadır.

  1. Bir kümenin kubeconfig dosyasını alma ve kubectl ile bağlanma.

  2. GPU düğümünü (örneğin, cn-beijing.i-2ze19qyi8votgjz* düğümünü) bakım dışı bırakın.

    kubectl cordon cn-beijing.i-2ze19qyi8votgjz*****
    
    node/cn-beijing.i-2ze19qyi8votgjz***** cordoned
  3. Sürücüyü yükseltmek istediğiniz GPU düğümünü boşaltın.

    kubectl drain cn-beijing.i-2ze19qyi8votgjz***** --grace-period=120 --ignore-daemonsets=true
    
    node/cn-beijing.i-2ze19qyi8votgjz***** cordoned
    WARNING: Ignoring DaemonSet-managed pods: flexvolume-9scb4, kube-flannel-ds-r2qmh, kube-proxy-worker-l62sf, logtail-ds-f9vbg
    pod/nginx-ingress-controller-78d847fb96-***** evicted
  4. Mevcut NVIDIA sürücüsünü kaldırın.

    Not

    Bu adımda kaldırılan sürücü paketi 384.111 sürümüdür. Sürücü sürümünüz 384.111 değilse, resmi NVIDIA web sitesinden ilgili sürücü yükleyicisini indirmeniz ve bu adımdaki 384.111 ifadesini gerçek sürümünüzle değiştirmeniz gerekir.

    1. GPU düğümünde oturum açın ve sürücü sürümünü kontrol etmek için nvidia-smi komutunu çalıştırın.

      sudo nvidia-smi -a | grep 'Driver Version'
      Driver Version                      : 384.111
    2. NVIDIA sürücü yükleyicisini indirin.

      cd /tmp/
      sudo curl -O https://cn.download.nvidia.cn/tesla/384.111/NVIDIA-Linux-x86_64-384.111.run
      Not

      NVIDIA sürücüsünü kaldırmak için yükleyiciyi kullanmanız gerekir.

    3. Mevcut NVIDIA sürücüsünü kaldırın.

      sudo chmod u+x NVIDIA-Linux-x86_64-384.111.run
      sudo sh ./NVIDIA-Linux-x86_64-384.111.run --uninstall -a -s -q
  5. Çekirdeği yükseltin.

    Çekirdeği yükseltmek için işletim sisteminizin prosedürlerini izleyin.

  6. GPU örneğini yeniden başlatın.

    sudo reboot
  7. GPU düğümünde tekrar oturum açın ve ilgili kernel-devel paketini yükleyin.

    sudo yum install -y kernel-devel-$(uname -r)
  8. Gerekli NVIDIA sürücüsünü indirmek ve yüklemek için resmi NVIDIA web sitesine gidin. Bu konuda örnek olarak 410.79 sürümü kullanılmıştır.

    # Change to the /tmp directory.
    cd /tmp/
    
    # Download the NVIDIA driver installer.
    sudo curl -O https://cn.download.nvidia.cn/tesla/410.79/NVIDIA-Linux-x86_64-410.79.run
    
    # Add executable permissions to the installer.
    sudo chmod u+x NVIDIA-Linux-x86_64-410.79.run
    
    # Run the installer in silent mode.
    sudo sh ./NVIDIA-Linux-x86_64-410.79.run -a -s -q
    
    # Warm up the GPU.
    sudo nvidia-smi -pm 1 || true
    sudo nvidia-smi -acp 0 || true
    sudo nvidia-smi --auto-boost-default=0 || true
    sudo nvidia-smi --auto-boost-permission=0 || true
    sudo nvidia-modprobe -u -c=0 -m || true
  9. /etc/rc.d/rc.local dosyasını kontrol edin ve aşağıdaki yapılandırmayı içerip içermediğini doğrulayın. İçermiyorsa, manuel olarak ekleyin.

    sudo nvidia-smi -pm 1 || true
    sudo nvidia-smi -acp 0 || true
    sudo nvidia-smi --auto-boost-default=0 || true
    sudo nvidia-smi --auto-boost-permission=0 || true
    sudo nvidia-modprobe -u -c=0 -m || true
  10. kubelet ve Docker'ı yeniden başlatın.

    sudo service kubelet stop
    sudo service docker restart
    sudo service kubelet start
  11. Podların tekrar planlanabilmesi için GPU düğümünün bakım dışı bırakmasını kaldırın.

    kubectl uncordon cn-beijing.i-2ze19qyi8votgjz*****
    
    node/cn-beijing.i-2ze19qyi8votgjz***** uncordoned
  12. GPU düğümündeki cihaz eklentisi podunun sürümünü doğrulayın.

    kubectl exec -n kube-system -t nvidia-device-plugin-cn-beijing.i-2ze19qyi8votgjz***** nvidia-smi
    Thu Jan 17 00:33:27 2019
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 410.79       Driver Version: 410.79       CUDA Version: N/A      |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla P100-PCIE...  On   | 00000000:00:09.0 Off |                    0 |
    | N/A   27C    P0    28W / 250W |      0MiB / 16280MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    Not

    docker ps komutunu çalıştırırsanız ve GPU düğümünde hiçbir konteynerin başlatılmadığını görürseniz bkz. GPU düğüm konteyner başlatma sorunlarını giderme.

GPU düğümlerinde konteyner başlatma sorunlarını giderme

Kubernetes'in belirli sürümlerini çalıştıran bir GPU düğümünde, kubelet ve Docker hizmetlerini yeniden başlattıktan sonra konteynerler başlatılamayabilir. sudo docker ps komutu boş bir liste döndürür.

sudo service kubelet stop
# Redirecting to /bin/systemctl stop kubelet.service
sudo service docker stop
# Redirecting to /bin/systemctl stop docker.service
sudo service docker start
# Redirecting to /bin/systemctl start docker.service
sudo service kubelet start
# Redirecting to /bin/systemctl start kubelet.service

sudo docker ps
# CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

Bu sorun, Docker tarafından kullanılan Cgroup Sürücüsü ile kubelet'in beklediği sürücü eşleşmediğinde ortaya çıkar. Sorunu tanılamak için Docker'ın Cgroup Sürücüsünü kontrol edin.

sudo docker info | grep -i cgroup
Cgroup Driver: cgroupfs

Çıktı cgroupfs ise, kubelet systemd sürücüsünü kullanacak şekilde yapılandırıldığından bu bir uyumsuzluğu doğrular.

Bu sorunu çözmek için Docker Cgroup Sürücüsünü systemd olarak değiştirin.

  1. /etc/docker/daemon.json dosyasının yedeğini alın ve ardından /etc/docker/daemon.json dosyasını güncellemek için aşağıdaki komutu çalıştırın.

    sudo cat >/etc/docker/daemon.json <<-EOF
    {
        "default-runtime": "nvidia",
        "runtimes": {
            "nvidia": {
                "path": "/usr/bin/nvidia-container-runtime",
                "runtimeArgs": []
            }
        },
        "exec-opts": ["native.cgroupdriver=systemd"],
        "log-driver": "json-file",
        "log-opts": {
            "max-size": "100m",
            "max-file": "10"
        },
        "oom-score-adjust": -1000,
        "storage-driver": "overlay2",
        "storage-opts":["overlay2.override_kernel_check=true"],
        "live-restore": true
    }
    EOF
  2. Değişiklikleri uygulamak için Docker ve kubelet'i yeniden başlatın.

    sudo service kubelet stop
    # Redirecting to /bin/systemctl stop kubelet.service
    sudo service docker restart
    # Redirecting to /bin/systemctl restart docker.service
    sudo service kubelet start
    # Redirecting to /bin/systemctl start kubelet.service
  3. Docker Cgroup Sürücüsünün systemd olarak ayarlandığını doğrulayın.

    sudo docker info | grep -i cgroup
    Cgroup Driver: systemd

Başarısız bir düğümden Podları taşıma

Uygulama Podlarını başarısız bir düğümden taşımak için düğümü planlanamaz olarak işaretleyin ve ardından boşaltın. Bu işlem, Podları güvenli bir şekilde tahliye eder ve sağlıklı düğümlere yeniden planlar.

  1. ACK konsoluna oturum açın. Nodes sayfasında başarısız düğümü bulun. Actions sütununda More > Drain seçeneğini belirleyin.

  2. Başarısız düğümde sorun giderme. Daha fazla bilgi için bkz. Düğüm sorunlarını giderme.

Kullanılabilirlik alanı arızaları sırasında düğüm tahliye ilkesi

Bir düğüm sağlıksız hale geldiğinde, düğüm denetleyicisi bir tahliye başlatır. Varsayılan tahliye oranı saniyede 0,1 düğümdür ve --node-eviction-rate parametresi tarafından kontrol edilir. Bu, Podların en fazla 10 saniyede bir düğümden tahliye edildiği anlamına gelir.

Ancak, birden çok kullanılabilirlik alanında düğümleri olan bir ACK kümesi için düğüm denetleyicisi, her kullanılabilirlik alanının sağlık durumuna ve küme boyutuna göre bu ilkeyi ayarlar.

Bir kullanılabilirlik alanı üç sağlık durumundan birinde olabilir.

  • FullDisruption: Kullanılabilirlik alanında sağlıklı düğüm yoktur ve en az bir sağlıksız düğüm vardır.

  • PartialDisruption: Kullanılabilirlik alanında en az iki sağlıksız düğüm vardır ve sağlıksız düğümlerin toplam düğümlere oranı ((sağlıksız düğümler / (sağlıksız düğümler + sağlıklı düğümler)) olarak hesaplanır) 0,55'i aşar.

  • Normal: Kullanılabilirlik alanı FullDisruption veya PartialDisruption kriterlerini karşılamaz.

Kümeler ayrıca boyuta göre sınıflandırılır:

  • Büyük küme: 50'den fazla düğümü olan bir küme.

  • Küçük küme: 50 veya daha az düğümü olan bir küme.

Düğüm denetleyicisi, bu durumlara göre tahliye oranını belirler:

  • Tüm kullanılabilirlik alanları FullDisruption durumundaysa, tahliye tüm küme için devre dışı bırakılır.

  • En az bir kullanılabilirlik alanı FullDisruption durumunda değilse, tahliye oranı şu şekilde belirlenir:

    • FullDisruption durumundaki bir kullanılabilirlik alanı için, küme boyutundan bağımsız olarak tahliye oranı varsayılan değer olan saniyede 0,1 düğüm olarak ayarlanır.

    • PartialDisruption durumundaki bir kullanılabilirlik alanı için, tahliye oranı küme boyutuna bağlıdır. Büyük bir kümede oran saniyede 0,01 düğüme düşürülür. Küçük bir kümede oran 0 olarak ayarlanır, bu da tahliyeyi devre dışı bırakır.

    • Normal durumundaki bir kullanılabilirlik alanı için, küme boyutundan bağımsız olarak tahliye oranı varsayılan değer olan saniyede 0,1 düğüm olarak ayarlanır.

Daha fazla bilgi için bkz. Tahliye üzerindeki oran sınırları.

Kubelet yolunu özelleştirme

Hayır. Bir ACK kümesindeki kubelet yolu /var/lib/kubelet şeklindedir ve değiştirilemez. Bu yolu değiştirmeyin.

Veri diskini özel bir dizine bağlama

Bu özellik şu anda kanaryada (canary release) bulunmaktadır. Bu özelliği etkinleştirmek için bir bilet gönderin. Etkinleştirildikten sonra, sistem düğüm havuzuna eklediğiniz herhangi bir veri diskini belirtilen bir dizine otomatik olarak biçimlendirir ve bağlar. Bağlama dizini için aşağıdaki kısıtlamalar geçerlidir.

  • Bir veri diskini aşağıdaki kritik işletim sistemi dizinlerine bağlamayın:

    • /

    • /etc

    • /var/run

    • /run

    • /boot

  • Bir veri diskini sistem ve konteyner çalışma zamanları tarafından kullanılan aşağıdaki dizinlere veya alt dizinlerine bağlamayın:

    • /usr

    • /bin

    • /sbin

    • /lib

    • /lib64

    • /ostree

    • /sysroot

    • /proc

    • /sys

    • /dev

    • /var/lib/kubelet

    • /var/lib/docker

    • /var/lib/containerd

    • /var/lib/container

  • Her veri diskinin benzersiz bir bağlama dizini olmalıdır.

  • Bağlama dizini, / ile başlayan mutlak bir yol olmalıdır.

  • Bağlama dizini satır başı veya satır sonu karakterleri (\r ve \n) içermemeli ve ters eğik çizgi (\) ile bitmemelidir.

Dosya tanımlayıcı sınırlarını değiştirme

Maksimum dosya tanımlayıcı sayısı, aynı anda açık olabilecek dosya sayısını sınırlar. Alibaba Cloud Linux ve CentOS sistemlerinde iki düzeyde dosya tanımlayıcı sınırı vardır:

  • Sistem düzeyi: Sistemdeki tüm işlemlerin aynı anda açılabileceği maksimum dosya sayısı.

  • Kullanıcı düzeyi: Tek bir kullanıcının işlemlerinin açabileceği maksimum dosya sayısı.

Konteyner ortamlarında ek bir dosya tanımlayıcı sınırı vardır: bir konteyner içindeki işlem başına maksimum dosya tanımlayıcı sayısı.

Not

Bir düğüm havuzu yükseltmesi, komut satırından manuel olarak yapılan değişikliklerin üzerine yazabilir. Ayarlarınızın kalıcı olmasını sağlamak için düğüm havuzunu düzenleyin.

Sistem düzeyi dosya tanımlayıcı sınırını değiştirme

Talimatlar için bkz. Bir düğüm havuzu için işletim sistemi parametrelerini özelleştirme.

İşlem başına dosya tanımlayıcı sınırını değiştirme

  1. Düğümde oturum açın ve /etc/security/limits.conf dosyasını kontrol edin.

    cat /etc/security/limits.conf

    Düğümdeki tek bir işlem için maksimum dosya tanımlayıcı sayısını yapılandırmak üzere aşağıdaki parametreleri kullanın:

    ...
    root soft nofile 65535
    root hard nofile 65535
    * soft nofile 65535
    * hard nofile 65535
  2. Maksimum dosya tanımlayıcı sayısını değiştirmek için sed komutunu çalıştırın. Önerilen değer 65535'tir.

    sed -i "s/nofile.[0-9]*$/nofile 65535/g" /etc/security/limits.conf
  3. Düğümde tekrar oturum açın ve değişikliğinizi doğrulamak için aşağıdaki komutu çalıştırın.

    Çıktı yapılandırdığınız değerle eşleşiyorsa değişiklik başarılı olmuştur.

    # ulimit -n
    65535

Konteyner dosya tanımlayıcı sınırını değiştirme

Önemli

Bir konteyner için dosya tanımlayıcı sınırını değiştirmek, Docker veya containerd hizmetinin yeniden başlatılmasını gerektirir; bu da çalışan konteynerleri kesintiye uğratır. Hizmet kesintilerini önlemek için bu işlemi yoğun olmayan saatlerde gerçekleştirin.

  1. Düğümde oturum açın ve yapılandırma dosyasını görüntülemek için aşağıdaki komutu çalıştırın.

    • containerd düğümü: cat /etc/systemd/system/containerd.service

    • Docker düğümü: cat /etc/systemd/system/docker.service

    Aşağıdaki parametreler, bir konteyner içindeki tek bir işlem için dosya tanımlayıcı sınırını ayarlar:

    ...
    LimitNOFILE=1048576
    LimitNPROC=1048576
    ...
  2. Parametre değerlerini değiştirmek için aşağıdaki komutları çalıştırın. Dosya tanımlayıcı sınırı için önerilen değer 1048576 değeridir.

    • containerd düğümü:

      sed -i "s/LimitNOFILE=[0-9a-zA-Z]*$/LimitNOFILE=1048576/g" /etc/systemd/system/containerd.service;sed -i "s/LimitNPROC=[0-9a-zA-Z]*$/LimitNPROC=1048576/g" /etc/systemd/system/containerd.service && systemctl daemon-reload && systemctl restart containerd
    • Docker düğümü:

      sed -i "s/LimitNOFILE=[0-9a-zA-Z]*$/LimitNOFILE=1048576/g" /etc/systemd/system/docker.service && sed -i "s/LimitNPROC=[0-9a-zA-Z]*$/LimitNPROC=1048576/g" /etc/systemd/system/docker.service && systemctl daemon-reload && systemctl restart docker
  3. Konteyner içindeki tek bir işlem için dosya tanımlayıcı sınırını kontrol etmek için aşağıdaki komutu çalıştırın.

    Çıktı yapılandırdığınız değerle eşleşiyorsa değişiklik başarılı olmuştur.

    • containerd düğümü:

      # cat /proc/`pidof containerd`/limits | grep files
      Max open files            1048576              1048576              files
    • Docker düğümü:

      # cat /proc/`pidof dockerd`/limits | grep files
      Max open files            1048576              1048576              files

Yönetilmeyen çalışan düğümler için konteyner çalışma zamanını yükseltme

Düğüm havuzları tanıtılmadan önce oluşturulan eski kümelerde yönetilmeyen çalışan düğümler bulunabilir. Bu düğümler için konteyner çalışma zamanını yükseltmek amacıyla bunları bir düğüm havuzuna taşımanız gerekir.

Aşağıdaki adımları izleyin:

  1. Bir düğüm havuzu oluşturun: Kümede uygun bir düğüm havuzu yoksa, yönetilmeyen düğümlerle eşleşen bir yapılandırmaya sahip yeni bir tane oluşturun.

  2. Düğümü kaldırın: Bir düğümü kaldırdığınızda, sistem onu bakım dışı bırakır (planlanamaz olarak işaretler) ve ardından podlarını tahliye etmek için boşaltır. Boşaltma başarısız olursa kaldırma işlemi durur. Düğüm, yalnızca boşaltma başarılı olursa kümeden kaldırılır.

  3. Mevcut bir düğüm ekleyin: Düğümü mevcut bir düğüm havuzuna ekleyin. Alternatif olarak, sıfır düğümlü bir düğüm havuzu oluşturabilir ve ardından düğümü buna ekleyebilirsiniz. Düğüm eklendikten sonra, konteyner çalışma zamanı otomatik olarak düğüm havuzunun yapılandırmasında belirtilen çalışma zamanıyla eşleşecek şekilde güncellenir.

    Not

    Düğüm havuzu özelliği ücretsiz olsa da, düğüm havuzu tarafından kullanılan ECS örnekleri gibi temel cloud kaynakları için ücretlendirilirsiniz. Daha fazla bilgi için bkz. Cloud kaynak ücretleri.

"Diğer Düğümler" olarak görüntülenen düğüm havuzu

ACK, konsol, OpenAPI veya CLI aracılığıyla bir kümeye hesaplama kaynakları eklemek için standart yöntemler sağlar. Daha fazla bilgi için bkz. Mevcut bir düğüm ekleme. Düğümleri standart ACK iş akışlarının dışındaki yöntemlerle eklerseniz, ACK kaynaklarını tanımlayamaz ve bunları Nodes sayfasındaki Other Nodes grubuna atar. ACK bu düğümleri bir düğüm havuzu aracılığıyla yönetemez, bu nedenle yaşam döngüsü yönetimi, otomatik O&M ve garantili teknik destek gibi özellikler kullanılamaz.

Bu düğümleri kullanmaya devam ederseniz, küme eklentileriyle uyumluluklarını sağlamanız ve tüm potansiyel riskleri üstlenmeniz gerekir. Bu riskler şunları içerir ancak bunlarla sınırlı değildir:

  • Sürüm uyumluluğu: Kontrol düzlemi veya sistem bileşenleri yükseltmeleri sırasında, bu yönetilmeyen düğümlerdeki işletim sistemi ve bileşenler yeni sürümlerle uyumsuz hale gelebilir ve bu da hizmet kesintilerine neden olabilir.

  • İş yükü planlama uyumluluğu: Küme, bu düğümlerin kullanılabilirlik alanı ve kalan kaynak kapasitesi gibi durumlarını doğru bir şekilde raporlayamayabilir. Bu durum, yanlış iş yükü planlama kararlarına, kullanılabilirlik sorunlarına veya performans düşüşüne yol açabilir.

  • Veri düzlemi uyumluluğu: Düğüm tarafı bileşenlerin ve işletim sisteminin kümenin kontrol düzlemi ve sistem bileşenleriyle uyumluluğu doğrulanmaz, bu da potansiyel kararlılık riskleri oluşturur.

  • O&M uyumluluğu: Bu düğümlerde konsol veya OpenAPI aracılığıyla yapılan bakım işlemleri, bu düğümler için yönetim kanalı ve yürütme ortamı doğrulanmadığından başarısız olabilir veya beklenmeyen sonuçlar üretebilir.

Düğüm vSwitch'leri için ağ ACL'lerini yapılandırma

Bir düğüm havuzunun vSwitch'inde, gerekli CIDR bloklarından gelen trafiği reddeden bir ağ ACL'si varsa, yeni düğümler kümeye katılamaz ve Başarısız veya Çevrimdışı durumunda kalır.

Gerekli CIDR bloklarına izin vermek ve düğümleri yeniden eklemek için şu adımları izleyin:

  1. Ağ ACL kurallarını yapılandırma. Gelen ve giden kurallarda aşağıdaki CIDR bloklarından gelen trafiğe izin verin:

    1. 100.104.0.0/16: ACK kontrol düzlemi için yönetim CIDR bloğu.

    2. 100.64.0.0/10: Alibaba Cloud dahili hizmet CIDR bloğu.

    3. 100.100.100.200/32: ECS örneği meta veri hizmeti uç noktası.

    4. Kümenin VPC'sinin birincil ve varsa ikincil CIDR blokları veya düğümleri içeren vSwitch'in CIDR bloğu.

  2. Sorunlu düğümleri kaldırın. Yeni ağ ACL kuralları etkinleşmeden önce Başarısız veya Çevrimdışı durumunda olan tüm düğümleri kaldırın.

  3. Yeni düğümler eklemek için düğüm havuzları oluşturun ve yönetin veya mevcut bir düğüm havuzunu genişletin. Yeni düğümlerde Hazır durumu, ağ ACL kurallarının doğru yapılandırıldığını onaylar.