役割でansible役割

役割はansible、プレイブックのディレクトリ組織構造です。しかし、モジュール式の後、役割、読みやすい、再利用可能なコード、明確な層の組織構造になります。

本当の目標:役割によってリモートで展開し、Configure nginxの

ここに画像を挿入説明

目录顺序:
role_name/     ---角色名称=目录
    files/:存储一些可以用copy调用的静态文件。
    tasks/: 存储任务的目录,此目录中至少应该有一个名为main.yml的文件,用于定义各task;其它的文件需要由main.yml进行“包含”调用; 
    handlers/:此目录中至少应该有一个名为main.yml的文件,用于定义各handler;其它的文件需要由(与notify:名字相同,方便notify通知执行下一条命令)通过main.yml进行“包含”调用; 
    vars/:此目录中至少应该有一个名为main.yml的文件,用于定义各variable;其它的文件需要由main.yml进行“包含”调用; 
    templates/:存储由template模块调用的模板文本; (也可以调用变量)
    site.yml:定义哪个主机应用哪个角色
1.准备目录结构
[root@ansible-server ~]# cd /etc/ansible/roles/  #roles为自带目录,如果不存在可以创建
[root@ansible-server roles]# mkdir nginx/{files,handlers,tasks,templates,vars} -p
2.创建文件:
[root@ansible-server roles]# touch site.yml nginx/{handlers,tasks,vars}/main.yml
[root@ansible-server roles]# yum install -y tree

ここに画像を挿入説明

1.创建nginx的测试文件
[root@ansible-server roles]# echo 1234 > nginx/files/index.html
2.安装nginx并配置模板
[root@ansible-server roles]# yum install -y nginx && cp /etc/nginx/nginx.conf nginx/templates/nginx.conf.j2
3.编写任务
[root@ansible-server roles]# vim nginx/tasks/main.yml
---
- name: install epel
  yum: name=epel-release state=latest
- name: install nginx
  yum: name=nginx state=latest
- name: copy nginx.conf templte
  template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
- name: copy index.html
  copy: src=/etc/ansible/roles/nginx/files/index.html dest=/usr/share/nginx/html/index.html
  notify: start nginx

ここに画像を挿入説明
4.準備プロファイル
[ansibleサーバの役割@ルート] #VIM nginxの/テンプレート/ nginx.conf.j2
次のように変更。カスタム変数
ここに画像を挿入説明

5.编写变量
[root@ansible-server roles]# vim nginx/vars/main.yml  #添加如下内容
worker_connections: 2
6.编写handlers
[root@ansible-server roles]# vim nginx/handlers/main.yml #编写如下内容
---
- name: start nginx  #和notify的名字必须一样
  service: name=nginx state=started
7.编写剧本
[root@ansible-server roles]# vim site.yml
---
- hosts: webservers4
  user: root
  roles:
   - nginx
检测语法
[root@ansible-server roles]# ansible-playbook site.yml --syntax-check
playbook: site.yml
不能单独检测一个剧本
执行剧本:
[root@ansible-server roles]# ansible-playbook site.yml
公開された48元の記事 ウォン称賛18 ビュー3638

おすすめ

転載: blog.csdn.net/wx912820/article/details/105005789