本项目自动化在 AWS 中部署 EKS和 KubeSphere 。有着EKS提供的 Kubernetes 集群环境,更有着通过 KubeSphere 容器平台构建并管理云原生应用程序。 以 us-east-1 创建新的 VPC 脚本为例描述。

1、文档说明

2、CloudFormation 脚本细节说明

  • 通常需要输入的参数:Number of Availability Zones(选择几个 Zones)、Availability Zones(根据上步的个数选择具体zone)、Allowed external access CIDR(设置外网 IP 段可访问该EKS集群,默认 0.0.0.0/0)、SSH key name(外网访问时ssh key)、KubeSphereConsolePassword(KubeSphere 控制台登录密码设置)。
  • (可选项参数),需要开启什么服务,将默认 false 改成 true,如 Devops 等。
  • 开始部署时,最好打开堆栈创建选项–>失败时回滚–>已禁用项,此界面在配置堆栈选择界面最下面。
  • 审核 KubeSphere 界面最下面功能处,两个“我确认“都需要勾选。
  • 此CloudFormation脚本总共有4个界面,分别为:先决条件-准备模板、指定堆栈详细信息、配置堆栈选项和审核KubeSphere 四个界面。

3、安装部署流程

  • 打开上面“Deploy KubeSphere into a new VPC on AWS” 链接,登录自己账号,然后点击下一步。
  • 输入如下参数值:Number of Availability Zones、Availability Zones 、Allowed external access CIDR、SSH key name、KubeSphereConsolePassword,然后点击下一步。
  • 在配置堆栈选项界面最下面,打开堆栈创建选项–>失败时回滚–>已禁用项。然后点击下一步。
  • 在审核 KubeSphere 界面最下面,两个“我确认“都需要勾选。然后点击创建堆栈。

4、部署过程中遇到问题怎么解决?

当部署过程报错时,因为在3步骤中失败时回滚已禁用,所以能看到相应的报错日志。

  • 当报错时,点击最左边最上面那个报错堆栈(一定要看最上面那个堆栈报错信息),然后点击事件(Events),就会显示报错原因。
  • 常见问题,包括权限问题,资源受限问题,资源已存在,内部EKS报错等问题,如下截图报错信息。
  • 当在某个区已存在 EKS 集群时,需要在输入参数的”指定堆栈详细界面“中”Per region shared resources“项 默认 Yes 改成 No。
  • 当在某个账号下存在 EKS 集群时,需要在输入参数的“指定堆栈详细界面”中”Per-account shared resources“项默认 Yes改成 No。
  • 当在某个区准备好堡垒机时,需要在输入参数的”指定堆栈详细界面”中“Provision bastion host“项默认 Enable 改成Disabled。
  • 在某个区域删除 CloudFormation 脚本时,可能会发生删除失败情形,需要再点击删除按钮,同时到 IAM 下删除"eks-"打头role。
  • 在某个区域部署时,提前检查该区域下 IAM 下是否有”eks-“打头的role,如果存在,检查该账号下是否有别的EKS集群,如果有,参考”Per-account shared resources“和”Per-account shared resources“设置,否则删除”eks-“打头的role。
  • 在同区部署 CloudFormation 脚本时,一定要把同区之前部署报错的脚本删掉再部署。

5、报错信息附件

  • 如果堆栈在 EKSControlPlane 步骤报错了,说明是创建 EKS 报错,具体报错信息看 Events 下Status reason原因,比如权限/Role。

  • 资源存在报错

  • 资源不足

Forest-L 更改标题为「KubeSphere on AWS尝鲜及心得体会
3 个月 后

部署报错与处理方式:

  • No transform named 682804326264::QuickStartParameterResolver found.
    在没有其他 EKS 集群的时候 不能把 PerAccountSharedResources 和 PerRegionSharedResources 设置为 no,它将创建了一堆 lambda 函数以及几个 CFN 宏,他们不存在会导致 CFN 阻塞。
13 天 后

KubeSphere on AWS v3.1.0 删除堆栈报错

这是由于在创建 KubeSphere 前为了防止 ks-installer 部署错误,先创建了 admin 用户和 SA 并更新了密码,在删除 KubeSphere 过程中会自动删除这部分资源,导致堆栈删除时找不到这些资源。
该报错会导致堆栈删除失败,但不会有残留,只需再手动删除时忽略 KubeSphereUser, KubeSphereUpdatePassword 即可。

4 个月 后

bowen-huang 只能确定是创建 vm 时失败了,具体为什么失败这里看不出来,可以先通过页面创建一个 EKS 集群试试。

    ruiyaoOps 已经定位到原因了。查看了AWS堡垒机文档https://aws-quickstart.github.io/quickstart-linux-bastion/ 不支持在cn-northwest-1区部署。

    1 个月 后
    2 年 后

    现在用不了了,报错Access Denied,其中嵌套的一个Cloudformation 模板文件,无法下载