Pod'ları önce tahliye etme ve temel alınan ECS örneklerini serbest bırakma seçenekleriyle işçi düğümlerini kaldırın.
Düğümleri her zaman ACK konsolu üzerinden kaldırın. kubectl delete node komutunu çalıştırmak kaldırma iş akışını atlar ve ECS örneğini tutarsız bir durumda bırakır.
Kullanım senaryoları
Aşağıdaki durumlarda bir düğümü kaldırmanız gerekir:
Yönetilmeyen bir düğümü emekliye ayırma — Düğüm havuzu desteğinden önce oluşturulan eski kümelerde yönetilmeyen işçi düğümleri bulunabilir. Düğümü kaldırdıktan sonra bu düğümü merkezi yönetim için mevcut bir düğüm havuzuna ekleyin.
Bir ECS örneğini değiştirme — Önce yeni ECS örneğini düğüm havuzuna ekleyin, ardından eski örneği kaldırın.
Bir düğüm havuzunu ölçek küçültme — Maliyetleri azaltmak amacıyla manuel veya otomatik ölçeklendirmeli bir düğüm havuzundan belirli bir ECS örneğini kaldırın.
Bir düğümü düğüm havuzları arasında geçirme — Düğümü kaynak düğüm havuzundan kaldırıp hedef düğüm havuzuna ekleyin.
Bir ECS örneğinin boyutunu değiştirme — Düğümü kaldırın, ECS konsolunda örnek türünü değiştirin ve ardından düğümü tekrar ekleyin.
Faturalama yöntemini değiştirme — Düğümü kaldırın, ECS konsolunda faturalama yöntemini kullandıkça ödeden aboneliğe değiştirin ve ardından düğümü tekrar ekleyin.
-
Anormal bir düğümü yeniden başlatma — Sistem diskini sıfırlamak için düğümü kaldırıp tekrar ekleyin.
UyarıBir düğümü yeniden başlatmak sistem diskini değiştirir. İşleme devam etmeden önce sistem diskindeki verileri yedekleyin.
Bir düğüm kaldırıldığında neler olur
Bir düğümü kaldırdığınızda ACK aşağıdaki adımları gerçekleştirir:
Düğümü tahliye eder (Drain Node seçiliyse) — ACK, kaldırmadan önce tüm pod'ları diğer kullanılabilir düğümlere taşır. Bu işlem hizmet kesintilerini önler ancak kalan düğümlerde yeterli kapasite olmasını gerektirir.
Düğümü kümeden kaldırır — Düğüm havuzunun bir Expected Nodes değeri varsa ACK bu sayıyı otomatik olarak ayarlar.
ECS örneğini serbest bırakır (Release ECS Instance seçiliyse) — ACK, ECS örneğini ve veri disklerini serbest bırakır. Bu eylem kalıcıdır.
Başlamadan önce iki kaldırma seçeneğini gözden geçirin:
| Seçenek | Ne zaman seçilir | Seçilmezse etkisi |
|---|---|---|
| Drain Node | Manuel olarak zaten tahliye edilmedikçe her zaman | Pod'lar kaldırmadan önce tahliye edilmez, bu da hizmetleri aksatabilir |
| Release ECS Instance | ECS örneğine artık ihtiyaç duymadığınızda | ECS örneği çalışmaya ve faturalanmaya devam eder; bunu manuel olarak yönetirsiniz |
Kullanım notları
Düğümleri ECS konsolunda, Auto Scaling (ESS) konsolunda veya bunların API'lerinde serbest bırakmayın ya da örnekleri kaldırmayın. Abonelikli örneklerin süresi dolduğunda otomatik olarak serbest bırakılmasına izin vermeyin. Bu eylemler düğümü durdurur ve ACK konsolundan kaldırır. Düğüm havuzunun bir Expected Nodes değeri varsa ACK, kaldırılan örneğin yerine yenisi için ölçek büyütme işlemi gerçekleştirir.
Bir düğümü kaldırmadan önce verilerinizi yedekleyin. Kaldırma sırasında gerçekleşen pod taşıma işlemi çalışan hizmetleri etkileyebilir.
Düğüm benzeşimi ve zamanlama ilkelerinin diğer düğümlere yeniden zamanlamaya izin verdiğini doğrulayın.
Bir düğüm serbest bırakıldığında veri diski ve sistem diski verileri kalıcı olarak kaybolur. Verileri düğüm yaşam döngüsünün ötesinde kalıcı hale getirmek için bir PersistentVolume (PV) kullanın.
Düğüm tahliye ayrıntıları
Bir düğüm tahliyesi sırasında varsayılan güvenli sonlandırma zaman aşımı, bir pod'un terminationGracePeriodSeconds değeri daha uzun ayarlanmış olsa bile (örneğin 40 dakika) 30 dakikadır. Bir pod 30 dakika içinde sonlanmazsa ACK pod'u zorla sonlandırır, tahliye başarısız olur ve düğüm kaldırma işlemi durur. Yeniden denemek için konsoldaki işlemi yeniden başlatın.
Pod'larınızın daha uzun bir sonlandırma süresine ihtiyacı varsa öncelikle düğümü manuel olarak tahliye edin:
kubectl drain <nodeName> [options]
| Yer Tutucu | Açıklama | Örnek |
|---|---|---|
<nodeName> |
Tahliye edilecek düğümün adı | cn-hangzhou.10.126.XX.XX |
[options] |
İsteğe bağlı bayraklar | --force --ignore-daemonsets --delete-local-data |
Tüm seçeneklerin tam listesini görüntülemek için kubectl drain --help komutunu çalıştırın.
Tüm pod'lar tahliye edildikten sonra Drain Node seçeneğinin işaretini kaldırın ve düğümü kaldırın.
Pod Kesinti Bütçesi (PDB): Tahliye işlemi, kümenizdeki PDB kurallarına uyar. Bir PDB tahliyeyi engellerse tahliye başarısız olur. Tahliye etmeden önce ilgili PDB kurallarını gözden geçirin ve gerekirse ayarlayın.
ECS örneğini serbest bırakma ayrıntıları
Yalnızca kullandıkça öde ECS örnekleri ve bunların veri diskleri anında serbest bırakılabilir.
Abonelik ECS örnekleri, abonelik süresi dolduğunda otomatik olarak serbest bırakılır. Erken serbest bırakma için öncelikle geri ödeme talep edin veya faturalama yöntemini kullandıkça ödeye dönüştürün.
Akıllı barındırma düğüm havuzları için ACK, iş yüküne göre düğüm yaşam döngüsünü otomatik olarak yönetir. Bir düğümü kaldırmak, temel alınan ECS kaynaklarını da kaldırır.
Bir düğüm havuzundan bir düğümü kaldırma
ACK konsoluna giriş yapın. Sol gezinme bölmesinde Clusters öğesine tıklayın.
Clusters sayfasında küme adına tıklayın. Sol gezinme bölmesinde Nodes > Node Pools seçeneğini belirleyin.
Hedef düğüm havuzunun adına tıklayın ve ardından Nodes sekmesine gidin.
-
Düğümü kaldırın:
Tek düğüm: Hedef düğüm için Actions sütununda More > Remove seçeneğini belirleyin.

