加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

如何使用Ansible管理你的工作站配置

发布时间:2019-07-17 20:16:03 所属栏目:Windows 来源:Jay Lacroi
导读:副标题#e# 在这个系列的第一篇中,学习一下管理笔记本电脑和台式机配置的基础内容。 配置管理是服务器管理和 DevOps 的一个非常重要的方面。 基础架构即代码 infrastructure as code 方法可以轻松地以各种配置部署服务器,并动态扩展组织的资源以满足用户需

接下来,让我们将新文件提交到我们的仓库:

  1. git add local.yml
  2. git commit -m "initial commit"
  3. git push origin master

现在我们的新剧本应该出现在我们的 GitHub 上的仓库中。我们可以使用以下命令应用我们创建的剧本:

  1. sudo ansible-pull -U https://github.com/<your_user_name>/ansible.git

如果执行正确,htop包应该会安装在你的系统上。你可能会在开头附近看到一些警告,抱怨缺少库存清单文件。这很好,因为我们没有使用库存清单文件(我们也不需要这样做)。在输出结束时,它将概述它做的内容。如果 htop 安装正确,你应该在输出的最后一行看到 changed = 1

它是如何工作的呢?ansible-pull 命令使用了 -U 选项,它需要一个仓库 URL。出于安全考虑,我给它提供了仓库 URL 的 https 版本,因为我不希望任何主机对仓库具有写访问权限(默认情况下 https 是只读的)。local.yml 是预设的剧本名称,因此我们不需要为剧本提供文件名:如果它在仓库的根目录中找到名为 local.yml 的剧本,它将自动运行它。接下来,我们在命令前面使用了 sudo,因为我们正在修改系统。

让我们继续为我们的剧本添加更多的包。我将添加两个包,使它看起来像这样:

  1. - hosts: localhost
  2.   become: true
  3.   tasks:
  4.   - name: Install htop
  5.     apt: name=htop
  6.  
  7.   - name: Install mc
  8.     apt: name=mc
  9.    
  10.   - name: Install tmux
  11.     apt: name=tmux

我添加了更多的动作(任务)来安装另外两个包,mctmux。在此剧本中选择安装的哪些软件包并不重要;我只是随意挑选这些。你应该安装你希望所有的系统都具有的软件包。唯一需要注意的是,在你分发前,你必须知道那个包存在于软件仓库中。

在我们提交并应用这个更新的剧本之前,我们应该整理一下它。它可以很好地工作,但(说实话)它看起来有点混乱。让我们尝试在一个动作中安装所有三个包。用下面这个替换你的 local.yml 的内容:

  1. - hosts: localhost
  2.   become: true
  3.   tasks:
  4.   - name: Install packages
  5.     apt: name={{item}}
  6.     with_items:
  7.       - htop
  8.       - mc
  9.       - tmux

现在看起来更干净、更有效率了。我们使用 with_items 将我们的包列表合并为一个动作。如果我们想要添加其他包,我们只需添加另一个带有连字符和包名称的行。可以把 with_items 看做类似于 for 循环。我们列出的每个包都将安装。

将我们的新更改提交回仓库:

  1. git add local.yml
  2. git commit -m "added additional packages, cleaned up formatting"
  3. git push origin master

现在我们可以运行我们的剧本以接受新的新配置:

  1. sudo ansible-pull -U https://github.com/<your_user_name>/ansible.git

不可否认,这个例子还没有做多少事情;它所做的就是安装一些软件包。你可以使用包管理器更快地安装这些包。然而,随着这个系列的继续,这些例子将变得更加复杂,我们将自动化更多的东西。最后,你创建的 Ansible 配置将自动执行越来越多的任务。例如,我自己使用的那个配置可以自动安装数百个软件包、设置cron 作业、处理桌面配置等等。

从我们迄今为止所取得的成就来看,你可能已经有了大概了解。我们所要做的就是创建一个仓库,在该仓库中放置一个剧本,然后利用 ansible-pull 命令拉取该仓库并将其应用到我们的机器上。我们不需要设置服务器。将来,如果我们想要更改配置,我们可以拉取该仓库、更新它,然后将其推回到我们的仓库并应用它。如果我们要设置新机器,我们只需要安装 Ansible 并应用配置。

在下一篇文章中,我们将通过 cron 和一些其他项目进一步自动化。与此同时,我已将本文的代码复制到 我的 GitHub 仓库 中,以便你可以用你的语法对比一下我的。随着我们的进展,我会不断更新代码。

【编辑推荐】

  1. 使用ARA分析Ansible运行
  2. 如何用Ansible实现网络自动化
  3. 开源工具 | Ansible入门秘诀
  4. 使用Testinfra和Ansible验证服务器状态
  5. 在Fedora中获取最新的Ansible 2.8
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!