写点什么

在 mu 中推出对 EKS 的支持

  • 2019-10-14
  • 本文字数:1919 字

    阅读完需:约 6 分钟

在 mu 中推出对 EKS 的支持

在 Amazon EKS 上开始应用程序开发可能需要创建 Kubernetes 集群和代码库,还需要配置部署管道以将代码更改持续推送到集群。在本博文中,Stelligent 的 Casey Lee 展示了如何使用开源工具 mu 简化所有 AWS 资源的声明和管理,以便您可以专注于开发应用程序。


在前一篇博文使用 mu 轻松建造容器应用程序的管道中,我们看到了使用 mu 这一开源工具为容器工作负载构建 CI/CD 管道的速度有多快。这些管道利用 AWS CodeBuild 和 AWS CodePipeline 等服务编排其容器应用程序的构建和部署。此外,mu 还使用 Amazon Elastic Container Service (Amazon ECS) 运行工作负载。


在最近的一个版本中,mu 增加了对 Amazon Elastic Container Service for Kubernetes (Amazon EKS) 的支持。在本博文中,我们将演示如何使用 mu 设置 CI/CD 管道,以将应用程序部署到 EKS。首先,我们来看一下 mu 所创建的环境中重要的架构组件:


  • EKS 集群 – 由 EKS 作为托管服务提供的 Kubernetes 集群的控制层面。

  • EKS 工作程序节点 – 表示集群中工作程序节点的 EC2 实例的 Auto Scaling 组。

  • RBAC – 用于将 IAM 用户和角色关联到 Kubernetes 用户的 ConfigMap,以及从这些用户绑定到 Kubernetes 角色的角色。

  • Ingress 控制器 – 用于支持从外部访问集群内的服务的 NGINX Ingress 控制器。

  • 在 AWS 架构上使用 mu

  • 让我们试一试吧!


出于演示目的,我们将使用前一篇博文中的相同示例应用程序 (github.com/cplee/hello-nginx)。创建库分支并在本地克隆。mu.yml 需要对目标 EKS 进行一些更改:


#### Define 2 environments, both with `eks` provider###environments:- name: acceptance  provider: eks- name: production  provider: eks
#### Configure an ingress with a route for paths /*# to port 80 in the container###service: port: 80 pathPatterns: - /*#### Configure IAM user `casey.lee` with admin access# in the EKS cluster###rbac:- role: admin users: - casey.lee
复制代码


在使用 mu 构建管道之前,请提交更改并将更改推送回 GitHub。如果您是首次使用 mu,则可以运行以下命令下载 mu 二进制文件并将其添加到路径中:


curl -s https://getmu.io/install.sh | sh
复制代码


运行以下命令创建管道。此命令将提示您输入 GitHub 个人访问令牌,CodePipeline 需要该令牌才能配置提交挂钩。


mu pipeline up
复制代码



管道完成后,您的应用程序现在将在新创建的 EKS 集群上运行。由于 EKS 提供上游 Kubernetes 体验,因此您可以使用 kubectl 等工具与集群交互。默认情况下,只有 CloudFormation 用于预置 EKS 集群的 IAM 角色才有权管理集群中的资源。不过,我在上面的 mu.yml 中指定了我的 IAM 用户,因此我可以使用我的 IAM 凭证与集群通信。首先,我需要使用新集群的连接信息更新我的 kubeconfig:



接下来,使用创建的新上下文:



现在可以使用 kubectl 查看有关集群的基本信息:



此外,您还可以查看 Ingress 控制器和部署的示例应用程序的详细信息:



有关 EKS 集群的详细信息可以通过 mu 查看。另外,您还可以确定稍后用于测试应用程序的 ELB 的 URL:




为何要开放源代码?


在 Stelligent,我们帮助客户在 AWS 上建立了持续交付管道。我们的核心价值观之一是共享。我们希望对客户开放,让他们能够使用我们在与客户合作时使用的工具。通过开放 mu 的源代码,我们能够让客户在其客户群中对我们所用的工具有支配感。


创建和开发 mu 源代码的另一个目标是与社区分享我们的经验和观点,讨论实施这些管道的最佳做法。我们希望社区能够使用此工具以及根据他们的使用案例对其进行改进,并提供相关反馈,以便更好地解决我们努力解决的问题。


为 mu 做贡献!