Birden çok düğüm: Hedef düğümleri seçin ve Batch Remove seçeneğine tıklayın.

İletişim kutusunda gerektiği gibi Drain Node ve Release ECS Instance seçeneklerini belirleyip onaylayın.

Bir kümeden bir düğümü kaldırma
ACK konsoluna giriş yapın. Sol gezinme bölmesinde Clusters öğesine tıklayın.
Clusters sayfasında küme adına tıklayın. Sol gezinme bölmesinde Nodes > Nodes seçeneğini belirleyin.
-
Nodes sayfasında düğümü kaldırın:
Tek düğüm: Hedef düğüm için Actions sütununda More > Remove seçeneğini belirleyin.

Birden çok düğüm: Hedef düğümleri seçin ve Batch Remove seçeneğine tıklayın.

İletişim kutusunda gerektiği gibi Drain Node ve Release ECS Instance seçeneklerini belirleyip onaylayın.

Sorun giderme
Düğüm kaldırma işlemi başarısız oluyor
Düğüm kaldırma işlemi genellikle güvenli sonlandırma zaman aşımı veya tahliyeyi engelleyen bir PDB nedeniyle başarısız olur. Çözüm için öncelikle düğümü manuel olarak tahliye edin:
kubectl drain <nodeName> [options]
| Yer Tutucu | Açıklama | Örnek |
|---|---|---|
<nodeName> |
Tahliye edilecek düğümün adı | cn-hangzhou.10.126.XX.XX |
[options] |
İsteğe bağlı bayraklar | --force --ignore-daemonsets --delete-local-data |
Tüm pod'lar tahliye edildikten sonra Drain Node seçeneğinin işareti kaldırılmış şekilde düğümü kaldırın.
Sonraki adımlar
Bir düğümü kümeye veya düğüm havuzuna geri eklemek için bkz. Mevcut düğümleri ekleme.
Düğümleri programatik olarak kaldırmak için bkz. RemoveNodePoolNodes ve DeleteClusterNodes.
Yönetilmeyen düğümleri bir düğüm havuzuna geçirmek için bkz. Yönetilmeyen düğümleri bir düğüm havuzuna geçirme.
Expected Nodes kullanarak düğüm havuzu boyutunu manuel olarak ayarlamak için bkz. Bir düğüm havuzunu manuel olarak ölçeklendirme.
Bir düğümü yeniden ekledikten sonra sistem diskini yeniden başlatmak için bkz. Sistem diskini yeniden başlatma.