ansible使用3-playbook

it2022-05-05  95

ansible使用3-playbook

playbook是ansible用于配置部署的语言。使用YAML格式。

示例

--- - hosts: webservers vars: http_port: 80 max_clients: 200 remote_user: root tasks: - name: ensure apache is at the latest version yum: pkg=httpd state=latest - name: write the apache config file template: src=/srv/httpd.j2 dest=/etc/httpd.conf notify: - restart apache - name: ensure apache is running service: name=httpd state=started handlers: - name: restart apache service: name=httpd state=restarted

主机&用户(hosts)

hosts可以指定一个或者多个主机或者主机组,用冒号分隔
--- - hosts: webservers remote_user: root
task中定义remote_user
--- - hosts: webservers remote_user: root tasks: - name: test connection ping: remote_user: yourname
使用sudo
--- - hosts: webservers remote_user: yourname sudo: yes
task中使用sudo
--- - hosts: webservers remote_user: yourname tasks: - service: name=nginx state=started sudo: yes
sudo到不同用户
--- - hosts: webservers remote_user: yourname sudo: yes sudo_user: postgres

任务(tasks)

service模块使用key=value参数
tasks: - name: make sure apache is running service: name=httpd state=running
command&shell模块不使用key=value参数
tasks: - name: disable selinux command: /sbin/setenforce 0 tasks: - name: run this command and ignore the result shell: /usr/bin/somecommand || /bin/true tasks: - name: run this command and ignore the result shell: /usr/bin/somecommand ignore_errors: True
命令行过长允许折行
tasks: - name: Copy ansible inventory file to client copy: src=/etc/ansible/hosts dest=/etc/ansible/hosts owner=root group=root mode=0644
使用变量
tasks: - name: create a virtual host file for {{ vhost }} template: src=somefile.j2 dest=/etc/httpd/conf.d/{{ vhost }}

处理(Handlers)

当foo.conf文件内容改变时,触发服务重启
- name: template configuration file template: src=template.j2 dest=/etc/foo.conf notify: - restart memcached - restart apache
handlers最好用于重启服务和重启主机
handlers: - name: restart memcached service: name=memcached state=restarted - name: restart apache service: name=apache state=restarted

运行playbook

ansible-playbook playbook.yml -f 10 posted on 2014-12-31 11:17 北京涛子 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/liujitao79/p/4195316.html


最新回复(0)