Ansible基础

Posted 5444de

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible基础相关的知识,希望对你有一定的参考价值。

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:后面写要传给对方的文件的路径

 

以上是关于Ansible基础的主要内容,如果未能解决你的问题,请参考以下文章

[vscode]--HTML代码片段(基础版,reactvuejquery)

基础Ansible 自动化运维工具简单入门

Ansible 时间同步全自动化实现

Ansible基础使用

Ansible基础知识

使用 Testinfra 和 Ansible 验证服务器状态 | Linux 中国