Réserver des ressources pour les démons Kubelet et de système d'exploitation sur les noeuds Oracle Cloud Infrastructure Kubernetes Engine
Présentation
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 travail ont des ressources réservées pour les composants de contrôle et les démons de système d'exploitation Kubernetes. Une réservation appropriée empêche la contention des ressources, réduit la pression de la mémoire et améliore la stabilité du cluster. Cela est particulièrement important dans les environnements multilocataires, 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é à la création du groupe de noeuds. En tirant parti de cloud-init
, vous pouvez normaliser ces configurations sur les noeuds de votre grappe avec un minimum d'efforts.
Configuration des ressources Kubelet
Kubelet, l'agent de noeud principal dans Kubernetes, prend en charge la gestion des ressources au moyen d'indicateurs ou de fichiers de configuration. Vous pouvez définir les éléments suivants :
- kubeReserved : Réserve les ressources pour les démons Kubernetes tels que
kubelet
etkube-proxy
. - systemReserved : Réserve les ressources pour les services de niveau système d'exploitation tels que
journald
ousshd
.
Objectifs
-
Découvrez comment réserver une unité centrale et de la mémoire pour les démons Kubernetes et le système d'exploitation à l'aide de
kubeReserved
etsystemReserved
. -
Déployez un groupe de noeuds gérés avec un script
cloud-init
personnalisé pour appliquer la configuration Kubelet au démarrage.
Conditions requises
-
Accès à un compte Oracle Cloud Infrastructure (OCI) autorisé à créer des grappes et des groupes de noeuds OKE.
-
Une grappe OKE existante (ou vous pouvez en créer une nouvelle).
-
Connaissance de base de Kubernetes et de l'interface de ligne de commande d'Oracle Cloud Infrastructure (interface de ligne de commande OCI).
Étape 1 : Écrire le script cloud-init
Le script cloud-init
suivant crée un fichier de configuration Kubelet qui réserve l'UC, 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"
Étape 2 : Créer un groupe de noeuds avec le script cloud-init
-
Allez à la console OCI et naviguez jusqu'à votre grappe OKE.
-
Sélectionnez Groupes de noeuds, puis cliquez sur Ajouter un groupe de noeuds pour en créer un nouveau, ou cliquez sur Modifier pour modifier un groupe de noeuds existant.
-
Définissez votre groupe de noeuds avec vos préférences pour le nom, le compartiment, le positionnement de noeud, la forme et le réseau.
-
Sous Afficher les options avancées, cliquez sur Coller le script Cloud-init et collez votre script personnalisé.
-
Remplissez les autres paramètres du groupe de noeuds et cliquez sur Ajouter.
Une fois les noeuds provisionnés, le script s'exécute au démarrage et applique automatiquement vos contraintes de ressource.
Note : 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 groupe de noeuds.
Remerciements
- Auteur - JP Santana (architecte en nuage principal)
Ressources d'apprentissage supplémentaires
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.
Reserve Resources for Kubelet and Operating System Daemons on Oracle Cloud Infrastructure Kubernetes Engine Nodes
G38630-01
Copyright ©2025, Oracle and/or its affiliates.