Personnalisation de la configuration de Kubelet - Guide de l'utilisateur d'Eksctl

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Personnalisation de la configuration de Kubelet

Les ressources du système peuvent être réservées via la configuration du kubelet. Ceci est recommandé, car en cas de manque de ressources, le kubelet risque de ne pas être en mesure d'expulser les pods et éventuellement de transformer le nœud en question. NotReady Pour ce faire, les fichiers de configuration peuvent inclure le kubeletExtraConfig champ qui accepte un yaml de forme libre qui sera intégré dans lekubelet.yaml.

Certains champs du kubelet.yaml sont définis par eksctl et ne sont donc pas réinscriptibles, tels que,address,clusterDomain, authentication ou. authorization serverTLSBootstrap

L'exemple de fichier de configuration suivant crée un groupe de nœuds qui réserve un 300m vCPU, 300Mi de la mémoire et 1Gi du stockage éphémère au kubelet ; un 300m vCPU300Mi, de la mémoire et du stockage éphémère aux démons du système d'exploitation ; 1Gi et déclenche l'expulsion des pods lorsqu'il y a moins de mémoire disponible ou moins de 10 % du système de fichiers racine. 200Mi

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: dev-cluster-1 region: eu-north-1 nodeGroups: - name: ng-1 instanceType: m5a.xlarge desiredCapacity: 1 kubeletExtraConfig: kubeReserved: cpu: "300m" memory: "300Mi" ephemeral-storage: "1Gi" kubeReservedCgroup: "/kube-reserved" systemReserved: cpu: "300m" memory: "300Mi" ephemeral-storage: "1Gi" evictionHard: memory.available: "200Mi" nodefs.available: "10%" featureGates: RotateKubeletServerCertificate: true # has to be enabled, otherwise it will be disabled

Dans cet exemple, étant donné les instances de type m5a.xlarge 4 V CPUs et 16 GiB de mémoire, la Allocatable quantité de mémoire CPUs serait de 3,4 et 15,4 GiB. Il est important de savoir que les valeurs spécifiées dans le fichier de configuration pour les champs de ce fichier kubeletExtraconfig remplaceront complètement les valeurs par défaut spécifiées par eksctl. Cependant, si vous omettez un ou plusieurs kubeReserved paramètres, les paramètres manquants seront définis par défaut à des valeurs correctes en fonction du type d'instance aws utilisé.

kubeReservedcalcul

Bien qu'il soit généralement recommandé de configurer une instance mixte NodeGroup pour utiliser des instances ayant la même configuration de processeur et de RAM, cela n'est pas une exigence stricte. Le kubeReserved calcul utilise donc la plus petite instance du InstanceDistribution.InstanceTypes champ. Ainsi, NodeGroups avec des types d'instances disparates, vous ne réserverez pas trop de ressources sur la plus petite instance. Toutefois, cela peut entraîner une réservation trop petite pour le type d'instance le plus important.

Avertissement

Par défaut, eksctl il est définifeatureGates.RotateKubeletServerCertificate=true, mais lorsque des featureGates paramètres personnalisés sont fournis, ils ne sont pas définis. Vous devez toujours l'inclurefeatureGates.RotateKubeletServerCertificate=true, sauf si vous devez le désactiver.