Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:introduction to ack cluster node initialization process

Dernière mise à jour :Aug 11, 2026

Lorsque vous créez des nœuds ou étendez un pool de nœuds, ACK exécute un processus d'initialisation standardisé qui installe et configure les logiciels requis en fonction des paramètres du pool de nœuds, puis intègre le nœud au cluster Kubernetes.

Périmètre d'application

Cette rubrique s'applique aux pools de nœuds ECS et EGS dans les clusters managés ACK et les clusters dédiés ACK exécutant la version 1.20 ou ultérieure du cluster.

Fonctionnement

image

L'initialisation se déroule en quatre phases séquentielles :

  1. Création du nœud — ACK provisionne l'instance ECS ou EGS et le système d'exploitation effectue la configuration de base. Cloud-init exécute ensuite le script User Data, qui comprend trois parties : le script Pre-defined Custom Data, les scripts d'initialisation ACK et le script User Data.

  2. Exécution des scripts de pré-personnalisation — Cloud-init exécute le script Pre-defined Custom Data pour installer les dépendances, configurer les agents de surveillance ou effectuer des vérifications de l'environnement.

  3. Exécution des scripts d'initialisation ACK — ACK installe les composants Kubernetes, les pilotes matériels facultatifs et les packages de sécurité. Le nœud s'enregistre ensuite auprès du serveur API du cluster.

  4. Exécution des scripts personnalisés — Cloud-init exécute le script User Data pour la configuration au niveau de l'application, parallèlement à la transition du nœud vers l'état Ready.

Scripts d'initialisation ACK

Cette phase comprend sept sous-étapes et prend en charge des mécanismes d'ignorance pour les environnements hors ligne et les configurations spécialisées.

Préparation de l'environnement de base

Ce sous-étape configure l'environnement d'exécution dont Kubernetes a besoin pour démarrer sur le nœud :

  • Démarrage de chronyd — synchronise l'horloge du nœud avec le serveur NTP.

  • Définition de l'ID et du nom d'hôte du nœud — calcule et attribue un ID de nœud dans le cluster. Si le pool de nœuds est configuré avec un Custom Node Name, ce nom est également défini comme nom d'hôte.

  • Initialisation du disque de données — si le pool de nœuds comporte des disques de données, le système identifie le dernier disque par ordre lexicographique (en privilégiant NVMe), le formate et le monte en tant que répertoire d'exécution des conteneurs (par exemple, /var/lib/containerd).

Mécanismes d'ignorance :

Fichier à créer Effet
/var/.skip-auto-fdisk Ignore le formatage automatique des disques. Utilisez cette option lorsque vous gérez les partitions manuellement ou lorsque le disque contient déjà des données.
/var/.keep-container-data Ignore le formatage, mais copie les données d'exécution existantes (telles qu'un cache d'images) vers le nouveau chemin de montage après le montage. Utilisez cette option pour éviter les extractions d'images répétées lors de la migration d'un disque de données.

Installation des composants Kubernetes

Installe et configure les composants principaux requis pour l'exécution de Kubernetes :

Installation des composants facultatifs

ACK installe des composants supplémentaires en fonction de la configuration du pool de nœuds :

  • Pilotes matériels hétérogènes et plug-in de périphérique — pour les instances GPU ou NPU, le système installe les pilotes matériels correspondants et un plug-in de périphérique Kubernetes (par exemple, le plug-in NVIDIA Device), permettant à l'ordonnanceur de reconnaître et d'allouer ces ressources.

  • Logiciel d'accélération d'image — si le chargement d'images de conteneur à la demande est activé, le système installe le logiciel d'accélération et met à jour la configuration de l'environnement d'exécution des conteneurs.

  • Pilotes et dépendances SGX — si le calcul confidentiel ACK-TEE est activé, le système installe les pilotes SGX et les packages associés pour fournir un environnement d'exécution approuvé (TEE) aux conteneurs confidentiels.

Intégration au cluster

kubelet démarre, s'enregistre auprès du serveur API du cluster et le nœud rejoint le cluster avec un statut initial de NotReady.

Installation de logiciels supplémentaires

Pour garantir la stabilité et la sécurité, ACK installe les packages d'outils de base et applique les mises à jour de sécurité.

Packages installés : pigz, container-selinux, zlib

Mises à jour de sécurité (Alibaba Cloud Linux uniquement) :

  • Met à niveau systemd selon les besoins pour la stabilité.

  • Applique les correctifs CVE minimaux en exécutant : yum update-minimal --exclude kernel* --security -y

Mécanismes d'ignorance :

Fichier à créer Effet
/var/.skip-yum Ignore l'intégralité de ce sous-étape, y compris les correctifs CVE. Utilisez cette option pour les environnements hors ligne ou lorsqu'un contrôle strict des versions de package est requis.
/var/.skip-security-fix Ignore uniquement les correctifs CVE. Les packages d'outils de base sont toujours installés.

Application de la configuration du système d'exploitation

Une fois tous les logiciels installés, le système réapplique la configuration du système d'exploitation du pool de nœuds pour confirmer que tous les paramètres sont effectifs. Voir Gérer les paramètres du système d'exploitation du pool de nœuds.

Application du durcissement de sécurité

Sur la base des capacités de Security Hardening configurées dans le pool de nœuds (telles que le durcissement du système d'exploitation Alibaba Cloud), le système exécute les scripts de durcissement correspondants. Ces scripts renforcent les paramètres du noyau et ajustent les autorisations du système pour répondre aux exigences de sécurité des entreprises.

Exécution parallèle : scripts personnalisés et état Ready du nœud

Une fois qu'un nœud a rejoint le cluster avec le statut NotReady, deux tâches s'exécutent en parallèle :

  • Transition du statut du nœud — kubelet communique en continu avec le plan de contrôle. Lorsque les composants critiques sont opérationnels et que toutes les vérifications d'état réussissent, le nœud passe à l'état Ready et l'ordonnanceur Kubernetes le rend disponible pour les pods.

  • Exécution du script User Data — Cloud-init exécute le script User Data pour l'initialisation au niveau de l'application, telle que le remplissage des répertoires de données ou le démarrage de services d'aide non conteneurisés.

Ces deux tâches sont indépendantes. Le résultat du script User Data — succès, échec ou durée — ne bloque pas la transition du nœud vers l'état Ready. Ne supposez pas que le nœud est Ready lorsque le script User Data se termine, ni que le script User Data est terminé lorsque le nœud devient Ready.

Suivi de l'exécution des scripts personnalisés

Pour vérifier si le script User Data s'est exécuté correctement, connectez-vous au nœud et exécutez :

cat /var/log/cloud-init-output.log

Étapes suivantes