Les clusters ACK Edge prennent en charge l'autonomie des nœuds périphériques. Cette fonctionnalité garantit que les applications s'exécutant sur un nœud périphérique continuent de fonctionner sans interruption en cas de déconnexion du réseau cloud-périphérie et ne sont ni expulsées ni migrées. Si un nœud périphérique n'est pas autonome, ses applications sont expulsées à l'expiration de la période de tolérance. Cette rubrique explique comment configurer les paramètres d'autonomie de vos nœuds périphériques.
Prérequis
Contexte
L'autonomie des nœuds périphériques peut être activée ou désactivée. Par défaut, les nœuds périphériques ne sont pas autonomes lors de leur ajout à un cluster.
Lorsque l'autonomie des nœuds périphériques est activée, les applications s'exécutant sur le nœud ne sont pas expulsées et récupèrent automatiquement si le nœud se déconnecte du plan de contrôle. Cette configuration est idéale pour les scénarios de edge computing où la connectivité réseau est instable.
Lorsque l'autonomie des nœuds périphériques est désactivée, un nœud déconnecté du plan de contrôle cesse d'envoyer des signaux de présence (heartbeats). Son statut passe à Unavailable et les Pods s'exécutant sur ce nœud sont expulsés à l'expiration de leur période de tolérance.
Activer l'autonomie des nœuds
Console
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
-
Sur la page Nodes, localisez le nœud cible et choisissez dans la colonne Actions.
RemarqueLe bouton Node Autonomy Setting n'apparaît que pour les nœuds périphériques.
Dans la boîte de dialogue Node Autonomy Setting, cliquez sur OK.
Kubectl
Ajoutez l'annotation suivante à un nœud périphérique pour activer son autonomie. Ce paramètre s'applique uniquement aux nœuds périphériques.
kubectl annotate node <node-name> node.beta.openyurt.io/autonomy=true --overwrite
Vous pouvez également configurer une durée d'autonomie pour le nœud périphérique.
La configuration d'une durée d'autonomie est possible uniquement pour les clusters ACK Edge exécutant Kubernetes 1.28 ou une version ultérieure. Une fois ce paramètre configuré, les Pods s'exécutant sur le nœud ne sont pas expulsés si une déconnexion du réseau cloud-périphérie dure moins longtemps que la durée d'autonomie spécifiée. Si la déconnexion dépasse cette durée, les Pods sont expulsés.
kubectl annotate node <node-name> node.alibabacloud.com/autonomy-duration=500s --overwrite
Vérifier le statut d'autonomie du nœud
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
Sur la page Nodes, localisez le nœud cible et choisissez dans la colonne Actions.
Sous l'onglet Basic Information, repérez la section Status. Si le statut Autonomy est défini sur True, l'autonomie du nœud est activée.
Configurer le composant de cache
EdgeHub met en cache les données requises par les composants de nœud depuis l'API Server afin de garantir leur bon fonctionnement lors d'une déconnexion du réseau cloud-périphérie. Le répertoire de cache sur disque est /etc/kubernetes/cache.
Les données mises en cache correspondent aux informations sur les ressources échangées avec l'API Server, telles que les ressources Pod et ConfigMap. Elles n'incluent pas les données métier.
Si vous disposez de composants nécessitant des données provenant de l'API Server pour fonctionner correctement pendant une déconnexion, procédez comme suit :
Récupérez la chaîne User-Agent de votre composant. Pour les composants communautaires, vous trouverez ces informations dans la documentation du composant ou sur les forums de la communauté.
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
Basculez le Namespace vers kube-system, recherchez la ConfigMap dont le Name est edge-hub-cfg et cliquez sur Edit YAML à droite.
Ajoutez votre User-Agent à la clé
cache_agentset cliquez sur OK.Connectez-vous au nœud et accédez au répertoire
/etc/kubernetes/cachepour vérifier qu'un dossier portant le nom de votre User-Agent existe bien.
Une fois cette configuration terminée, les données échangées entre le composant et l'API Server sont persistées sur le disque du nœud. Si l'autonomie du nœud est activée, le composant peut alors récupérer ces données depuis le disque local pour continuer à fonctionner correctement lors d'une déconnexion.