使用eksctl创建EKS
最后更新于
最后更新于
在上一篇中介绍了通过控制台创建eks,本章将介绍通过命令(eksctl)的方式创建EKS
使用命令的方式操作AWS 资源,我们可以以用户的身份去执行命令,也可以使用角色去执行命令。如果以用户的身份去执行命令,需要赋予用户相关权限然后配置cli,请参考上一篇中的先决条件赋予用户权限,如果以角色去执行命令,则需要创建一个新的角色(创建角色时案例选EC2),与赋予用户权限类似地将对应策略附加到角色上即可,然后将角色附加到需要操作命令的EC2 上。本篇中将介绍通过角色来执行命令
使用命令创建EKS与使用控制台创建不一样的地方是,通过命令创建时需要给用户或角色多一个CloudFormation 的操作权限,需要将如下策略添加给用户或角色以获取CloudFormation操作权限(注:下面策略中只允许在香港region进行操作,使用时请按需修改并替换AccountID 为自己账号的值)
如果我们使用的是EC2来运行命令 ,EC2默认是已经自带CLI ,本节可以跳过。如果需要在自己的电脑上运行aws 命令,则需要安装CLI ,可参考CLI篇中如何安装CLI 。本篇中,我们是通过以角色的方式来创建EKS,因此不需要在机器上配置用户信息,如果使用以用户来创建EKS ,则需要通过aws configure
配置用户信息
检查eksctl 版本(版本>=0.15.0)
检查 kubectl 版本(版本>=1.15)
命令大约需要二十分钟执行完成,正常执行如下图
如果在创建过程中提示没有权限,请从以下几方面做检查
角色(或用户) 是否配置正确权限(IAM 角色,EKS,EC2,CloudFormation四个方面进行检查)
角色是否附加在EC2上
策略中约束的区域,与命令中的区域是否一致
使用eksctl 创建EKS 与 控制台创建EKS 在授权上是类似地,使用eksctl 多一个CloudFormation 权限需求
使用eksctl 创建EKS 不需要预先创建EKS 服务角色 和EKS 节点角色,这个通过CloudFormation完成
推荐使用角色创建EKS ,这样可以控制操作EKS 的权限在EC2 上而不是在用户手上,减少安全风险
参考 eks 创建教程