Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Personalización de la configuración de kubelet
Los recursos del sistema se pueden reservar mediante la configuración del kubelet. Esto se recomienda porque, en caso de escasez de recursos, es posible que el kubelet no pueda desalojar los pods y, finalmente, hacer que el nodo se convierta en uno. NotReady Para ello, los archivos de configuración pueden incluir un kubeletExtraConfig campo que acepte un yaml de formato libre que se incrustará en el. kubelet.yaml
Algunos campos de los kubelet.yaml están configurados por eksctl y, por lo tanto, no se pueden sobrescribir, como el,,address, clusterDomain o. authentication authorization serverTLSBootstrap
El siguiente archivo de configuración de ejemplo crea un grupo 300Mi de nodos que reserva la 300m vCPU, la memoria y 1Gi el almacenamiento efímero para el kubelet; la 300m vCPU300Mi, la memoria 1Gi y el almacenamiento efímero para los demonios del sistema operativo; y activa el desalojo de los pods cuando hay menos de memoria disponible o menos del 10% del sistema de archivos raíz. 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
En este ejemplo, dadas las instancias de tipo m5a.xlarge que tienen 4 V CPUs y 16 GiB de memoria, la Allocatable cantidad CPUs sería de 3,4 y 15,4 GiB de memoria. Es importante saber que los valores especificados en el archivo de configuración para los campos kubeletExtraConfig sobrescribirán por completo los valores predeterminados especificados por eksctl. Sin embargo, si se omite uno o más kubeReserved parámetros, los parámetros faltantes se establecerán de forma predeterminada con valores idénticos en función del tipo de instancia de AWS que se utilice.
kubeReservedcálculo
Si bien generalmente se recomienda configurar una instancia mixta NodeGroup para usar instancias con la misma configuración de CPU y RAM, no es un requisito estricto. Por lo tanto, el kubeReserved cálculo utiliza la instancia más pequeña del InstanceDistribution.InstanceTypes campo. De esta forma, NodeGroups con tipos de instancias dispares, no se reservarán demasiados recursos en la instancia más pequeña. Sin embargo, esto podría provocar una reserva demasiado pequeña para el tipo de instancia más grande.
aviso
De forma predeterminadafeatureGates.RotateKubeletServerCertificate=true, se eksctl establece, pero cuando featureGates se proporciona una configuración personalizada, no se establecerá. Siempre debes incluirlofeatureGates.RotateKubeletServerCertificate=true, a menos que tengas que deshabilitarlo.