阅读视图

发现新文章,点击刷新页面。

AWS ECS使用EBS作为Volume

  在 基于Terraform在AWS ECS中构建Jenkins持续集成体系 一文中, Alliot 采用了 EFS 作为 Jenkins 容器的数据卷,直接挂载了 /var/jenkins_home 目录。
正如评论区提到的, 我们在使用 bursting 模式的 EFS 时,遇到了 IO 性能的问题, 虽然 master + slave 架构的 Jenkins 将构建任务分发到了 slave 节点,减少了 master 节点的压力,但是在启动构建任务时, master 节点依然会有大量的 IO 操作, 这个时候会导致 bursting 模式下的 EFS 瞬间打光 Credit 从而导致整个 master 挂掉。当然,我们可以使用 Provisoning 模式缓解性能问题,但其价格又非常贵,性价比不高。
  好在从今年(2024)的一月开始, AWS ECS 的 Fargate 支持使用 EBS 卷作为 Volume 了。 目前官网的文档还比较分散,这里小记一些需要注意的点。

基于Terraform在AWS ECS中构建Jenkins持续集成体系

  之前我们旧的 Jenkins 集群跑在 AWS EC2 上,近期由于大量新增 Job 以及大量构建任务的并行,导致集群资源吃紧,不得不新增更多的 Slave 来应对。为了降低成本,同时获得更好的资源弹性,Alliot 打算基于 Terraform 在 AWS ECS 中构建新的 Jenkins 持续集成体系。容器提供了更细的资源粒度,拥有更好的资源弹性和资源利用率。

Terraform启用provider缓存

  我们在开始一个 Terraform 工程项目的时候,首先要做的就是 terraform init, 这个动作会在当前工作目录下创建 .terraform 目录,并联网下载项目所需要的 provider 到该目录下。 即便是多个项目使用的是同样的 provider,但每个工程项目仍然都有自己单独的 .terraform, 这不仅仅会浪费磁盘空间,还会花费很多不必要的时间去等待联网下载 provider,好在 Terraform 官方为我们提供了缓存目录。

AWS ECS使用EBS作为Volume

  在 基于Terraform在AWS ECS中构建Jenkins持续集成体系 一文中, Alliot 采用了 EFS 作为 Jenkins 容器的数据卷,直接挂载了 /var/jenkins_home 目录。
正如评论区提到的, 我们在使用 bursting 模式的 EFS 时,遇到了 IO 性能的问题, 虽然 master + slave 架构的 Jenkins 将构建任务分发到了 slave 节点,减少了 master 节点的压力,但是在启动构建任务时, master 节点依然会有大量的 IO 操作, 这个时候会导致 bursting 模式下的 EFS 瞬间打光 Credit 从而导致整个 master 挂掉。当然,我们可以使用 Provisoning 模式缓解性能问题,但其价格又非常贵,性价比不高。
  好在从今年(2024)的一月开始, AWS ECS 的 Fargate 支持使用 EBS 卷作为 Volume 了。 目前官网的文档还比较分散,这里小记一些需要注意的点。

基于Terraform在AWS ECS中构建Jenkins持续集成体系

  之前我们旧的 Jenkins 集群跑在 AWS EC2 上,近期由于大量新增 Job 以及大量构建任务的并行,导致集群资源吃紧,不得不新增更多的 Slave 来应对。为了降低成本,同时获得更好的资源弹性,Alliot 打算基于 Terraform 在 AWS ECS 中构建新的 Jenkins 持续集成体系。容器提供了更细的资源粒度,拥有更好的资源弹性和资源利用率。

Terraform启用provider缓存

  我们在开始一个 Terraform 工程项目的时候,首先要做的就是 terraform init, 这个动作会在当前工作目录下创建 .terraform 目录,并联网下载项目所需要的 provider 到该目录下。 即便是多个项目使用的是同样的 provider,但每个工程项目仍然都有自己单独的 .terraform, 这不仅仅会浪费磁盘空间,还会花费很多不必要的时间去等待联网下载 provider,好在 Terraform 官方为我们提供了缓存目录。

asdf管理多版本Terraform

  asdf-vm 是一个管理多版本运行环境的 CLI 工具,有点类似多 nodejs 版本管理工具 n,相比其他类型的工具,asdf-vm 以插件形式支持了众多的语言与开发工具,支持全局配置,同时也支持通过 .tool-versions 配置文件以项目维度来管理工具版本(类似前端项目下的 packages.json)。我们在使用 Terraform 的过程中,也经常遇到要切换不同 terraform 版本的情况,asdf-vm 就能够满足我们的需求。

使用Terraformer导出AWS上现有资源

  众所周知,通常情况下 Terraform 仅能编排通过它创建的资源, 那么怎样批量纳管现网非Terraform编排的资源呢?Terraformer 等工具就是来做这个事的。 Terraformer 是一个将现有的基础设施导出生成 Terraform file(.tf 以及 .tfstate) 的命令行工具,与 Terraform 刚好相反(Terraform: code -> infra, Terraformer: infra -> code)。

Terraform初探:创建s3 bucket

  近期开始做 IaC(Infrastructure as Code)相关的工作,期间会用 Terraform 比较多,因此会有一些与之相关的笔记记录。本文是小试牛刀利用 Terraform 来创建一个 AWS S3 bucket 体验 Terraform。

❌