标题: “使用 Terraform 构建 EKS 多部分” 权重: 515 草稿: 假
在本次研讨会的这一部分,我们将使用 Terraform 模块构建一个 EKS 集群,并将 Cloud9 IDE 用作堡垒主机。
下图描绘了本次研讨会的 EKS 构建过程:
安全是配置和维护 Kubernetes 集群和应用程序的关键组成部分。Amazon EKS 默认提供安全的托管 Kubernetes 集群。
通过在具有有限入口或出口连接的 VPC 中配置 EKS 集群,可以进一步增强安全性。
在本节中,我们将研究如何分阶段构建 EKS 集群,以反映大型组织中时常见到的不同责任和最小特权模型。
我们的私有 EKS 集群的构建分为以下几个阶段,每个阶段可能由不同的团队执行:
我们将依次执行这些阶段,完成整个研讨会。
在此阶段,我们创建一些预先需要的 S3 存储桶和 DynamoDB 表,用于集中保存 Terraform “状态"并控制该状态的锁定:
S3 存储桶
构建部分 | S3 存储桶密钥 | DynamoDB 表 |
---|---|---|
设置 | terraform/tf-setup.tfstate | terraform_lock_tf-setup |
网络 | terraform/net.tfstate | terraform_lock_net |
Cloud9 IDE 网络 | terraform/c9net.tfstate | terraform_lock_c9net |
EKS 集群构建 | terraform/cluster.tfstate | terraform_lock_cluster |
EKS 附加组件 | terraform/addons.tfstate | terraform_lock_addons |
EKS 可观察性附加组件 | terraform/observ.tfstate | terraform_lock_observ |
SSM 参数
由于需要在构建的不同阶段传递值(例如 EKS 集群名称),因此使用了各种 SSM 参数来实现这一目的。它们都以前缀 /workshop/tf-eks/
开头。
在此阶段,我们构建了 EKS 集群所需的基础网络组件。
此阶段将 Cloud9 IDE & CICD VPC 与私有 EKS VPC 互连。
此阶段部署了:
在此部分,我们使用 AWS Blueprints 启用和配置一组 EKS 附加组件:
安装 AWS EKS 可观察性加速器,包括:
在 EKS 上安装 Keycloak 作为托管 Grafana 的 SAML 提供商 - 请参阅 keycloak.org 了解更多信息。
我们使用这个,因为该研讨会环境不允许我们使用/配置 AWS 单点登录
在本节中,我们只是准备我们的集群,以便它可以与我们在 eksworkshop.com 上找到的主流 EKS 研讨会内容一起使用。