Ayude a mejorar esta página
Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.
En este tema, aprenderá a implementar una carga de trabajo con una tolerancia CriticalAddonsOnly
para que el modo automático de EKS la programe en el grupo de nodos de system
.
El grupo de nodos del system
integrado del modo automático de EKS está diseñado para ejecutar complementos esenciales en instancias dedicadas. Esta división asegura que los componentes esenciales dispongan de recursos dedicados y se mantengan aislados de las cargas de trabajo generales, mejorando así la estabilidad y el rendimiento global del clúster.
Esta guía muestra cómo implementar complementos en el grupo de nodos del system
mediante la tolerancia CriticalAddonsOnly
y los selectores de nodos adecuados. Si sigue estos pasos, podrá asegurarse de que las aplicaciones críticas se programen en los nodos dedicados del system
, aprovechando las ventajas de aislamiento y asignación de recursos que ofrece la estructura especializada de grupos de nodos del modo automático de EKS.
El modo automático de EKS tiene dos grupos de nodos integrados: general-purpose
y system
. Para obtener más información, consulte Cómo habilitar o desactivar los NodePools integrados.
El propósito del grupo de nodos del system
es segregar los complementos críticos en diferentes nodos. Los nodos aprovisionados por el grupo de nodos del system
tienen una taint de Kubernetes CriticalAddonsOnly
. Kubernetes solo programará los pods en estos nodos si tienen la tolerancia correspondiente. Para obtener más información, consulte Taints y toleraciones
Requisitos previos
-
Clúster de modo automático de EKS con el grupo de nodos de
system
integrado habilitado. Para obtener más información, consulte Cómo habilitar o desactivar los NodePools integrados -
kubectl
instalado y configurado Para obtener más información, consulte Configuración para usar Amazon EKS.
Procedimiento
Revise el ejemplo de yaml que aparece a continuación. Tenga en cuenta las siguientes condiciones:
-
nodeSelector
: esto asocia la carga de trabajo con el grupo de nodos integrado delsystem
. Este grupo de nodos debe estar habilitado con la API AWS. Para obtener más información, consulte Cómo habilitar o desactivar los NodePools integrados. -
tolerations
: esta tolerancia supera la taint deCriticalAddonsOnly
en los nodos del grupo de nodos delsystem
.
apiVersion: apps/v1
kind: Deployment
metadata:
name: sample-app
spec:
replicas: 3
selector:
matchLabels:
app: sample-app
template:
metadata:
labels:
app: sample-app
spec:
nodeSelector:
karpenter.sh/nodepool: system
tolerations:
- key: "CriticalAddonsOnly"
operator: "Exists"
containers:
- name: app
image: nginx:latest
resources:
requests:
cpu: "500m"
memory: "512Mi"
Para actualizar una carga de trabajo de modo que se ejecute en el grupo de nodos del system
, deberá:
-
Actualizar la carga de trabajo existente para agregar las siguientes configuraciones descritas anteriormente:
-
nodeSelector
-
tolerations
-
-
Implementar la carga de trabajo actualizada en el clúster con
kubectl apply
Tras actualizar la carga de trabajo, se ejecutará en nodos dedicados.