Ansible之playbook
ansible系列命令
ansible-galaxy:可以下载角色
连接https://galaxy.ansible.coml下载相应的roles|
列出所有已安装的galaxy
ansible-galaxy list
安装galaxy
ansible-galaxy install geerlingguy.redis
删除galaxy
ansible-galaxy remove geerlingguy.redis
ansible-pull
推送命令至远程,效率无限提升,对运维要求较高
ansible-playbook
用法:ansible-playbook 参数 xxx.yml文件
cat hello.yml ---#表示开始 #hello world yml file#说明 - hosts: websrvs#指定被控主机 remote_ user: root#指定执行的角色 tasks:需要执行的命令写在这个下面 - name: hello world#对执行操作的说明 command: /usr/bin/wall hello world#指定所用模块,后面是需要执行的命令
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
(2)[f:10]$
执行用户@当前操作的主机组(当前组的主机数量)[f:并发数]$
设置并发数:forks n
切换组:cd 主机组
列出当前组主机列表:list
列出所有的内置命令:?或help
示例:
(2)[f:5]$ list (2)[f:5]$ cd appsrvs (2)[f:5]$ list (2)[f:5]$ yum name=httpd state=present (2)[f:5]$ service name=httpd state=started
playbook
playbook是由一个或多个“play”组成的列表
play的重要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来说,所谓task无非是调用ansible的一个module。将多个play组织在一个playbook中,即可以让它们连同起来按事先编排的机制同唱一台大戏
playbook采用yaml语言编写
YAML介绍
YAML语言是一个可读性高的用来表达资料序列的格式,YANL参考了其他多种语言,包括:XML、C语言、Python语言、perl语言以及电子邮件格式RFC2822等。Clark Evans在2001年首次发表了这种语言,另外Igy