在 Auto Mode 中创建集群非常简单,点击Create cluster
:
默认就是"Auto Mode”,由于创建集群的时候需要配置Cluster IAM Role
和Node IAM Role
,这里我们先使用右边的按钮创建:
创建Cluster IAM role
, 点击后跳转到IAM服务,并自动选择Use case:
进入下一步,IAM会帮我们自动添加以下权限:
下一步,使用推荐的名称创建IAM Role:
使用同样方式,创建Node IAM Role
:
创建完两个Role后,点击刷新按钮,会自动使用这个role:
可以看到EKS auto mode已经自动为我们启动了以下特性:
最后点击Create,一切都预先配置好了,不需要为创建 YAML 文件或为 VPC 设置而抓头。
注意: EKS Auto Mode 需要 Kubernetes 版本 1.29 或更高版本。
等创建完成后,点击Compute选项卡时,看到两个托管节点池:general-purpose节点池和system节点池:
或者可以通过命令行检查:
$ kubectl get nodepools
AWS EKS Auto Mode 不允许直接访问其管理的 NodePools 中的节点。出于安全和管理目的,AWS 限制:
这种方法增强了安全性,但它确实带来了一些不便。
对于需要直接节点访问的更深入的故障排除,必须切换到 EKS 标准模式,在那里管理自己的节点组。
不能直接从控制台修改 NodePools 的实例类别,但可以通过 API 来操作。
在控制台能看到general-purpose nodepool的定义:
等价于以下命令:
kubectl get nodepools general-purpose -o yaml
要应用自定义配置,可以创建类似于以下的NodePool:
apiVersion: eks.amazonaws.com/v1
kind: NodePool
metadata:
name: specialized-pool
spec:
instanceCategory: g
instanceGeneration: latest
instanceSize: large
instanceTypes:
- g5.large
- g5.xlarge
- inf1.xlarge
- inf2.2xlarge
maxNodes: 12
minNodes: 2