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

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

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

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

在这个系列的第一篇中,学习一下管理笔记本电脑和台式机配置的基础内容。

配置管理是服务器管理和 DevOps 的一个非常重要的方面。“基础架构即代码infrastructure as code”方法可以轻松地以各种配置部署服务器,并动态扩展组织的资源以满足用户需求。但是,对于希望自动设置自己的笔记本电脑和台式机(工作站)的个人管理员的关注较少。

在本系列中,我将向你展示如何通过 Ansible 自动化你的工作站设置,如果你想要或需要重新安装你的机器,这可以让你轻松恢复整个配置。此外,如果你有多个工作站,则可以使用相同的方法在每个工作站上进行相同的配置。在第一篇文章中,我们将为个人或工作计算机设置基本的配置管理,并为本系列的其余部分奠定基础。到本文结束时,你将会因此得到一个可以工作的环境。本系列之后的每篇文章都会自动化更多内容并增加复杂性。

为什么用 Ansible?

有许多配置管理解决方案,包括 Salt Stack、Chef 和 Puppet。我更喜欢 Ansible,因为它在资源利用方面更轻量级,语法更容易阅读,并且如果正确使用它可以彻底改变你的配置管理。Ansible 的轻量级特性与这个主题特别相关,因为我们可能不希望运行一整台服务器而只是为了自动化我们的笔记本电脑和台式机的设置。一般我们总是想要快一些;我们可以使用某些东西来快速启动和运行,以在我们需要恢复的工作站或在多台机器之间同步我们的配置。我使用 Ansible 的具体方法(我将在本文中演示)非常适用于此,而不需要维护服务器。你只需下载配置并运行它。

我的方法

通常,Ansible 运行于中央服务器。它使用一个库存清单inventory文件,该文件是一个文本文件,其中包含我们希望 Ansible 管理的所有主机及其 IP 地址或域名的列表。这对于静态环境非常有用,但对于工作站来说并不理想。原因是我们真的不知道我们的工作站在某一时刻的状态。也许我关闭了台式电脑,或者笔记本电脑可能会被挂起并放在我的包里。在任何一种情况下,Ansible 服务器都会抱怨,因为如果它们处于脱机状态,Ansible 就无法联系到我的机器。我们更需要的是按需方式,我们通过利用 ansible-pull 来实现这一目标。ansible-pull 命令是 Ansible 的一个命令,允许你从 Git 仓库下载配置并立即应用它。你不需要维护服务器或库存清单;你只需运行 ansible-pull 命令,给它一个 Git 仓库 URL,它将为你完成剩下的工作。

起步

首先,在要管理的计算机上安装 Ansible。有一个问题是许多发行版都附带了旧版本的 Ansible。根据经验,你肯定希望获得最新版本。Ansible 中经常引入新功能,如果你运行的是旧版本,则你在网上找到的示例语法可能无法正常运行,因为它使用的功能未在你安装的版本中实现。甚至发布的小版本都有很多新功能。其中一个例子是 dconf 模块,它是从 Ansible 2.4 开始的新功能。如果你尝试使用使用此模块的语法,除非你使用 2.4 或更新版本,否则会失败。在 Ubuntu 及其衍生产品中,我们可以使用官方个人包存档(PPA)轻松安装最新版本的 Ansible。以下命令可以解决这个问题:

  1. sudo apt-get install software-properties-common
  2. sudo apt-add-repository ppa:ansible/ansible
  3. sudo apt-get update
  4. sudo apt-get install ansible

如果你没有使用 Ubuntu,请参阅 Ansible 的文档 了解如何为你的平台获取它。

接下来,我们需要一个 Git 仓库来保存我们的配置。满足此要求的最简单方法是在 GitHub 上创建一个空的仓库,或者如果有的话,也可以使用自己的 Git 服务器。为了简单起见,我假设你正在使用 GitHub,因此如果你正在使用其他仓库,请相应调整命令。在 GitHub 中创建一个仓库;你最终会得到一个与此类似的仓库 URL:

  1. git@github.com:<your_user_name>/ansible.git

将该仓库克隆到你的本地工作目录(忽略任何抱怨仓库为空的消息):

  1. git clone git@github.com:<your_user_name>/ansible.git

现在我们有了一个可以使用的空仓库。将你的工作目录切换到仓库(例如 cd ./ansible),并在你喜欢的文本编辑器中创建名为 local.yml 的文件。将以下配置放在该文件中:

  1. - hosts: localhost
  2.   become: true
  3.   tasks:
  4.   - name: Install htop
  5.     apt: name=htop

你刚刚创建的文件被称为剧本playbook,安装 htop 的指令(我任意选择的一个包作为例子)被称为动作play。剧本本身是一个 YAML 格式的文件,它是一种易于阅读的标记语言。对 YAML 的完整讲述超出了本文的范围,但你无需专业理解即可熟练使用 Ansible。该配置易于阅读;只需查看此文件,你就可以轻松理解我们正在安装的 htop 软件包。要注意一下最后一行的 apt 模块,它只适用于基于 Debian 的系统。如果你使用的是 Red Hat 平台,你可以将其更改为 yum 而不是 apt,或者如果你正在使用 Fedora,则将其更改为 dnfname 行只是提供有关我们任务的信息,并将显示在输出中。因此,你需要确保名称具有描述性,以便在需要对多个动作进行故障排除时很容易找到。

(编辑:宜春站长网)

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

热点阅读