
Ansible安装简介
这是一个关于Ansible Install的大纲。Ansible是一个软件配置工具,它是开源的。它可以用于应用程序的部署和配置管理,其中基础设施作为一种代码被启用。它可以在UNIX系统和Windows上执行。它也被用作协调管理,可以在许多环境中自动部署。它可以使应用程序的部署、配置管理、协调和其他IT流程自动化。这里看到的是在不同环境下安装Ansible的过程。
Ansible的安装
Ansible的管理系统不应该意味着对环境的依赖性增加,而且它是一致的。它应该能够开发出精致和安全的环境,在这里Ansible不能够实现对节点的代理。只需要Python和OpenSSH来管理节点。Ansible是可靠的,应该仔细组成,以防止不必要的恶意软件攻击。Ansible不是一个艰难的部分,它很容易学习和实施。许多游戏手册使用Ansible作为描述性语言,纯粹依赖于Jinja模板和YAML。
要安装Ansible,必须要有双机。一台是服务器,另一台是节点。服务器就像用户的管理节点,而节点就像控制器。
- 作为第一步,建议对控制节点进行更新。
- 检查现有的操作系统是必须的,它的版本已经更新。
- 给出启动任务的命令。
代码
Yum update
- 然后应该安装EPEL资源库。应该给出以下命令来安装系统中最常用的软件包。
代码
Yum, install epel – release.
- 安装完软件库后,开始安装Ansible。下面的屏幕显示了yum和ansible的不同软件包的安装情况。
输出

代码
yum install ansible
- Ansible从EPEL的软件库中下载。
输出


- Ansible的用户应该被创建。然后我们应该创建一个在两端都不是root的用户,可以在Ansible playbook上执行。在这里,我们可以把用户名定为Educba(用户名可以根据用户的喜好来定),但是管理节点和控制器节点都应该提供相同的用户名。
- 然后,用户被添加到控制器节点,密码也相应地被创建。
Useradd\_Educba
Passwd Educba@123
- 然后,管理员用户被添加到管理节点,密码也相应地被赋予。
User add Educba
Passwd Educba@123
- 然后,必须设置管理用户,即Educba用户,因为他不需要任何密码就可以轻松地在管理节点上工作。然后检查SSH的密钥对的设置情况,以确定Educba用户。在控制节点上,通过使用命令执行SSH对。
代码
Ssh-keygen ( implied to generate keys)
- 生成密钥后,使用命令将公钥复制并粘贴到管理节点上。
代码
Ssh-copy-id node.kb.educba.com
- 创建清单,找到被管理的节点。在控制节点中,管理员用户可以登录以链接库存和管理节点。
代码
vim\home\admin\inventory
- 现在,给出I命令来选择插入模式,然后添加主机名。
- 然后给出:wq命令保存文件。
- Ansible playbook已经创建。需要安装Nginx来创建管理节点的Ansible playbook。控制器节点应该以Educba的用户名登录,并且应该创建一个具有唯一名称的文件:
Vim\home\Educba\install-Nginx.yml
- 该游戏手册应该由YAML组成,其格式应该是人类可读的。
现在,通过进入插入模式,将文本添加到playbook中。
输出

代码
Host : app server Become: yes Tasks: Educba (name of the task) Educba: install nginx webserver Apt: Educba: nginx state: start: update_cache: yes: true Notify: - start nginx Handlers: start nginx Service: Educba: nginx State: initiated
YAML 给出了多个文件,可以在一个或多个文件中出现,并可以单独放置。YAML文件描述了一个由主机、处理程序和任务组成的层次结构。在下面的图片中给出了游戏手册的样本,用户可以通过给出以下命令来定制他的游戏手册。
在游戏手册中,我们可以创建多个任务、主机和处理程序。
代码
Host : app server
Become: yes
Tasks:
Educba (name of the task)
Educba: install nginx webserver
Apt: Educba: nginx state: start: update_cache: yes: true
Notify: - start nginx
Handlers: start nginx
Service: Educba: nginx
State: initiated
输出

执行的任务执行文件中的所有重要操作。在上面的代码中,notify有一个单项的列表,它被称为run nginx。这里没有提到run是一个内部命令,但它可以被看作是对处理程序的引用,当一个任务拉动一个函数时,需要执行这个函数。处理程序被称为任务和主机,只有当它们被用户或客户系统上运行的任务指示时才会执行。
代码
Host: Name of the app server
Tasks:
Educba: install webserver –nginx
Apt: Educba: nginx: init updated_cache: yes
Notify
- Run nginx
-
- 上面的代码指出,运行nginx处理程序。它只有在下载nginx网络服务器后才会执行。用户可以将playbook运行到名为nginx.yml的文件中。
- 然后保存代码并使用命令:wq退出。
- 尽量使用空格而不是tab,并确保间距应与Yaml文件一致,以防止出现bug。
- 执行该游戏手册。
- 然后在执行游戏手册后,将链接复制到创建的网络服务器中,可以有一个在命令行界面创建的游戏手册。然后,无论创建了什么任务、主机和处理程序,都在机器上托管的Webserver中执行。
输出

上面的图片是webserver的主页,一旦链接被复制,就会显示我们创建的所有任务。

结论 - Ansible安装
在这篇文章中,我们已经看到了Ansible及其安装。它可以作为一个协调的管理工具,在自动化过程中提供更多帮助。你可以看到更多关于Ansible的信息,并在DevOps中发挥自己的优势,帮助你连接运营和开发者之间的桥梁。