ansible - 在 Linux Centos 6 中使用 Ansible 或 Terraform 提供服务
问题描述
好吧,我有一个带有 Intranet 基础设施的客户端,无法通过 Internet 或 VPN 访问,因此我需要通过 TeamViewer 访问。
这个客户端给了我 10 个虚拟机(Linux Centos 6)来工作(不能创建其他虚拟机或破坏它)。所以我需要准备这个基础设施来运行我的 CI/CD 并交付软件,然后我需要在我的软件部署之前运行这些服务:
- 码头工人
- 蒙哥数据库
- Postgres
- Nginx
- 詹金斯
我正在考虑两种解决方案:
- TerraformCLI(记住我需要通过 Teamviewer 访问客户端并运行
terraform apply
) - Ansible(在这里我可以列出 10 台机器并与 1 个 playbook 一起执行)。
我听说Terraform更多的是用于配置服务器(VM、EC2 ...)、VPC、子网、LoadBalancers,但Ansible更多的是关于以更精细的方式配置每台机器。如果这是正确的,我认为 Ansible 对我来说是正确的选择。
有什么建议吗?
解决方案
是的。
Terraform 从头开始配置您的环境。它是一个基础设施即代码工具。
Ansible 配置您的环境。它是一个配置管理工具。
通常,人们将两者结合起来。首先使用 Terraoform 配置网络堆栈和服务器,然后使用 Ansible 配置服务器内的应用程序。
您已经拥有虚拟机,因此选择配置管理工具(Chef、Ansible、Puppet、Salt Stack)更适合您的用例。
推荐阅读
- node.js - 加入 mongo 中的查询以包括主要集合的所有字段和其他集合的选定字段
- netlogo - 生成随机大小和位置的河流
- python - VSC - conda 在 GitBash 中运行良好,而不是在集成的 VSC bash 中
- windows - 如何将 .txt 中的某些内容排除在 For 中?
- python - 删除多列数据框
- rust - 如何概括传递给具有不同类型键的函数的 HashMap?
- android - Firebase RecyclerView 数据检索错误
- javascript - 动态添加的生动图标的问题
- python - 重命名python中的子目录
- shell - 为什么子shell中的$$等于父shell中的$$?