iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么使用Ansible管理工作站配置
  • 108
分享到

怎么使用Ansible管理工作站配置

2023-06-16 06:06:07 108人浏览 八月长安
摘要

这篇文章给大家分享的是有关怎么使用Ansible管理工作站配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。配置管理是服务器管理和 devops 的一个非常重要的方面。“基础架构即代码infrastructure

这篇文章给大家分享的是有关怎么使用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。以下命令可以解决这个问题:

sudo apt-get install software-properties-commonsudo apt-add-repository ppa:ansible/ansiblesudo apt-get updatesudo apt-get install ansible

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

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

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

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

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

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

- hosts: localhost  become: true  tasks:  - name: Install htop    apt: name=htop

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

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

git add local.ymlgit commit -m "initial commit"git push origin master

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

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,因为我们正在修改系统。

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

- hosts: localhost  become: true  tasks:  - name: Install htop    apt: name=htop   - name: Install mc    apt: name=mc     - name: Install tmux    apt: name=tmux

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

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

- hosts: localhost  become: true  tasks:  - name: Install packages    apt: name={{item}}    with_items:      - htop      - mc      - tmux

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

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

git add local.ymlgit commit -m "added additional packages, cleaned up fORMatting"git push origin master

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

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

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

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

感谢各位的阅读!关于“怎么使用Ansible管理工作站配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 怎么使用Ansible管理工作站配置

本文链接: https://www.lsjlt.com/news/282673.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用Ansible管理工作站配置
    这篇文章给大家分享的是有关怎么使用Ansible管理工作站配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。配置管理是服务器管理和 DevOps 的一个非常重要的方面。“基础架构即代码infrastructure...
    99+
    2023-06-16
  • SaltStack与Ansible的对决:比较两款热门配置管理工具
    SaltStack 和 Ansible 都是开源的配置管理工具,具有强大的功能和广泛的支持。它们都能够自动化和管理 IT 基础设施,包括服务器、网络设备、容器和应用程序。但是,它们也有自己的优缺点。 SaltStack SaltStac...
    99+
    2024-02-08
    SaltStack Ansible 配置管理 自动化 IT 基础设施
  • ansible管理工具的环境怎么部署安装
    本文小编为大家详细介绍“ansible管理工具的环境怎么部署安装”,内容详细,步骤清晰,细节处理妥当,希望这篇“ansible管理工具的环境怎么部署安装”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。环境准备:管理...
    99+
    2023-06-29
  • Bing网站管理员工具怎么用
    这篇文章给大家分享的是有关Bing网站管理员工具怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、验证过程要使用Bing网站管理员工具,首先需要验证你拥有网站管理权限。有两个验证方法,按照Bing要求在网站...
    99+
    2023-06-13
  • activity怎么配置工作流
    要配置一个工作流,你可以按照以下步骤进行操作:1. 确定流程:确定工作流的整体流程,包括需要完成的任务、任务之间的关系和依赖关系。2...
    99+
    2023-09-15
    activity
  • linux管理工具怎么使用
    本篇内容主要讲解“linux管理工具怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux管理工具怎么使用”吧!linux管理工具有:1、htop,一款监控与进程管理软件;2、dsta...
    99+
    2023-06-30
  • 【服务器管理】Ubuntu20.04安装包管理工具module配置并且使用
    【服务器管理】Ubuntu20.04安装包管理工具module并且使用 什么Module安装Module配置Module使用Module 什么Module module是一个专门管理环境变...
    99+
    2023-09-05
    服务器 linux module Modulefile Ubuntu20.04
  • 怎么用Ansible自动化管理Ubuntu服务器
    使用Ansible自动化管理Ubuntu服务器的步骤如下: 安装Ansible:在控制节点上安装Ansible,并确保能够连接到...
    99+
    2024-04-28
    Ubuntu Ansible
  • Nginx工作模式及代理配置的使用细节
    目录一、Nginx 的工作模式1.单进程模式2.Master-Worker 模式3.问题处理二、Nginx 代理配置1.带 /2.不带 /一、Nginx 的工作模式 1.单进程模式 ...
    99+
    2024-04-02
  • Node.js包管理工具怎么使用
    这篇文章主要介绍“Node.js包管理工具怎么使用”,在日常操作中,相信很多人在Node.js包管理工具怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node.js包管理工具怎么使用”的疑惑有所帮助!...
    99+
    2023-07-06
  • Ubuntu Grub配置图形化管理工具有什么用
    这篇文章主要介绍Ubuntu Grub配置图形化管理工具有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!GNU Grub(简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。Grub是多启动规范的实现,...
    99+
    2023-06-16
  • 怎么配置Java的工作环境
    这篇文章主要介绍“怎么配置Java的工作环境”,在日常操作中,相信很多人在怎么配置Java的工作环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么配置Java的工作环境”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-03
  • python工作任务流怎么配置
    在Python中,我们可以使用多种库和框架来配置和管理工作任务流。以下是一些常用的方法: 使用celery库:celery是一个...
    99+
    2024-02-29
    python
  • Python包管理工具pip怎么使用
    这篇“Python包管理工具pip怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python包管理工具pip怎么使用...
    99+
    2023-06-30
  • python进程管理工具怎么使用
    Python进程管理工具可以通过多种方式使用,以下是一些常见的用法示例:1. 使用`os`模块创建新的进程:```pythonimp...
    99+
    2023-10-12
    python
  • 如何使用GTWS管理Git工作空间
    这篇文章主要讲解了“如何使用GTWS管理Git工作空间”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用GTWS管理Git工作空间”吧!Great Teeming Workspaces(...
    99+
    2023-06-16
  • Linux怎么配置管理系统
    Linux系统的配置管理可以通过修改配置文件来实现。下面是一些常见的配置文件和配置管理方法:1. /etc目录下的配置文件:Linu...
    99+
    2023-10-12
    Linux
  • jspXCMS组织管理怎么配置
    今天小编给大家分享一下jspXCMS组织管理怎么配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。组织类似于公司的部门,比如...
    99+
    2023-06-26
  • Ubuntu怎么配置phpMyAdmin管理MySQL
    这篇文章主要介绍“Ubuntu怎么配置phpMyAdmin管理MySQL”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Ubuntu怎么配置phpMyAdmin管理MySQL”文章能帮助大家解决问题。...
    99+
    2023-07-04
  • MySQL日志管理怎么配置
    这篇“MySQL日志管理怎么配置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL日...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作