本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用实例配置文件从 AWS Cloud9 部署亚马逊EKS集群 EC2
由 Sagar Panigrahi 创作 () AWS
摘要
注意: AWS Cloud9 不再向新客户开放。的现有客户 AWS Cloud9 可以继续照常使用该服务。了解更多
此模式描述了如何使用 AWS Cloud9 以及AWS CloudFormation 如何创建亚马逊 Elastic Kubernetes Service EKS (Amazon) 集群,该集群无需为亚马逊网络服务 () 账户中的用户启用编程访问即可运行。AWS
AWSCloud9 是一个基于云的集成开发环境 (IDE),可帮助您使用浏览器编写、运行和调试代码。 AWSCloud9 用作控制中心,使用亚马逊弹性计算云 (AmazonEC2) 实例配置文件和AWS CloudFormation 模板来配置亚马逊EKS集群。
如果您不想创建 Identity and Access Managem AWS ent (IAM) 用户,而是想改用IAM角色,则可以使用此模式。基于角色的访问控制 (RBAC) 根据个人用户的角色来控制对资源的访问权限。此模式演示如何RBAC在 Amazon EKS 集群内进行更新以允许访问特定IAM角色。
该模式的设置还可以帮助您的 DevOps 团队使用 AWS Cloud9 功能来维护和开发用于创建 Amazon 基础设施的基础设施即代码 (IaC) 资源。EKS
先决条件和限制
先决条件
一个活动的 AWS 账户。
为账户创建IAM角色和策略的权限。用户的IAM角色必须包含
AWSCloud9Administrator
策略。还必须创建AWSServiceRoleForAmazonEKS
和eksNodeRoles
角色,因为它们是创建 Amazon EKS 集群所必需的。了解 Kubernetes 的概念。
限制
架构
技术堆栈
AWS Cloud9
AWS CloudFormation
Amazon EKS
IAM
自动化和扩缩
您可以扩展此模式并将其整合到持续集成和持续部署 (CI/CD) 管道中,以自动完成 Amazon 的完整配置。EKS
工具
AWS CloudFormation— AWS CloudFormation 帮助您对AWS资源进行建模和设置,这样您就可以花更少的时间管理这些资源,而将更多的时间集中在应用程序上。
AWSCloud9 — C AWS loud9 提供丰富的代码编辑体验,支持多种编程语言和运行时调试器,并内置终端。
AWSCLI— AWS Command Line Interface (AWSCLI) 是一个开源工具,可让您使用命令行外壳中的命令与AWS服务进行交互。
Kubectl —
kubectl
是一个命令行实用程序,可用于与亚马逊EKS集群进行交互。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
创建 IAM 策略。 | 登录AWS管理控制台,打开IAM控制台,选择策略,然后选择创建策略。选择JSON选项卡并粘贴 policy-role-eks-instance-profile-for-cloud 9.json 文件(附后)中的内容。 解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择 Review policy(查看策略)。输入策略的名称。策略名称,建议使用 查看策略摘要以查看您的策略授予的权限。然后选择创建策略。 | 云管理员 |
使用策略创建IAM角色。 | 在IAM控制台上,选择角色,然后选择创建角色。选择 “AWS服务”,然后EC2从列表中进行选择。 选择 “下一步:权限”,然后搜索您之前创建的IAM策略。根据要求选择合适的标签。 在Review(查看)部分,输入角色的名称。角色名称,建议使用 | 云管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
创建 IAM 策略。 | 在IAM控制台上,选择策略,然后选择创建策略。选择JSON选项卡并粘贴 policy-for-eks-rbac .json 文件(附后)中的内容。 解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择 Review policy(查看策略)。输入策略的名称。策略名称,建议使用 | 云管理员 |
使用策略创建IAM角色。 | 在IAM控制台上,选择角色,然后选择创建角色。选择 “AWS服务”,然后EC2从列表中进行选择。选择 “下一步:权限”,然后搜索您之前创建的IAM策略。根据要求选择合适的标签。 在Review(查看)部分,输入角色的名称。角色名称,建议使用 | 云管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
创建 AWS Cloud9 环境。 | 打开 AWS Cloud9 控制台,然后选择创建环境。在 Name environment(命名环境)页面,输入环境的名称。环境名称,建议使用 在 Review(查看)页面中,选择 Create environment(创建环境)。AWSCloud9 正在创建您的环境,请稍候。这个过程可能需要几分钟。 有关可用配置选项的更多信息,请参阅 AWS Cloud9 文档中的创建EC2环境。 | 云管理员 |
移除 C AWS loud IAM 9 的临时证书。 | 配置 AWS Cloud9 环境后,选择齿轮图标中的设置。在 “首选项” 下,选择 AWS“设置”,然后选择 “凭据”。 关闭AWS托管临时凭证并关闭选项卡。 | 云管理员 |
将EC2实例配置文件附加到底层EC2实例。 | 打开 Amazon EC2 控制台,然后在 AWS Cloud9 中选择与您的环境相匹配的EC2实例。如果您使用我们推荐的名称,则会调用该EC2实例 选择实EC2例,选择操作,然后选择实例设置。选择附加/替换角色IAM。搜索 | 云管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
创建 Amazon EKS 集群。 | 下载并打开 eks-cfn.yaml(附后)模板。AWS CloudFormation根据您的要求编辑模板。 打开 AWS Cloud9 环境并选择 “新建文件”。将您之前创建的AWS CloudFormation 模板粘贴到字段中。建议您使用 eks-cfn.yaml 为模板名称。 在 AWS Cloud9 终端中,运行以下命令来创建亚马逊EKS集群:
如果AWS CloudFormation 调用成功,则会在输出中收到AWS CloudFormation 堆栈的 Amazon 资源名称 (ARN)。堆栈创建可能需要 10 到 20 分钟。 | 云管理员 |
验证 Amazon EKS 集群的状态。 | 在AWS CloudFormation 主机上,打开堆栈页面,然后选择堆栈名称。 堆栈状态代码显示 | 云管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
在 Cloud9 AWS 环境中安装 kubectl。 | 按照亚马逊 | 云管理员 |
在 AWS Cloud9 中更新新的亚马逊EKS配置。 | 在 AWS Cloud9 终端中运行以下命令,将
重要
运行 | 云管理员 |
向 Kubernetes RBAC 添加管理员IAM角色。 | 在您的 AWS Cloud9 终端中运行以下命令,以编辑模式打开 Amazon EKS 的RBAC配置地图:
在
对YAML格式化文件进行 Lint 以避免语法错误。使用 注意通过添加此部分,您可以通知将在亚马逊集群上获得完全管理员访问权限RBAC | 云管理员 |
相关资源
参考
附件
要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip