首页 > 解决方案 > 在 Linux Centos 6 中使用 Ansible 或 Terraform 提供服务

问题描述

好吧,我有一个带有 Intranet 基础设施的客户端,无法通过 Internet 或 VPN 访问,因此我需要通过 TeamViewer 访问。

这个客户端给了我 10 个虚拟机(Linux Centos 6)来工作(不能创建其他虚拟机或破坏它)。所以我需要准备这个基础设施来运行我的 CI/CD 并交付软件,然后我需要在我的软件部署之前运行这些服务:

  1. 码头工人
  2. 蒙哥数据库
  3. Postgres
  4. Nginx
  5. 詹金斯

我正在考虑两种解决方案:

  1. TerraformCLI(记住我需要通过 Teamviewer 访问客户端并运行terraform apply
  2. Ansible(在这里我可以列出 10 台机器并与 1 个 playbook 一起执行)。

我听说Terraform更多的是用于配置服务器(VM、EC2 ...)、VPC、子网、LoadBalancers,但Ansible更多的是关于以更精细的方式配置每台机器。如果这是正确的,我认为 Ansible 对我来说是正确的选择。

有什么建议吗?

标签: ansibleterraforminfrastructure-as-code

解决方案


是的。

Terraform 从头开始​​配置您的环境。它是一个基础设施即代码工具。

Ansible 配置您的环境。它是一个配置管理工具。

通常,人们将两者结合起来。首先使用 Terraoform 配置网络堆栈和服务器,然后使用 Ansible 配置服务器内的应用程序。

您已经拥有虚拟机,因此选择配置管理工具(Chef、Ansible、Puppet、Salt Stack)更适合您的用例。


推荐阅读