1. 程式人生 > >ansible之service和server模塊

ansible之service和server模塊

ansible模塊介紹

service模塊介紹
例:啟動指定節點上的httpd 服務,並讓其開機自啟動

[root@master tmp]# ansible client02 -m service -a ‘name=httpd state=restarted enabled=yes‘
client02 | SUCCESS => {
    "changed": true, 
    "enabled": true, 
    "name": "httpd", 
    "state": "started"
}
[root@client01 tmp]# ps -ef|grep httpd|wc -l                                
1

[root@client02 tmp]# ps -ef|grep httpd|wc -l
9

server模塊介紹

可以提供的status:running,started,stopped,restarted,reloaded

[root@master tmp]# cat /etc/ansible/hosts
[localhost]
master.test.com
[slave]
client02
client01

此處參數  -s 意思是
run operations with sudo (nopasswd) (deprecated, use
                        become)
結尾參數-k 意思是要讓輸入ssh 密碼

例:檢查某節點的httpd 服務
[root@master ~]# ansible slave -m service -a "name=httpd state=running" –s

[root@master tmp]# ansible client02 -m service -a "name=httpd state=running" -s
client02 | SUCCESS => {
    "changed": false, 
    "name": "httpd", 
    "state": "started"
}

[root@master tmp]# ansible slave -m service -a "name=httpd state=stopped" -k
SSH password: 111111
client01 | SUCCESS => {
    "changed": false, 
    "name": "httpd", 
    "state": "stopped"
}
client02 | SUCCESS => {
    "changed": false, 
    "name": "httpd", 
    "state": "stopped"
}

[root@master tmp]# ansible client02 -m service -a "name=httpd state=status" -s
client02 | FAILED! => {
    "changed": false, 
    "failed": true, 
    "msg": "value of state must be one of: running,started,stopped,restarted,reloaded, got: status"
}

[root@master tmp]# ansible client02 -m service -a "name=httpd state=stopped" -s
client02 | SUCCESS => {
    "changed": true, 
    "name": "httpd", 
    "state": "stopped"
}

[root@master tmp]# ansible client01 -m service -a "name=httpd state=running" -s

paramiko: The authenticity of host ‘client01‘ can‘t be established.
The ssh-rsa key fingerprint is 3d906ef1d450e4cc7031aef5e8c296f6.
Are you sure you want to continue connecting (yes/no)?
yes
client01 | SUCCESS => {
    "changed": true, 
    "name": "httpd", 
    "state": "started"
}

[root@master tmp]# ansible slave -m service -a "name=httpd state=started" -s

client02 | SUCCESS => {
    "changed": true, 
    "name": "httpd", 
    "state": "started"
}
client01 | SUCCESS => {
    "changed": true, 
    "name": "httpd", 
    "state": "started"
}
[root@client01 tmp]# ps -ef|grep httpd|wc -l
10
[root@client02 tmp]# ps -ef|grep httpd|wc -l
10

[root@master tmp]# ansible slave -m service -a "name=httpd state=stopped" -s
client02 | SUCCESS => {
    "changed": true, 
    "name": "httpd", 
    "state": "stopped"
}
client01 | SUCCESS => {
    "changed": true, 
    "name": "httpd", 
    "state": "stopped"
}

[root@client01 tmp]# ps -ef|grep httpd|wc -l
1
[root@client02 tmp]# ps -ef|grep httpd|wc -l
1

ansible之service和server模塊