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.
kubeReserved
calcolo
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.