本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
EKS 自动模式
eksctl 支持 EKS 自动模式,该功能将 AWS 对 Kubernetes 集群的管理扩展到集群本身之外,从而允许 AWS 设置和管理基础设施,使您的工作负载能够顺利运行。这使您可以委托关键基础设施决策并利用 AWS 的专业知识进行 day-to-day运营。AWS 管理的集群基础设施包括许多 Kubernetes 功能作为核心组件,而不是附加组件,例如计算自动扩展、容器和服务联网、应用程序负载平衡、集群 DNS、区块存储和 GPU 支持。
创建启用自动模式的 EKS 集群
eksctl
添加了一个用于启用和配置自动模式的新autoModeConfig
字段。autoModeConfig
场地的形状是
autoModeConfig: # defaults to false enabled: boolean # optional, defaults to [general-purpose, system]. # To disable creation of nodePools, set it to the empty array ([]). nodePools: []string # optional, eksctl creates a new role if this is not supplied # and nodePools are present. nodeRoleARN: string
如果autoModeConfig.enabled
为 true,则 eksctl 通过将computeConfig.enabled: true
kubernetesNetworkConfig.elasticLoadBalancing.enabled: true
、和传递给 EKS API storageConfig.blockStorage.enabled: true
来创建 EKS 集群,从而实现计算、存储和网络等数据平面组件的管理。
要创建启用了自动模式的 EKS 集群,请进行设置autoModeConfig.enabled: true
,如所示
# auto-mode-cluster.yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: auto-mode-cluster region: us-west-2 autoModeConfig: enabled: true
eksctl create cluster -f auto-mode-cluster.yaml
eksctl 创建一个节点角色用于自动模式启动的节点。eksctl 还会创建和节点池。general-purpose
system
要禁用默认节点池的创建,例如,要配置自己的节点池以使用不同的子网集,请进行设置nodePools: []
,如中所示
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: auto-mode-cluster region: us-west-2 autoModeConfig: enabled: true nodePools: [] # disables creation of default node pools.
更新 EKS 集群以使用自动模式
要将现有 EKS 集群更新为使用自动模式,请运行
# cluster.yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: cluster region: us-west-2 autoModeConfig: enabled: true
eksctl update auto-mode-config -f cluster.yaml
注意
如果集群由 eksctl 创建,并且它使用公有子网作为集群子网,则自动模式将启动公共子网中的节点。要将私有子网用于由自动模式启动的工作节点,请更新集群以使用私有子网。
禁用自动模式
要禁用自动模式,请设置autoModeConfig.enabled: false
并运行
# cluster.yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: auto-mode-cluster region: us-west-2 autoModeConfig: enabled: false
eksctl update auto-mode-config -f cluster.yaml