Ansible的概述和安装
Posted 向阳-Y.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible的概述和安装相关的知识,希望对你有一定的参考价值。
Ansible的概述
什么是ansible自动化
Ansible is Simple IT Automation 简单的自动化IT 工具
Ansible是第一种可以跨IT读写的自动化语言。
它也是唯一能够从开始到结束自动化应用程序生命周期和连续交付管道的自动化引擎。
Ansible是一个开源自动化运维平台,可以在Ansibleplaybook中在完美描述IT应用架构的简单的自动化语言。
Ansible可以管理强大的自动化任务,并且可以适应许多不同的工作流和环境。
同时,Ansible的新使用者可以非常快速的使用它并将
其带入生产环境。
Ansible的安装
1.配置yum网络源
配置方法URL
2.安装并部署ansible
yum install -y ansible #安装ansible
ssh公钥认证
不使用免密登录
首先创建三台虚拟机,在三台虚拟机中都创建student用户
并且在/etc/hosts/
中添加三条对应解析
在第一台linux中登录student
mkdir ansible
cd ansible
vim inventory #创建一个主机清单文件
文件内写入如下配置,其中[dev]为定义了一个组、[dev:vars]表示定义了一个组变量,
--->inventory文件内置变量请点我<---
定义ansible.cfg文件
vim ansible.cfg
使用ansible --version中可以查看定义ansible.cfg样本
定义内容如下:(/ansible/roles文件自己mkdir一下
)
这时在ansible目录下执行ansible all -m ping
(在当前目录下执行ping模块)
发现不能ping通,因为sshpass只允许秘钥而不是密码的验证
使用免密登录
步骤和前面的一样,只是并且三台主机不用配置相同用户名和密码了,并且
inventory
文件中不需要设置组变量了,
生成公钥和私钥文件
ssh-keygen
将公钥发到受管的主机上
ssh-copy-id student@redhat #这里只能用redhat而不能用IP地址
ssh-copy-id student@redhat_s
ssh-copy-id student@redhat_sc
最后再到ansible文件下使用ansible all -m ping
命令就可以通了.
但是在此时,由于使用的是普通用户student登录。ping通也只是通了student,面对一些操作可能会权限不足。
此时vim /ansible/ansible.cfg
添加提权文件(记不住提权命令可以在/etc/ansible/ansible.cfg
的文件中拿来借鉴配置)
并且分别登录到三台虚拟机的root用户vim /etc/sudoers,添加成无需密码
回来测试ansible all -m ping,成功!
补充:
可以使用ansible all -m shell -a "此处添加要执行的命令"进行集体控制
例如:ansible all -m shell -a “systemctl stop firewalld.service”
以上是关于Ansible的概述和安装的主要内容,如果未能解决你的问题,请参考以下文章