常用模块
Service:管理服务
将websrv目标主机上的ftp服务启动
#ansible websrvs -m service -a 'name=vsftpd state=started'
【要改变服务状态,只需修改state值即可,stopped停止,restarted重启,reloaded重新加载】
User:管理用户
为websrvs目标主机创建新的系统用户,用户名为test1,uid=234,家目录为/data/test1,主组为root,附加组为bin,daemon,shell类型为/sbin/nologin
#ansible websrvs -m user -a 'name=test1 uid=234 home=/data/test1 system=yes group=root groups=bin,daemon shell=/sbin/nologin'
删除上面创建的用户:
#ansible websrvs -m user -a 'name=test1 state=absent'【不会删除对应的家目录,要删除家目录,要用remove=yes】
#ansible websrvs -m user -a 'name=test1 state=absent remove=yes' 【删除用户,并删除家目录数据】
Group:管理组
ansible srv -m group -a "name=testgroup system=yes"【创建组】
ansible srv -m group -a "name=testgroup state=absent"【删除组】
常用工具
ansible-galaxy
连接 https://galaxy.ansible.com 下载相应的roles
列出所有已安装的galaxy:
ansible-galaxy list
安装galaxy:
ansible-galaxy install geerlingguy.redis
删除galaxy:
ansible-galaxy remove geerlingguy.redis
ansible-pull
推送命令至远程,效率无限提升,对运维要求较高
Ansible-vault
功能:管理加密解密yml文件
- ansible-vault [create|decrypt|edit|encrypt|rekey|view]
- ansible-vault encrypt hello.yml 加密
- ansible-vault decrypt hello.yml 解密
- ansible-vault view hello.yml 查看
- ansible-vault edit hello.yml 编辑加密文件
- ansible-vault rekey hello.yml 修改口令
- ansible-vault create new.yml 创建新文件
Ansible-console: 2.0+新增,可交互执行命令,支持tab
root@test (2)[f:10] $
执行用户@当前操作的主机组 (当前组的主机数量)[f:并发数]$
设置并发数: forks n 例如: forks 10
切换组: cd 主机组 例如: cd web
列出当前组主机列表: list
列出所有的内置命令: ?或help
示例:
root@all (2)[f:5]$ list
root@all (2)[f:5]$ cd appsrvs
root@appsrvs (2)[f:5]$ list
root@appsrvs (2)[f:5]$ yum name=httpd state=present
root@appsrvs (2)[f:5]$ service name=httpd state=started