Düğüm havuzundan veya ACK kümesinden çalışan düğümlerini kaldırın; isteğe bağlı olarak podları boşaltın ve örnekleri serbest bırakın.
Kullanım senaryoları
Replace an ECS instance: Mevcut bir Elastic Compute Service (ECS) örneğini düğüm havuzundan kaldırın ve yeni bir örnek ekleyin.
Bir düğümü düğüm havuzları arasında taşıyın: Düğümü geçerli düğüm havuzundan kaldırın ve ardından hedef düğüm havuzuna ekleyin.
Örnek yapılandırmasını veya faturalama yöntemini değiştirin: Düğümü kaldırın, ECS konsolunda gerekli değişiklikleri yapın ve ardından düğümü tekrar düğüm havuzuna ekleyin.
Düğüm istisnalarını giderin: Yeniden başlatmayı tetiklemek için düğümü kaldırıp tekrar ekleyin. Sistem diskini değiştirdiği için bu işlem düğümü sıfırlar; öncelikle sistem diskindeki verileri yedekleyin.
Serbest düğümleri yönetin: Düğüm havuzu özelliği yayınlanmadan önce oluşturulan kümeler serbest düğümler içerebilir. Bu düğümleri merkezi yönetim için kaldırın veya bir düğüm havuzuna taşıyın.
Ölçek daraltma hedeflerini kontrol edin: Manuel veya otomatik ölçek genişletme etkinleştirilmiş bir düğüm havuzunu ölçeklendirirken, maliyetleri azaltmak için belirli ECS örneklerini kaldırın.
Ön koşullar
Şunlardan emin olun:
Kümedeki diğer düğümlerin tahliye edilen podları barındıracak yeterli kaynağı vardır.
Pod ilişkilendirme kuralları ve zamanlama ilkeleri, podların diğer düğümlere yeniden zamanlanmasına izin verir.
Nasıl çalışır
ACK konsolunda bir düğümü kaldırdığınızda sistem aşağıdaki sırayı izler:
Boşaltma (Drain Node seçiliyse): ACK, PodDisruptionBudget (PDB) yapılandırmalarına uygun olarak podları diğer kullanılabilir düğümlere tahliye eder. Podlar,
terminationGracePeriodSecondsdeğerinden bağımsız olarak güvenli kapatma için en fazla 30 dakika süreye sahiptir. Bu süre içinde herhangi bir pod sonlandırılmazsa boşaltma işlemi başarısız olur, sonraki adımlar atlanır ve işlemi manuel olarak yeniden denemeniz gerekir.Kaldırma: Düğüm kümeden veya düğüm havuzundan kaldırılır.
Serbest Bırakma (Release ECS Instance seçiliyse): ECS örneği ve bağlı veri diskleri serbest bırakılır.
Expected Nodes yapılandırılmışsa, düğüm havuzu kaldırmadan sonra beklenen sayıyı geri yüklemek için otomatik olarak ölçeklenir.
Kullanım notları
Düğümleri ACK konsolu üzerinden kaldırın. ECS örneklerini kaldırmak veya serbest bırakmak için
kubectl delete node, ECS konsolu, Auto Scaling konsolu veya API işlemlerini kullanmayın.Abonelik tabanlı ECS örneklerinin süresi dolmadan önce yenileyin. Süresi dolan veya serbest bırakılan bir örnek, düğümün durmasına ve ACK konsolundan kaldırılmasına neden olur.
Expected Nodes yapılandırılmışsa, düğüm havuzu kaldırmadan sonra beklenen sayıyı korumak için otomatik olarak ölçek genişletir. Sistem disklerinin ve veri disklerinin yaşam döngüsü düğüm ile bağlantılıdır. Kaldırma sırasında bir düğüm serbest bırakıldığında, bağlı diskler de serbest bırakılır ve tüm veriler kalıcı olarak silinir; kurtarılamaz. Verileri düğüm yaşam döngüsünün ötesinde kalıcı hale getirmek için Kalıcı Birimleri (PV'ler) kullanın.
Bir düğüm havuzundan düğümleri kaldırma
Bir düğümü kaldırmak, podları diğer düğümlere taşır; bu durum geçici hizmet kesintilerine neden olabilir. Düğüm verilerini yedekleyin ve kaldırma işlemini yoğun olmayan saatlerde gerçekleştirin.
ACK konsolu üzerinde oturum açın. Sol gezinme bölmesinde ACK konsoluClusters öğesine tıklayın.
Clusters sayfasında hedef kümeye tıklayın. Sol gezinme bölmesinde Nodes > Node Pools seçeneklerini seçin.
Düğümü içeren düğüm havuzunun adına tıklayın. Nodes sekmesinde kaldırmak istediğiniz düğümleri seçin ve sayfanın alt kısmında yer alan Batch Remove öğesine tıklayın.
-
Kaldırma seçeneklerini yapılandırın:
-
Drain Node: ACK, kaldırmadan önce podları diğer düğümlere tahliye eder. Düğümü zaten boşalttıysanız bu seçeneğin işaretini kaldırın.
Podlarınız 30 dakikadan daha uzun bir güvenli kapatma süresi gerektiriyorsa, öncelikle düğümü manuel olarak boşaltın ve devam etmeden önce Drain Node seçeneğinin işaretini kaldırın:
kubectl drain <nodeName> [options]
Yer tutucu
Açıklama
Örnek<nodeName><region-id>.<instance-id>formatındaki düğüm adıcn-hangzhou.i-bp1asavedmte377c3****[options]
İsteğe bağlı boşaltma bayrakları--force --ignore-daemonsets --delete-local-dataTüm seçeneklerin listesini görmek için
kubectl drain --helpkomutunu çalıştırın. Release ECS Instance: Seçilirse ECS örneği ve bağlı veri diskleri serbest bırakılır. Yalnızca kullandıkça öde örnekler bu şekilde serbest bırakılabilir. İşaret kaldırılırsa, örnek kaldırıldıktan sonra faturalandırılmaya devam eder. Abonelik tabanlı örneklerin süresi dolduğunda otomatik olarak serbest bırakılır. Otomatik Modun etkin olduğu düğüm havuzlarında sistem, düğüm yaşam döngüsünü otomatik olarak yönetir, düğümleri iş yükü talebine göre ölçeklendirir ve düğümler kaldırıldığında temel alınan ECS kaynaklarını tamamen temizler. Bir abonelik tabanlı örneği süresi dolmadan önce serbest bırakmak için geri ödeme talep edin veya faturalama yöntemini kullandıkça öde olarak değiştirin ve ardından serbest bırakın.
-
Ekrandaki talimatları okuyun ve kaldırmayı tamamlayın.
-
Düğümlerin kaldırıldığını doğrulayın:
kubectl get nodesKaldırılan düğümler artık çıktıda görünmez.
Bir kümeden düğümleri kaldırma
Bir düğümü kaldırmak, podları diğer düğümlere taşır; bu durum geçici hizmet kesintilerine neden olabilir. Düğüm verilerini yedekleyin ve kaldırma işlemini yoğun olmayan saatlerde gerçekleştirin.
ACK konsolu üzerinde oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.
Clusters sayfasında hedef kümeye tıklayın. Sol gezinme bölmesinde Nodes > Nodes seçeneklerini seçin.
Kaldırmak istediğiniz düğümleri seçin ve sayfanın alt kısmında yer alan Batch Remove öğesine tıklayın.
-
Kaldırma seçeneklerini yapılandırın:
-
Drain Node: ACK, kaldırmadan önce podları diğer düğümlere tahliye eder. Düğümü zaten boşalttıysanız bu seçeneğin işaretini kaldırın.
Podlarınız 30 dakikadan daha uzun bir güvenli kapatma süresi gerektiriyorsa, öncelikle düğümü manuel olarak boşaltın ve devam etmeden önce Drain Node seçeneğinin işaretini kaldırın:
kubectl drain <nodeName> [options]
Yer tutucu
Açıklama
Örnek<nodeName><region-id>.<instance-id>formatındaki düğüm adıcn-hangzhou.i-bp1asavedmte377c3****[options]
İsteğe bağlı boşaltma bayrakları--force --ignore-daemonsets --delete-local-dataTüm seçeneklerin listesini görmek için
kubectl drain --helpkomutunu çalıştırın. Release ECS Instance: Seçilirse ECS örneği ve bağlı veri diskleri serbest bırakılır. Yalnızca kullandıkça öde örnekler bu şekilde serbest bırakılabilir. İşaret kaldırılırsa, örnek kaldırıldıktan sonra faturalandırılmaya devam eder. Abonelik tabanlı örneklerin süresi dolduğunda otomatik olarak serbest bırakılır. Bir abonelik tabanlı örneği süresi dolmadan önce serbest bırakmak için geri ödeme talep edin veya faturalama yöntemini kullandıkça öde olarak değiştirin ve ardından serbest bırakın.
-
Ekrandaki talimatları okuyun ve kaldırmayı tamamlayın.
-
Düğümlerin kaldırıldığını doğrulayın:
kubectl get nodesKaldırılan düğümler artık çıktıda görünmez.
Kaldırdıktan sonra düğümü kümeye tekrar ekleyebilirsiniz .
Sorun giderme
Düğüm kaldırma başarısız oluyor
Düğüm kaldırma işlemi genellikle bir podun 30 dakikalık güvenli kapatma süresini aşması veya bir PodDisruptionBudget (PDB) tarafından tahliyenin engellenmesi nedeniyle başarısız olur.
Düğümü manuel olarak boşaltın ve ardından Drain Node seçeneğinin işareti kaldırılmış şekilde kaldırın:
kubectl drain <nodeName> --force --ignore-daemonsets --delete-local-data
<nodeName> yerine <region-id>.<instance-id> formatındaki düğüm adını yazın — örneğin, cn-hangzhou.i-bp1asavedmte377c3****.
PDB boşaltmayı engelliyorsa, tolerans düzeyinize uygun olacak şekilde PDB ayarlarını güncelleyin ve yeniden deneyin.
Sonraki adımlar
Düğümleri kümeye geri ekleyin: Mevcut ECS örneklerini bir ACK kümesine ekleyin veya düğümleri otomatik olarak ekleyin
Expected Nodes değerini ayarlayarak bir düğüm havuzunu ölçeklendirin: Bir düğüm havuzunu manuel olarak ölçeklendirin
API aracılığıyla düğümleri kaldırın: RemoveNodePoolNodes ve DeleteClusterNodes
Bir düğümün sistem diskini sıfırlayın: Sistem diskini yeniden başlatın