Réservation de ressources pour les démons de Kubelet et de système d'exploitation sur les noeuds Oracle Cloud Infrastructure Kubernetes Engine
Introduction
Lors de l'exécution de charges de travail Kubernetes sur Oracle Cloud Infrastructure Kubernetes Engine (OKE), il est essentiel de s'assurer que les noeuds de processus actif disposent de ressources réservées pour les composants de contrôle Kubernetes et les démons de système d'exploitation. Une réservation appropriée évite les conflits de ressources, réduit la pression de la mémoire et améliore la stabilité du cluster. Cela est particulièrement important dans les environnements colocatifs, les charges de travail à haute densité ou lors du dépannage des problèmes de pression des noeuds. Dans ce tutoriel, vous apprendrez à configurer ces réservations à l'aide d'un script cloud-init
personnalisé appliqué lors de la création du pool de noeuds. En tirant parti de cloud-init
, vous pouvez standardiser ces configurations sur les noeuds de cluster avec un effort minimal.
Configuration des ressources Kubelet
Kubelet, l'agent de noeud principal dans Kubernetes, prend en charge la gestion des ressources via des indicateurs ou des fichiers de configuration. Vous pouvez définir les éléments suivants :
- kubeReserved : réserve des ressources pour les démons Kubernetes tels que
kubelet
etkube-proxy
. - systemReserved : réserve des ressources pour les services de niveau système d'exploitation tels que
journald
ousshd
.
Objectifs
-
Découvrez comment réserver de l'UC et de la mémoire pour les démons de système d'exploitation et Kubernetes à l'aide de
kubeReserved
etsystemReserved
. -
Déployez un pool de noeuds gérés avec un script
cloud-init
personnalisé pour appliquer la configuration de Kubelet au démarrage.
Prérequis
-
Accès à un compte Oracle Cloud Infrastructure (OCI) autorisé à créer des clusters OKE et des pools de noeuds.
-
Un cluster OKE existant (ou vous pouvez en créer un).
-
Connaissance de base de Kubernetes et de l'interface de ligne de commande Oracle Cloud Infrastructure (interface de ligne de commande OCI).
Etape 1 : écriture du script cloud-init
Le script cloud-init
suivant crée un fichier de configuration Kubelet qui réserve la CPU, la mémoire et le stockage éphémère, et définit des seuils d'expulsion.
#!/bin/bash
curl --fail -H "Authorization: Bearer Oracle" -L0 http://169.254.169.254/opc/v2/instance/metadata/oke_init_script | base64 --decode >/var/run/oke-init.sh
bash /var/run/oke-init.sh --kubelet-extra-args "--kube-reserved=cpu=500m,memory=1Gi --system-reserved=cpu=100m,memory=100Mi"
Etape 2 : création d'un pool de noeuds avec le script cloud-init
-
Accédez à la console OCI et à votre cluster OKE.
-
Sélectionnez Pools de noeuds, puis cliquez sur Ajouter un pool de noeuds pour en créer un ou cliquez sur Modifier pour modifier un pool de noeuds existant.
-
Définissez votre pool de noeuds avec vos préférences de nom, de compartiment, de positionnement de noeud, de forme et de mise en réseau.
-
Sous Afficher les options avancées, cliquez sur Coller le script Cloud-init et collez votre script personnalisé.
-
Renseignez les autres paramètres du pool de noeuds et cliquez sur Ajouter.
Une fois les noeuds provisionnés, le script s'exécute à l'initialisation et applique automatiquement vos contraintes de ressources.
Remarque : si vous automatisez la configuration avec Terraform, vous pouvez transmettre le script dans le bloc
node_config_details.cloud_init_script
lors de la création de la ressource de pool de noeuds.
Accusés de réception
- Auteur - JP Santana (architecte cloud maître)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.
Reserve Resources for Kubelet and Operating System Daemons on Oracle Cloud Infrastructure Kubernetes Engine Nodes
G38631-01
Copyright ©2025, Oracle and/or its affiliates.