ansible之service和server模块

Posted

tags:

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

service模块介绍
例:启动指定节点上的httpd 服务,并让其开机自启动

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

[[email protected] tmp]# ps -ef|grep httpd|wc -l
9

server模块介绍

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

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

此处参数  -s 意思是
run operations with sudo (nopasswd) (deprecated, use
                        become)
结尾参数-k 意思是要让输入ssh 密码

例:检查某节点的httpd 服务
[[email protected] ~]# ansible slave -m service -a "name=httpd state=running" –s

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

[[email protected] 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"
}

[[email protected] 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"
}

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

[[email protected] 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"
}

[[email protected] 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"
}
[[email protected] tmp]# ps -ef|grep httpd|wc -l
10
[[email protected] tmp]# ps -ef|grep httpd|wc -l
10

[[email protected] 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"
}

[[email protected] tmp]# ps -ef|grep httpd|wc -l
1
[[email protected] tmp]# ps -ef|grep httpd|wc -l
1

以上是关于ansible之service和server模块的主要内容,如果未能解决你的问题,请参考以下文章

Ansible service模块

Ansible自动化运维工具Ansible常用模块的基本使用

Ansible Service模块手册

ansible管理windows server怎么部署

ansible-service模块使用方法

ansible模块yumservicessetup