プレイブックのモジュール例の説明

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を使用して作業する方がよいでしょう。

おすすめ

転載: blog.csdn.net/weixin_50344814/article/details/112646035