目次
1.テンプレートモジュールの例
1.1。リモートレプリケーションを使用してテンプレートをコピーします
[root@ansible ~]# scp root@192.168.140.30:/etc/httpd/conf/httpd.conf ./
#用root身份去远程拷贝模板文件到当前目录下
[root@ansible ~]# mkdir demo #创建demo的文件夹
[root@ansible ~]# mv httpd.conf demo #把模板剪切到demo文件夹里,方便操作
[root@ansible ~]# cd demo
[root@ansible demo]# ls
[root@ansible demo]# vim httpd.conf #修改配置文件
[root@ansible demo]# mv httpd.conf httpd.conf.j2 #把配置文件改变成模板文件
注:j2是jinja2,基于python的模板引擎,提供模板功能
[root@ansible demo]# vim /etc/ansible/hosts #进入配置文件,定义变量
[root@ansible demo]# vim apache.yml #创建剧本
- hosts: mysql
remote_user: root
vars:
- server: httpd
tasks:
- name: install apache
yum: name={
{
server}} state=latest
- name: config file
template: src=/root/demo/httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf
notify:
- restart httpd
- name: start httpd
service: name={
{
server}}
handlers:
- name: restart httpd
service: name={
{
server}} state=restart enabled=true
[root@ansible demo]# ansible-playbook apache.yml --syntax-check #检查语法
[root@ansible demo]# ansible-playbook apache.yml #执行文件
[root@mysql ~]# cd /etc/httpd/conf
[root@mysql conf]# ll
[root@mysql conf]# vim httpd.conf
2.タグモジュールの例
注:プレイブックでは、通常、多くのタスクを定義します。1つ以上のタスクのみを実行する場合は、タグタグ関数を使用できます。
[root@ansible ~]# vim hosts.yml
- hosts: webserver
remote_user: root
tasks:
- name: copy hosts
copy: src=/etc/hosts dest=/opt/hosts
tags:
- ms
- name: touch hosts01
file: path=/opt/hosts01 state=touch
[root@ansible ~]# ansible-playbook hosts.yml --tags="ms"
[root@webserver opt]# ll
2.1、同じラベルの実験
[root@ansible ~]# vim hosts.yml
[root@ansible ~]# ansible-playbook hosts.yml --tags="ms"
[root@webserver opt]# ll
概要:複数のタスクを実行する必要がある場合は、同じ名前のタスクにタグを付けるだけで、タグが付けられていないタスクは実行されません。
2.2、常に実験という名前のラベル
[root@ansible ~]# vim hosts.yml
[root@ansible ~]# ansible-playbook hosts.yml --tags="ms"
[root@webserver opt]# ll
3.まとめ
AnsibleとPlaybookのモジュールに精通し、習得している場合にのみ、ansibleを使用して作業する方がよいでしょう。