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é.
kubeReserved
calcul
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.