在过去的几个月里,我们一直在大力投资建立尖端的基础设施,以支持 Basilisk 背后的开发工作。我们认为,拥有面向未来的基础设施是任何项目发展的关键,原因有二: 首先,快速构建使快速开发成为可能。凭借我们闪亮的新基础设施,我们现在能够在不到 10 分钟的时间内构建和设置一个测试网环境(中继链 + 平行链)。其次,它使我们能够快速招募新工程师(例如前端),他们将从类似产品的环境中受益,从而为更大程度的社区开发参与铺平道路。 本文概述了我们使用 Kubernetes (简称 K8s ) 设置测试网基础设施的历程。我们希望收集的这些见解对希望设置测试网基础架构的其他团队有所帮助。 所用技术概览 K8s - 我们在云上运行它(AWS Fargate),主要是为了方便。不过,您也可以根据本文的介绍来构建自己的 K8s 集群。 terrform - 因为我们喜欢把我们的基础架构作为代码。 GitHub Actions - 用于 CI/CD 。 对于本文中使用的所有相关 yaml 清单和配置文件,请参阅Basilisk 文档。 一切容器化! 就灵活性和可伸缩性而言,没有什么比容器编排系统更好的了。所以我们很自然地选择码头化?我们的节点。这很快引发了对这些容器编排?的讨论。我们讨论比较了 K8s 和 Docker Swarm,并且基于各种原因很快决定使用 K8s 。它在更广泛的技术世界中拥有良好的记录和采用率,也是我们团队选择的技术。此外,就产品而言,K8s 的分布式特性提供了更方便实现的扩展。在 K8s 集群中管理服务和入口控制器也更容易、更直观,特别是在云环境中运行它时。举个例子,能够使用 ALB 控制器公开我们的节点,并通过 Route53 URL 访问它们,这是一个颠覆性的体验! 一堆蛇在容器中冬眠,等待部署 。 专注于构建酷的东西,而不是管理服务器 一旦声明选择 K8s 为编排工具,我们就需要在两种执行模式之间做出决定:要么使用我们自己的 EC2(服务)实例,要么使用托管服务来运行我们的映像并编排 pods(资料库系统规则)。 在某种意义上,这两者是不同的,在使用 EC2 时,您在控制资源方面的灵活性更小;如果您不知道将来需要运行的 pods 的数量,那么您很可能不得不高估实例的容量(CPU / RAM,以及 pods 计数),这可能导致容量浪费和更高的账单。另一个原因是需要管理这些 EC2 实例,这需要时间和资源。 基于这些原因,我们得出结论,使用 Fargate 是一个更好的解决方案,可以处理我们的部署,并能够正确地扩展它们(向上或向下)。有了 Fargate ,您不需要担心实例或服务器,您所要做的(简而言之)就是写您的 K8s 舱单并应用它们,剩下的就交给 AWS了,例如配置服务器、规划 pods 等。 未来的挑战 除了我们必须在 EC2 和 Fargate 实例之间做出选择之外,我们还有一个不太容易处理的问题:即Volumes(卷)。在部署过程中,我们发现必须将配置传递给 Basilisk 命令,但配置不能存储在 config-map 中,因为配置的大小超过 4MB ,而 config-maps 只能存储 1MB。现在的问题是,尽管在使用 EC2 实例时,这在 K8s 中是非常直接的事情(创建一个 Volume ,在其中放置一个文件或文件夹,并从其他 pod 中使用它),但在 Fargate 中却没有那么简单。Fargate 在 2020 年 8 月才开始支持 Volumes ,这意味着该功能仍然有些不成熟。因此,如果您在K8s部署中严重依赖 Volumes ,请考虑这一点。最终,我们可使用这个文档里的 AWS EFS 解决这个问题。 使用的其他技术 最后,我们介绍一下在设置测试网的自动部署时发挥作用的其他技术。 我们的基础设施代码(实际上我们喜欢称之为基础设施配置!)是基于 Terraform 的。例如,我们使用它自动创建 ACM 证书和 Route53 条目,以便在创建自动化后公开节点。 我们的 CI/CD 是基于 Github Actions 。从一开始,这就是 CI/CD 工具,到目前为止,我们还没有发现任何限制,至少就我们的用例而言。 值得一提的是,我们还使用 Terraform 和 Github Actions 实现了构建基础设施的自动化。每次推送到分支都会产生一个专门的服务器来加速构建(内置的 GH 节点对于 Substrate 项目来说非常有限),并改善我们贡献者之间的协作。 关键点 以下是我们从测试网基础设施设置之旅中总结的 3 个关键要点: 考虑可伸缩性和简单性。不要总是做最简单的选择(尽管选择最简单的也是一个好主意)。 首先考虑技术的成熟度,然后再考虑它的特性。您不想在没人能帮您的事情上挣扎吧。 总是专注于选择什么可使您的产品伟大,而不是重新发明轮子(如果您有使用云管理服务的替代选择,并且您负担得起,请这样做。不需要管理自己的服务器,除非真的需要)。 结语 我们希望本文分享的见解,能让您在 Substrate 的 DevOps 之旅中得到启发。 如果您正在构建自己的平行链,我们想邀请您加入我们的测试网派对!这里有足够的空间,XCMP 的乐趣是有保证的。 请加入我们的 ?Hydration Discord? 并与我们联系。Hydration ,一个不断壮大的充满热情的建设者和研究人员社区,他们一起出去玩,做很酷的事情。 翻译:梦溪 HydraDX 社区: 国际:t.me/hydradx 中国:t.me/HydraDX_China Basilisk 社区: 国际:t.me/bsx_fi 中国:t.me/basiliskcn HydraDX & Basilisk 中国社区资讯渠道: 微信公众号:波卡极大主义 腾讯:HydraDX社区(腾讯内容开放平台) 百度:HydraDX社区(百家号) 头条:HydraDX中国社区(头条号) 知乎:HydraDX(账号名) 新浪微博:HydraDX中文社区(微博名) 区块链网络:HydraDX(账号名) 币乎:HydraDX(账号名) 币看:HydraDX中国社区(币看社区账号) 碳链价值:HydraDX中国社区(价值号) —- 编译者/作者:HydraDX中国社区 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
我们测试网部署自动化
2021-08-05 HydraDX中国社区 来源:区块链网络
LOADING...
相关阅读:
- RoxeClub全球支付社区将于8月6日举行成立发布会2021-08-05
- 美国银行领衔参与投资Paxos完成3亿美元D轮融资2021-08-05
- 道富支持的 Securrency 与 GK8 合作进行托管和机构区块链基础设施2021-08-05
- 比特币基础设施法案参与 – 比特币杂志:比特币新闻、文章、图2021-08-05
- DeversiFi 推出快速存款和取款2021-08-04