Ansible基础

不羁岁月 提交于 2020-03-09 13:15:33

Ansible是什麽?

简要来说,是一款自动化运维工具。假如有一百台服务器安装nginx,一台一台装累死,这里就可以用ansible批量安装部署,你想删除你们公司所有Linux服务器的 / ,建议用Ansible,批量删除,从运维小白到监狱风云,一步之遥,就用Ansible。

配置文件hosts

server:192.168.28.31

ansible最简单的使用是在Linux命令行中使用,我要测试ansible与被管理的客户端联通性:

[root@localhost ansible]# ansible webs -m ping 
192.168.28.30 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

 如果出现绿绿的就代表服务端和客户端可以联通并且模块命令正常执行,但是如果是最下面红色的,就表示没有连接通,并且报错。

 

 

 在上面这个例子我用的最简单的模块ping,但在使用模块执行命令的时候也是需要配置ansible的一个文件的。

 

 

 上图,文件名为hosts,位置/etc/ansible/hosts(二进制安装)

ansible只能管理那些它明确了解的服务器,你只需要在Inventory文件中指定服务器的信息就可以将这些信息提供给ansible。
 vim /etc/ansible/hosts
[webs]                                #组名webs,可以将你要管理的服务器写在下面
192.168.0.101      #组中的一台主机
192.168.28.30      

可以分很多组来管理
============================================
也可以这样写配置:192.168.28.30   ansible_ssh_user=root ansible_ssh_pass=woshuai
解释  
#ansible_ssh_user=root 是ssh登陆用户  
#ansible_ssh_pass=redhat 是ssh登陆密码
这两个可以不写在配置文件中,默认就是使用root执行,可以通过-k选项指定提示输入密码,下面有例子
注:除了账号密码之外,可以使用sshkey的方式免密码执行操作。

使用sshkey的方式免密码执行

 ]# ssh-copy-id -i .ssh/id_rsa.pub 192.168.28.30
root@172.16.254.200's password:
-i:后面写要传给对方的文件的路径

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!