【问题标题】:How to automate VPS server creation and configuration?如何自动创建和配置 VPS 服务器?
【发布时间】:2016-04-24 22:43:06
【问题描述】:

我遇到了当前托管服务提供商的问题。我有大约 30 台 VPS 服务器,都是在购买后手动配置的。我的计划没有 API 访问权限,很快我将不得不将我的基础架构扩展到数百个无法手动完成的 VPS 服务器(最好是快照?)。

默认的 linux 发行版 (debian) 通过附加软件包(数十个)进行了增强,例如 apache、percona-server、git、qt5-default、proftpd、phantomjs(这是手动编译的)等等。此外,还对配置文件进行了一些手动更改。

我实际上有一个包含所有复制/粘贴操作列表的文本文件,我在购买新服务器后像机器人一样执行。

如何开始自动化这个过程?我将拥有一个包含服务器 IP、SSH 登录名和密码列表的 CSV 或 DB。我应该从远程 SSH 登录开始,然后再执行一个 bash 脚本吗?可以从目标机器上的某个预定义位置下载该文件。

我最大的挑战是自动编辑配置文件,在安装 percona-sql、proftpd 和添加用户名时填写密码查询。此外,使用 apt-get install 时自动选择是。

有这样的框架吗?非常感谢任何帮助。

到目前为止我的计划:

  1. 创建服务器列表(使用 IP、SSH 登录名 + 密码)
  2. 编写一个 bash(或其他语言?)脚本来登录每个服务器
  3. 在远程机器上,下载另一个 bash 脚本并执行它
  4. 后一个脚本安装 apache、percona-sql、proftpd、创建用户、编辑配置文件等。
  5. 退出,进入下一个服务器

第 4 步是我最需要帮助的。

【问题讨论】:

    标签: linux bash ssh installation automation


    【解决方案1】:

    我建议你看看像SaltstackAnsible 这样的配置管理工具。如果您想自动化基础设施,这是要走的路。这需要一些时间来学习,但相信我,他们提供的自动化水平会让您节省更多时间。

    Saltstack 为例,您将有一个salt-master 同时控制多个salt-minions(您的服务器?)。 它有许多模块可以帮助您配置几乎任何您想要的东西。

    因此,只需一个命令,您就可以在所有服务器上执行您想要的操作。您只需在您的服务器上安装一个代理 (salt-minion) 即可控制它们,或者您可以将 Saltstack 与 SSH 结合使用。

    查看文档here

    【讨论】:

      【解决方案2】:

      您绝对不想手动进行所有这些配置,您想花一些时间了解的是 DevOps

      DevOps 的基础是技术基础架构的所有元素都可以通过代码进行控制。随着云的兴起,这一切都可以通过网络服务实时完成。基础架构自动化解决了必须亲自到数据中心才能配置硬件和进行网络更改的问题

      如果您查看配置管理部分,您会发现有许多不同的工具/框架可以自动化您的基础架构。

      Chef 很受欢迎。 DZone 有一个很棒的refcard on Chef,它提供了一个完整的概述基础知识,以帮助您入门。厨师网站本身也有一些很棒的tutorials

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-10
        • 2017-04-16
        • 1970-01-01
        • 2012-04-28
        相关资源
        最近更新 更多