05Ansible_YAML

Posted elegantsmile

tags:

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

YAML语法

列表

fruits:
  - Apple
  - Orange
  - Strawberry
  - Mango

字典

martin:
  name: Martin D‘vloper
  job: Developer
  skill: Elite

Ansible YAML入门

需求:通过YAML编写一个简单的剧本,完成web的部署,配置,启动的全过程。

准备工作

清理环境

[root@ansible-server ~]# ansible all -m yum -a ‘name=httpd state=removed‘ -o

安装测试httpd

用于获取配置文件

[root@ansible-server ~]# yum install -y httpd
[root@ansible-server ~]# cp -rf /etc/httpd/conf/httpd.conf /tmp/

修改配置文件

[root@ansible-server ~]# vim /tmp/httpd.conf
Listen 8080

编写剧本

[root@ansible-server ~]# vim /tmp/apache.yaml 
- hosts: test
  tasks:
  - name: install latest apache packages
    yum: name=httpd state=latest
  - name: copy apache config file
    copy: src=/tmp/httpd.conf dest=/etc/httpd/conf/httpd.conf
  - name: ensure apache httpd service is running
    service: name=httpd state=started enabled=yes

测试

检验语法

[root@ansible-server ~]# ansible-playbook /tmp/apache.yaml --syntax-check

列出任务

[root@ansible-server ~]# ansible-playbook /tmp/apache.yaml --list-tasks

列出主机

[root@ansible-server ~]# ansible-playbook /tmp/apache.yaml --list-hosts

执行

[root@ansible-server ~]# ansible-playbook /tmp/apache.yaml

访问网页

网址:http://172.22.69.216:8080

如果配置文件发生改变,要求服务进行重启,此时需要借助handlers的帮助:

修改配置文件

[root@ansible-server ~]# vim /tmp/httpd.conf
Listen 9080

修改剧本文件

[root@ansible-server ~]# vim /tmp/apache.yaml 
- hosts: test
  tasks:
  - name: install latest apache packages
    yum: name=httpd state=latest
  - name: copy apache config file
    copy: src=/tmp/httpd.conf dest=/etc/httpd/conf/httpd.conf
    notify: restart apache service
  - name: ensure apache httpd service is running
    service: name=httpd state=started enabled=yes
  handlers:
  - name: restart apache service
    service: name=httpd state=restart

再次执行ansible-playbook /tmp/apache.yaml,触发handlers,重启httpd服务

以上是关于05Ansible_YAML的主要内容,如果未能解决你的问题,请参考以下文章

刷新片段不再起作用?

持久片段和查看器

使用 Pygments 检测代码片段的编程语言

Xcode 4.6 的备份代码片段

有人可以解释以下 R 代码片段吗? [关闭]

片段中的 super.onCreateView