ansible 新手上路

远程连接概述:

在我们开始前要先理解Ansible是如何通过SSH与远程服务器连接是很重要的:

你第一条命令:

现在你已经按照了Ansible,是时候从一些基本知识开始了,编辑(或创建)/etc/ansible/hosts并在其中

加入一个或多个远程系统,你的public SSH Key 必须在这些系统的``authorized_keys``中:

[root@node01 ansible]# cat /etc/ansible/hosts 
192.168.137.3


[root@node01 ansible]# ansible all -m ping
192.168.137.3 | SUCCESS => {
    "changed": false, 
    "failed": false, 
    "ping": "pong"
}
[root@node01 ansible]# 

!检测机器是否可登录,ping模块不需要传送参数
!注:这里的ping模块并非调用了系统的ping命令,而是类似于登录到远程机器再echo出一个信息。


 -m MODULE_NAME, --module-name=MODULE_NAME


[root@node01 ansible]# ansible 192.168.137.3 -m ping
192.168.137.3 | SUCCESS => {
    "changed": false, 
    "failed": false, 
    "ping": "pong"
}


在192.168.137.3 会输出信息:
Oct  4 20:15:19 node2 ansible-ping: Invoked with data=pong



Options:
  -a MODULE_ARGS, --args=MODULE_ARGS
                        module arguments



[root@node01 ansible]# ansible 192.168.137.3 -a "df -h"
192.168.137.3 | SUCCESS | rc=0 >>
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        19G   13G  5.3G  71% /
tmpfs           497M     0  497M   0% /dev/shm
/dev/sda1       194M   29M  155M  16% /boot


公钥认证:

Ansible1.2.1及其之后的版本都会默认启用公钥认证:

[root@node01 ansible]# ansible all -m ping
192.168.137.1 | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: ", 
    "unreachable": true
}
192.168.137.3 | SUCCESS => {
    "changed": false, 
    "failed": false, 
    "ping": "pong"
}
115.236.19.4 | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: ssh: connect to host 115.236.19.4 port 22: Connection timed out
", 
    "unreachable": true
}

原文地址:https://www.cnblogs.com/hzcya1995/p/13349494.html