ACK Edge cluster lar kenar düğüm özerkliğini destekler. Bu özellik, cloud-edge ağ bağlantısı kesildiğinde bir kenar düğümündeki uygulamaların kesintisiz çalışmaya devam etmesini ve dışlanmamasını veya taşınmamasını sağlar. Bir kenar düğümü özerk değilse tolerans süresi dolduktan sonra üzerindeki uygulamalar dışlanır. Bu konuda kenar düğümleriniz için özerklik ayarlarının nasıl yapılandırılacağı açıklanmaktadır.
Ön koşullar
Arka plan bilgileri
Kenar düğüm özerkliği etkinleştirilebilir veya devre dışı bırakılabilir. Varsayılan olarak küme eklendiklerinde kenar düğümleri özerk değildir.
Kenar düğüm özerkliği etkinleştirildiğinde düğüm kontrol düzleminden bağlantısı kopsa bile üzerindeki uygulamalar dışlanmaz ve otomatik olarak kurtarılır. Bu yapılandırma ağ bağlantısının kararsız olduğu edge computing senaryoları için idealdir.
Kenar düğüm özerkliği devre dışı bırakıldığında kontrol düzleminden bağlantısı kopan bir düğüm heartbeat raporlamayı durdurur. Durumu Unavailable olarak ayarlanır ve düğümdeki Pod'lar tolerans süreleri dolduktan sonra dışlanır.
Düğüm özerkliğini etkinleştirin
Konsol
ACK konsolu üzerinde oturum açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.
Clusters sayfasında kümenizin adına tıklayın. Sol gezinme bölmesinde seçeneğine tıklayın.
-
Nodes sayfasında hedef düğümü bulun ve Actions sütununda seçeneğini belirleyin.
NotNode Autonomy Setting düğmesi yalnızca kenar düğümleri için görünür.
Node Autonomy Setting iletişim kutusunda OK seçeneğine tıklayın.
Kubectl
Düğüm özerkliğini etkinleştirmek için bir kenar düğümüne aşağıdaki annotation ekleyin. Bu ayar yalnızca kenar düğümleri için geçerlidir.
kubectl annotate node <node-name> node.beta.openyurt.io/autonomy=true --overwrite
Kenar düğümü için bir özerklik süresi de yapılandırabilirsiniz.
Özerklik süresini yalnızca Kubernetes 1.28 veya sonraki sürümleri çalışan ACK Edge cluster lar için yapılandırabilirsiniz. Bu ayar yapılandırıldıktan sonra cloud-edge ağ bağlantısı kesintisi belirtilen özerklik süresinden kısa sürerse düğümdeki Pod'lar dışlanmaz. Kesinti bu süreyi aşarsa Pod'lar dışlanır.
kubectl annotate node <node-name> node.alibabacloud.com/autonomy-duration=500s --overwrite
Düğüm özerkliği durumunu doğrulayın
Clusters sayfasında kümenizin adına tıklayın. Sol gezinme bölmesinde seçeneğine tıklayın.
Nodes sayfasında hedef düğümü bulun ve Actions sütununda seçeneğini belirleyin.
Basic Information sekmesinde Status bölümünü bulun. Özerklik durumu True ise düğüm özerkliği etkinleştirilmiş demektir.
Önbellek bileşenini yapılandırın
EdgeHub cloud-edge ağ bağlantısı kesintisi sırasında düzgün çalışmasını sağlamak için düğüm bileşenlerinin API Server'dan gerektirdiği verileri önbelleğe alır. Disk önbellek dizini /etc/kubernetes/cache şeklindedir.
Önbelleğe alınan veriler Pod ve ConfigMap kaynakları gibi API Server ile değiştirilen kaynak bilgilerini ifade eder. İş verilerini içermez.
Bağlantı kesintisi sırasında düzgün çalışması için API Server'dan veri gerektiren bileşenleriniz varsa aşağıdaki adımları uygulayın:
Bileşeniniz için User-Agent dizesini alın. Topluluk bileşenleri için bu bilgilere bileşenin belgelerinde veya topluluk forumlarında ulaşabilirsiniz.
ACK konsolu üzerinde oturum açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.
Clusters sayfasında kümenizin adına tıklayın. Sol gezinme bölmesinde seçeneğine tıklayın.
Namespace değerini kube-system olarak değiştirin Name değeri edge-hub-cfg olan ConfigMap'i bulun ve sağ taraftaki Edit YAML seçeneğine tıklayın.
User-Agent değerinizi
cache_agentsanahtarına ekleyin ve OK seçeneğine tıklayın.Düğümde oturum açın ve User-Agent adınızla adlandırılmış bir dizinin varlığını doğrulamak için
/etc/kubernetes/cachedizinine gidin.
Bu yapılandırma tamamlandıktan sonra bileşen ile API Server arasında değiştirilen veriler düğümün diskine kalıcı olarak yazılır. Düğüm özerkliği etkinleştirildiyse bileşen daha sonra bağlantı kesintisi sırasında düzgün çalışmak için bu verileri yerel diskten alabilir.