写点什么

在 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:45743
用户头像

发布了 1871 篇内容, 共 134.4 次阅读, 收获喜欢 81 次。

关注

评论

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

轻松搞定平稳运行,数据库平台 DBStack 帮助 DBA 运维不同基础设施上的各类数据库

Baidu AICLOUD

数据库

简单聊聊过等保的五大益处

行云管家

等保 等保测评 过等保

好用的交互式动画界面设计神器 Principle for Mac汉化版

Rose

disk drill mac 破解版 附disk drill 激活码 好用的苹果数据恢复软件

Rose

Taro 鸿蒙技术内幕系列(三) - 多语言场景下的通用事件系统设计

京东科技开发者

mac免费的投屏软件duet,帮助用户把mac的屏幕分享到移动设备的应用

Rose

告别 Kafka,拥抱 Databend:构建高效低成本的用户行为分析体系

Databend

鸿蒙Flutter 常见问题总结

flfljh

2024-11-27:字符串的分数。用go语言,给定一个字符串 s,我们可以定义其“分数”为相邻字符的 ASCII 码差值绝对值的总和。 请计算并返回字符串 s 的分数。 输入:s = “hello“

福大大架构师每日一题

福大大架构师每日一题

需求管理的主要内容包括哪些

易成研发中心

需求管理 需求管理工具

苹果mac流行的API开发工具:Postman

Rose

One Switch for Mac(菜单栏一键开关控制神器)v1.33.1中文版

Rose

axure rp8中文安装包 附axure rp永久密钥

Rose

TinyEngine低代码引擎2.0新特性介绍

OpenTiny社区

低代码 OpenTiny TinyEngine 前端开源

Eudic 欧路词典:多语种翻译神器,精准释义与例句一应俱全

Rose

安能物流 All in TiDB 背后的故事与成果

PingCAP

数据库 TiDB

AIGC系统中多个模型的切换调用方案探索

京东科技开发者

新产品研发管理的需求来自哪些维度

易成研发中心

需求管理

支付 APP 的测试管理实践与思考

优测云服务平台

持续测试 测试管理工具 测试用例管理平台 质量门禁

2024华为云开源开发者论坛项目抢鲜看|Kmesh: 监控指标和访问日志功能详解

华为云原生团队

云计算 开源 容器 云原生

西双版纳有等保测评机构吗?在哪里?

行云管家

等保 等保测评

鸿蒙 next 封装日志工具类 LogUtil

flfljh

揭秘淘宝天猫API接口:轻松获取商品详情与优惠券券后价

代码忍者

API 接口 pinduoduo API

GoodNotes 5 - 笔记、绘图、文档管理一站式搞定

Rose

鸿蒙 Next 中 Text 组件用法总结

flfljh

harmony_flutter 自定义toast

flfljh

HarmonyOS harmony

探索淘宝天猫API:解锁商品详情与关键词搜索的高效之道

代码忍者

API 接口 pinduoduo API

Pixelmator Pro for Mac 非常强大、美观且易于使用的图像编辑器

Rose

3D渲染和动画制作软件 KeyShot破解版 附永久许可证及安装教程

Rose

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