IT袋

当前位置:主页 > 经验教程 > 系统教程 >

Ansible有哪些常用模块

Ansible有哪些常用模块 详细介绍使用方法!(4)

时间:2023-09-17 20:35:04 来源:IT袋 作者:苏晓敏
导读:Ansible有哪些常用模块,3.10 service 模块 用来管理服务器上的服务 # 利用ansible的yum模块安装一个nginx[root@bunian ansible-example]# ansible test -m yum -a 'name=nginx state=present'# 启动nginx[r

Ansible有哪些常用模块

3.10 service 模块

用来管理服务器上的服务

# 利用ansible的yum模块安装一个nginx
[root@bunian ansible-example]# ansible test -m yum -a 'name=nginx state=present'
# 启动nginx
[root@bunian ansible-example]# ansible test -m shell -a '/etc/init.d/nginx start'
# 或者利用ansible的service模块(推荐)
[root@bunian ansible-example]# ansible test -m service -a 'name=nginx state=started'
# 查看状态
[root@bunian ansible-example]# ansible test -m shell -a 'service nginx status'
 [WARNING]: Consider using service module rather than running service
# 停止nginx服务
[root@bunian ansible-example]# ansible test -m service -a 'name=nginx state=stopped'
[root@bunian ansible-example]# ansible test -m shell -a 'service nginx status'
 [WARNING]: Consider using service module rather than running service
 
[root@bunian ansible-example]# ansible test -m service -a 'name=nginx state=started enabled=yes runlevel=2345'
[root@bunian ansible-example]# ansible test -m shell -a 'chkconfig --list nginx'

3.11 group 模块

用于添加远程主机上的组

[root@bunian ansible-example]# ansible test -m group -a 'name=hr gid=2000 state=present'

3.12 user 模块

管理远程主机上的用户的账号

# 创建用户指定uid和gid,不创建家目录也不允许登陆
ansible dbsrvs -m user -a "name=ayunw uid=888 group=888 shell=/sbin/nologin create_home=no"
[root@bunian ansible-example]# ansible dbsrvs -m user -a 'name=martin group=hr groups=root uid=500  shell=/bin/bash home=/home/martin comment="martin user"'
# 删除用户
[root@bunian ansible-example]# ansible dbsrvs -m user -a 'name=martin state=absent remove=yes'
# 给新创建的用户生成ssh密钥对
ansible dbsrvs -m user -a "name=oo uid=6677 group=adm generate_ssh_key=yes ssh_key_bits=2048 ssh_key_file=.ssh/id_rsa" -i ./hosts
# 将明文密码进行hash加密,然后进行用户创建
ansible dbsrvs -m debug -a "msg={{ '123456' | password_hash('sha512', 'salt') }}"

3.13 setup 模块

可收集远程主机的facts变量的信息,相当于收集了目标主机的相关信息(如内核版本、操作系统信息、cpu、…),保存在ansible的内置变量中,之后我们有需要用到时,直接调用变量即可.这在ansible-playbook 中很有用。

[root@bunian ansible-example]# ansible dbsrvs -m setup
# 使用setup获取ip地址以及主机名使用filter过滤
ansible dbsrvs -m setup -a 'filter=ansible_default_ipv4'
# 获取内存信息
ansible dbsrvs -m setup -a 'filter=ansible_memory_mb'
# 获取主机名
ansible dbsrvs -m setup -a 'filter=ansible_nodename'
# 仅显示与ansible相关的内存信息
ansible dbsrvs -m setup -a 'filter=ansible_*_mb'

3.14 authorized_key模块

为特定的用户账号添加或删除SSHauthorizedkeys

相关阅读