Personalizzazione della configurazione di Kubelet - Guida per l'utente di Eksctl

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Personalizzazione della configurazione di Kubelet

Le risorse di sistema possono essere riservate tramite la configurazione del kubelet. Questo è consigliato, perché in caso di carenza di risorse il kubelet potrebbe non essere in grado di eliminare i pod e alla fine far sì che il nodo diventi. NotReady Per fare ciò, i file di configurazione possono includere il kubeletExtraConfig campo che accetta un yaml in formato libero che verrà incorporato in. kubelet.yaml

Alcuni campi in kubelet.yaml sono impostati da eksctl e quindi non sono sovrascrivibili, come,, o. address clusterDomain authentication authorization serverTLSBootstrap

Il seguente file di configurazione di esempio crea un gruppo di nodi che riserva 300m vCPU, 300Mi memoria e storage temporaneo per il kubelet; 300m vCPU300Mi, 1Gi di memoria e di storage temporaneo per i demoni di sistema del sistema operativo; 1Gi e avvia l'eliminazione dei pod quando c'è meno della memoria disponibile o meno del 10% del filesystem root. 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

In questo esempio, date le istanze di tipo m5a.xlarge che hanno 4 v CPUs e 16 GiB di memoria, la Allocatable quantità di CPUs sarebbe 3,4 e 15,4 GiB di memoria. È importante sapere che i valori specificati nel file di configurazione per i campi in kubeletExtraconfig sovrascriveranno completamente i valori predefiniti specificati da eksctl. Tuttavia, l'omissione di uno o più kubeReserved parametri farà sì che i parametri mancanti vengano impostati come valori predefiniti in base al tipo di istanza aws utilizzato.

kubeReservedcalcolo

Sebbene in genere sia consigliabile configurare un'istanza mista NodeGroup per utilizzare istanze con la stessa configurazione di CPU e RAM, non si tratta di un requisito rigoroso. Pertanto, il kubeReserved calcolo utilizza l'istanza più piccola sul InstanceDistribution.InstanceTypes campo. In questo modo, NodeGroups con tipi di istanze diversi, non si riservano troppe risorse sull'istanza più piccola. Tuttavia, ciò potrebbe portare a una prenotazione troppo piccola per il tipo di istanza più grande.

avvertimento

Le impostazioni sono eksctl predefinitefeatureGates.RotateKubeletServerCertificate=true, ma quando featureGates vengono fornite impostazioni personalizzate, non verranno impostate. Dovresti sempre includerlofeatureGates.RotateKubeletServerCertificate=true, a meno che tu non debba disabilitarlo.