Skip to content

EKS Auto Mode 入门测验

相关文档: EKS Auto Mode 入门

多项选择题

1. 支撑 EKS Auto Mode 的底层技术是什么?

  • A) Cluster Autoscaler
  • B) Karpenter
  • C) AWS Fargate
  • D) EC2 Auto Scaling Groups
显示答案

答案: B) Karpenter

说明: EKS Auto Mode 基于 Karpenter,但运行在 AWS 托管的 control plane 中。用户无需单独安装或配置任何 node 管理组件 - AWS 会管理所有内容。

EKS Auto Mode 功能:

  • 基于 Karpenter 的自动化 node 管理
  • 在 AWS control plane 中运行
  • 根据 workload 要求自动选择最佳 instance
  • 在数十秒内快速扩缩容

2. 使用 EKS Auto Mode 所需的最低 EKS 版本是多少?

  • A) 1.27
  • B) 1.28
  • C) 1.29
  • D) 1.30
显示答案

答案: C) 1.29

说明: EKS Auto Mode 仅适用于 EKS 版本 1.29 及以上。

主要限制:

  • 最低 EKS 版本: 1.29
  • 每个 cluster 的最大 NodePools 数: 100
  • 每个 NodePool 的最大 nodes 数: 1000
  • 每个 cluster 的最大 nodes 数: 5000

3. 使用 eksctl 创建启用了 Auto Mode 的新 cluster 的正确方式是什么?

  • A) eksctl create cluster --auto-mode
  • B) eksctl create cluster --enable-auto-mode
  • C) eksctl create cluster --with-auto-mode
  • D) eksctl create cluster --compute autoMode=enabled
显示答案

答案: B) eksctl create cluster --enable-auto-mode

说明: 使用 eksctl 0.200.0 或更高版本时,可以使用 --enable-auto-mode 标志创建启用了 Auto Mode 的 cluster。

bash
# Create new cluster with Auto Mode enabled
eksctl create cluster \
    --name my-cluster \
    --region us-west-2 \
    --enable-auto-mode

# Enable Auto Mode on existing cluster
eksctl update cluster \
    --name my-cluster \
    --enable-auto-mode

4. Auto Mode 中 node 预置的典型预期时间是多少?

  • A) 5-10 秒
  • B) 40-90 秒
  • C) 3-5 分钟
  • D) 10-15 分钟
显示答案

答案: B) 40-90 秒

说明: EKS Auto Mode 的 node 预置时间线如下:

  • EC2 instance 启动: 10-30 秒
  • AMI 启动: 20-40 秒
  • kubelet 注册: 5-10 秒
  • Pod 调度: 1-5 秒
  • 总预期时间: 40-90 秒

与 AL2023 相比,使用 Bottlerocket AMI 可以实现更快的启动时间。

5. 使用 Terraform 在现有 EKS cluster 上启用 Auto Mode 需要添加哪个 block?

  • A) auto_mode_config { enabled = true }
  • B) compute_config { enabled = true }
  • C) karpenter_config { enabled = true }
  • D) node_config { auto_mode = true }
显示答案

答案: B) compute_config { enabled = true }

说明: 使用 Terraform AWS Provider 5.79.0 或更高版本时,使用 compute_config block 启用 Auto Mode。

hcl
resource "aws_eks_cluster" "main" {
  name     = "my-cluster"
  role_arn = aws_iam_role.cluster.arn
  version  = "1.31"

  compute_config {
    enabled       = true
    node_pools    = ["general-purpose", "system"]
    node_role_arn = aws_iam_role.node.arn
  }

  kubernetes_network_config {
    elastic_load_balancing {
      enabled = true
    }
  }

  storage_config {
    block_storage {
      enabled = true
    }
  }

  vpc_config {
    subnet_ids = var.subnet_ids
  }
}

6. Auto Mode clusters 所需 IAM role 的 trust relationship 中必须允许哪个 service principal?

  • A) eks.amazonaws.com
  • B) ec2.amazonaws.com
  • C) eks-auto.amazonaws.com
  • D) karpenter.amazonaws.com
显示答案

答案: B) ec2.amazonaws.com

说明: Auto Mode nodes 使用的 IAM role 必须信任 EC2 service principal,因为 nodes 以 EC2 instances 形式运行。

json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

必需的 managed policies:

  • AmazonEKSWorkerNodeMinimalPolicy
  • AmazonEC2ContainerRegistryPullOnly