Cuestionario de configuración de NodePool de EKS Auto Mode
Documento relacionado: Configuración de NodePool
Preguntas de opción múltiple
1. ¿Cuáles son los NodePools predeterminados proporcionados por EKS Auto Mode?
- A) default, worker
- B) general-purpose, system
- C) compute, memory
- D) primary, secondary
Mostrar respuesta
Respuesta: B) general-purpose, system
Explicación: EKS Auto Mode proporciona dos NodePools predeterminados:
- general-purpose: NodePool predeterminado para workloads (cargas de trabajo) generales, compatible con varios tipos de instancia (c, m, r) y tanto Spot como On-Demand
- system: NodePool para componentes del sistema (CoreDNS, kube-proxy, etc.), que usa solo On-Demand con la taint CriticalAddonsOnly aplicada
# Auto Mode activation example
autoModeConfig:
enabled: true
nodePools:
- general-purpose
- system2. ¿Cómo se aplica IMDSv2 como obligatorio en NodeClass?
- A)
httpTokens: optional - B)
httpTokens: required - C)
httpEndpoint: disabled - D)
httpPutResponseHopLimit: 0
Mostrar respuesta
Respuesta: B) httpTokens: required
Explicación: Establecer httpTokens: required en metadataOptions de NodeClass aplica solo IMDSv2, lo que mejora la seguridad.
apiVersion: eks.amazonaws.com/v1
kind: NodeClass
metadata:
name: secure-nodeclass
spec:
metadataOptions:
httpEndpoint: enabled
httpProtocolIPv6: disabled
httpPutResponseHopLimit: 2
httpTokens: required # IMDSv2 requiredMejores prácticas de seguridad:
httpTokens: required: Aplicar el uso de IMDSv2httpPutResponseHopLimit: 1: Bloquear el acceso directo a IMDS desde Pods
3. ¿Qué familias de AMI admite EKS Auto Mode?
- A) Amazon Linux 2, Ubuntu
- B) AL2023, Bottlerocket
- C) Windows Server, Amazon Linux 2
- D) Red Hat Enterprise Linux, Ubuntu
Mostrar respuesta
Respuesta: B) AL2023, Bottlerocket
Explicación: EKS Auto Mode solo admite las familias de AMI AL2023 (Amazon Linux 2023) y Bottlerocket. Los nodes de Windows no son compatibles.
Características de las familias de AMI:
- AL2023: Uso de propósito general, amplio soporte de paquetes
- Bottlerocket: OS optimizado para contenedores, tiempo de arranque más rápido, seguridad mejorada
apiVersion: eks.amazonaws.com/v1
kind: NodeClass
metadata:
name: custom-nodeclass
spec:
amiFamily: Bottlerocket # or AL20234. ¿Cuál es la clave de label para especificar el fabricante de GPU en un NodePool para workloads de GPU?
- A)
karpenter.k8s.aws/gpu-vendor - B)
karpenter.k8s.aws/instance-gpu-manufacturer - C)
nvidia.com/gpu-family - D)
karpenter.sh/gpu-type
Mostrar respuesta
Respuesta: B) karpenter.k8s.aws/instance-gpu-manufacturer
Explicación: Puedes especificar el fabricante al seleccionar instancias de GPU.
spec:
template:
spec:
requirements:
- key: karpenter.k8s.aws/instance-category
operator: In
values: ["g", "p"]
- key: karpenter.k8s.aws/instance-gpu-manufacturer
operator: In
values: ["nvidia"]5. ¿Cuál es la forma correcta de especificar la generación de instancia en un NodePool?
- A)
node.kubernetes.io/instance-generation: "6" - B)
karpenter.k8s.aws/instance-generationwithoperator: In - C)
eks.amazonaws.com/generation: "6" - D)
instance-generation: 6
Mostrar respuesta
Respuesta: B) karpenter.k8s.aws/instance-generation con operator: In
Explicación: Usa labels de Karpenter para especificar la generación de instancia.
spec:
template:
spec:
requirements:
- key: karpenter.k8s.aws/instance-category
operator: In
values: ["c"]
- key: karpenter.k8s.aws/instance-generation
operator: Gt
values: ["5"] # Generation 6 or higher
- key: karpenter.sh/capacity-type
operator: In
values: ["on-demand"]6. ¿Cuál es la forma correcta de configurar NodeClass para usar solo subnets privadas?
- A)
subnetType: private - B)
subnetSelectorTermscon la etiqueta internal-elb - C)
privateSubnetsOnly: true - D)
networkType: private
Mostrar respuesta
Respuesta: B) subnetSelectorTerms con la etiqueta internal-elb
Explicación: Usa subnetSelectorTerms para seleccionar subnets privadas.
apiVersion: eks.amazonaws.com/v1
kind: NodeClass
metadata:
name: secure-nodeclass
spec:
# Use private subnets only
subnetSelectorTerms:
- tags:
kubernetes.io/role/internal-elb: "1"Las subnets públicas usan la etiqueta kubernetes.io/role/elb: "1".