如果您对容器工作负载的持续交付管道感兴趣,我们需要您的帮助! 参与方式如下:


  • 试用 – 访问 mu wiki 上的快速入门,下载并安装此工具。您还可以按照简短教程创建第一项服务。

  • 分享您的反馈 – 加入 Gitter 聊天室,询问问题,让我们知道您的想法。此外,如有任何功能请求,欢迎提出新问题。

  • 贡献 – 查看 GitHub 问题,针对即将推出的 EKS 功能提供帮助。随时可以提出拉取请求! 请访问贡献指南,了解更多详情。

  • Casey LeeCasey Lee

  • Casey Lee 是 Stelligent 的首席架构师 – Stelligent 是一家获得开发运营能力认证的核心级咨询合作伙伴,自 2009 年以来一直在 AWS 上实施持续交付解决方案。他已获得 AWS 开发运营工程师(专业级)和解决方案架构师(专业级)证书。过去 20 年里,无论就职初创公司还是财富 500 强企业,他一直负责组织软件系统的构建、实施和支持工作。


作者介绍:


Jeff Barr


AWS 首席布道师; 2004 年开始发布博客,此后便笔耕不辍。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/eks-support-mu/


2019-10-14 10:45884
用户头像

发布了 1957 篇内容, 共 166.2 次阅读, 收获喜欢 82 次。

关注

评论

发布
暂无评论
发现更多内容

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

华为云CDN,海量资源智能路由,让内容传输更快一步

IT科技苏辞

将 NGINX 部署为 API 网关,第 3 部分:发布 gRPC 服务

NGINX开源社区

nginx api 网关 gprc

华为云CDN,是怎样满足各行业全场景加速需求

IT科技苏辞

华为云CDN,如何赋能企业数字化发展?

IT科技苏辞

JavaScript刷LeetCode模板技巧篇(二)

Geek_07a724

JavaScript LeetCode

【融云出海白皮书免费看】出海洞察之沙特的「土豪行为」盘点

融云 RongCloud

白皮书 出海

聊一聊作为高并发系统基石之一的缓存

Java全栈架构师

Java 缓存 后端 高并发 架构师

Spring Boot「15」统一异常处理

Samson

Java spring 学习笔记 spring-boot 10月月更

华为云弹性公网IP,如何解决现代企业的网络IP烦恼

科技怪授

弹性公网IP

ript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

华为云对象存储OBS,安全可靠的云存储服务,让企业轻松上云

科技之光

精细化边缘安全防护:如何防止CDN域名被恶意刷量?

阿里云CloudImagine

CDN 边缘安全

特征平台在数禾的建设与应用

阿里云大数据AI技术

sql 大数据 flink 企业号十月 PK 榜

Spring Boot「16」自定义错误页面

Samson

Java spring 学习笔记 spring-boot 10月月更

华为云虚拟专用网络VPN,为现代企业打造优质的混合云计算环境

科技怪授

网络VPN

华为云虚拟专用网络VPN,助力现代企业云上业务创新发展

科技怪授

网络 网络VPN

JavaScript刷LeetCode-字符串类解题技巧

Geek_07a724

JavaScript LeetCode

这几款音乐人必备的软件,你了解吗?

懒得勤快

重塑感知,荣耀金洋,银行APP用户体验外滩峰会相聚上海

易观分析

银行 峰会 上海

阿里技术专家压箱底好货:Redis深度历险笔记

小小怪下士

Java redis 程序员

华为云虚拟专用网络VPN,专为解决现代企业云链路痛点而生

科技怪授

网络 网络VPN

超高性价比的云服务器-华为云耀云服务器

科技之光

华为云对象存储OBS,为不同企业提供云存储方案,助力企业更好经营

科技之光

企业为什么需要UI快速开发框架

力软低代码开发平台

华为云CDN,用技术实力助力企业创新,促进产业化转型

IT科技苏辞

前端监控系列4 | SDK 体积与性能优化实践

字节跳动终端技术

性能优化 前端监控 sdk 体积优化

聚焦云计算、大数据、人工智能等开源技术,这场开源开发者的盛会不容错过!

OpenAnolis小助手

人工智能 云计算 大数据 COSCon'22 开源盛会

NFTScan 与 Cobo 达成合作,双方将共同推动 NFT 资管安全市场的发展

NFT Research

区块链 NFT 数据基础设施

js通过经纬度来计算两地之间的距离

源字节1号

微信小程序 软件开发 前端开发 后端开发

10-6-华为云OBS大数据存算分离方案,助力企业顺利实现数字化转型!

科技之光

在 mu 中推出对 EKS 的支持_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章