Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Gestion des composants en paquet

Manifestes de déploiement automatique (AddOns)

Sur les nœuds de serveur, tout fichier trouvé dans /var/lib/rancher/k3s/server/manifests sera automatiquement déployé sur Kubernetes de manière similaire à kubectl apply, à la fois au démarrage et lorsque le fichier est modifié sur le disque. Supprimer des fichiers de ce répertoire ne supprimera pas les ressources correspondantes du cluster.

Les manifestes sont suivis en tant que ressources personnalisées AddOn dans l’espace de noms kube-system. Toutes les erreurs ou avertissements rencontrés lors de l’application du fichier manifeste peuvent être consultés en utilisant kubectl describe sur le AddOn correspondant, ou en utilisant kubectl get event -n kube-system pour voir tous les événements de cet espace de noms, y compris ceux du contrôleur de déploiement.

Composants en paquet

K3s est livré avec un certain nombre de composants en paquet qui sont déployés en tant qu’AddOns via le répertoire des manifestes : coredns, traefik, local-storage et metrics-server. Le contrôleur LoadBalancer servicelb intégré n’a pas de fichier manifeste, mais peut être désactivé comme s’il s’agissait d’un AddOn pour des raisons historiques.

Les manifestes pour les composants en paquet sont gérés par K3s et ne doivent pas être modifiés. Les fichiers sont réécrits sur le disque chaque fois que K3s est démarré, afin d’assurer leur intégrité.

AddOns utilisateur

Vous pouvez placer des fichiers supplémentaires dans le répertoire des manifestes pour un déploiement en tant qu'`AddOn`. Chaque fichier peut contenir plusieurs ressources Kubernetes, délimitées par le séparateur de document YAML ---. Pour plus d’informations sur l’organisation des ressources dans les manifestes, consultez la section Gestion des ressources de la documentation Kubernetes.

Exigences de nommage des fichiers

Le nom de fichier AddOn pour chaque fichier dans le répertoire des manifestes est dérivé du nom de base du fichier. Assurez-vous que tous les fichiers dans le répertoire des manifestes (ou dans tout sous-répertoire) ont des noms uniques et respectent les restrictions de nommage des objets Kubernetes. Il convient également de veiller à ne pas entrer en conflit avec les noms utilisés par les composants en paquet par défaut de K3s, même si ces composants sont désactivés.

Voici un exemple d’une erreur qui serait signalée si le nom de fichier contient des underscores :

Échec du traitement de la configuration : échec du traitement de /var/lib/rancher/k3s/server/manifests/example_manifest.yaml : Addon.k3s.cattle.io "example_manifest" est invalide : metadata.name : Valeur invalide : "example_manifest" : un sous-domaine RFC 1123 en minuscules doit se composer de caractères alphanumériques, '-' ou '.', et doit commencer et se terminer par un caractère alphanumérique (par exemple, 'example.com', l’expression régulière utilisée pour la validation est '[a-z0-9]([a-z0-9])?(\\.[a-z0-9]([-a-z0-9][a-z0-9])?)*')

Si vous avez plusieurs nœuds de serveur et que vous placez des manifestes AddOn supplémentaires sur plus d’un serveur, il est de votre responsabilité de vous assurer que les fichiers restent synchronisés entre ces nœuds. K3s ne synchronise pas le contenu des AddOn entre les nœuds et ne peut garantir un comportement correct si différents serveurs tentent de déployer des manifestes conflictuels.

Désactivation des manifestes

Il existe deux façons de désactiver le déploiement de contenu spécifique du répertoire des manifestes.

Utilisation du drapeau --disable

Les AddOns pour les composants en paquet énumérés ci-dessus, en plus des AddOns pour tout manifeste supplémentaire placé dans le répertoire manifests, peuvent être désactivés avec le drapeau --disable. Les AddOns désactivés sont activement désinstallés du cluster, et les fichiers sources sont supprimés du répertoire manifests.

Par exemple, pour désactiver traefik afin qu’il ne soit pas installé sur un nouveau cluster, ou pour le désinstaller et supprimer le manifeste d’un cluster existant, vous pouvez démarrer K3s avec --disable=traefik. Plusieurs éléments peuvent être désactivés en séparant leurs noms par des virgules, ou en répétant le drapeau.

Utilisation des fichiers .skip

Pour tout fichier sous /var/lib/rancher/k3s/server/manifests, vous pouvez créer un fichier .skip qui fera que K3s ignorera le manifeste correspondant. Le contenu du fichier .skip n’a pas d’importance, seule son existence est vérifiée. Notez que la création d’un fichier .skip après qu’un AddOn a déjà été créé ne supprimera ni ne modifiera autrement celui-ci ou les ressources qu’il a créées ; le fichier est simplement traité comme s’il n’existait pas.

Par exemple, créer un fichier traefik.yaml.skip vide dans le répertoire des manifestes avant que K3s ne soit démarré pour la première fois, fera que K3s ignorera le déploiement de traefik.yaml :

$ ls /var/lib/rancher/k3s/server/manifests
ccm.yaml      local-storage.yaml  rolebindings.yaml  traefik.yaml.skip
coredns.yaml  traefik.yaml

$ kubectl get pods -A
NAMESPACE     NAME                                     READY   STATUS    RESTARTS   AGE
kube-system   local-path-provisioner-64ffb68fd-xx98j   1/1     Running   0          74s
kube-system   metrics-server-5489f84d5d-7zwkt          1/1     Running   0          74s
kube-system   coredns-85cb69466-vcq7j                  1/1     Running   0          74s

Si Traefik avait déjà été déployé avant la création du fichier traefik.skip, Traefik resterait tel quel et ne serait pas affecté par les mises à jour futures lors de la mise à niveau de K3s.

AddOns Helm

Pour des informations sur la gestion des charts Helm via le déploiement automatique de manifestes, veuillez vous référer à la section sur Helm.