Ansible-roles

root
233
文章
0
评论
2020年7月21日22:18:04 评论 1028字阅读3分25秒

Ansible-roles

Roles是基于已知文件结构自动加载某些变量文件,任务和处理程序的方法。按角色对内容进行分组,适合构建复杂的部署环境。

1、定义Roles

ansible-galaxy init 要生成的目录结构

Roles目录结构:

site.yml
webservers.yml
fooservers.yml
roles/
   common/
     tasks/
     handlers/
     files/
     templates/
     vars/
     defaults/
     meta/
   webservers/
     tasks/
     defaults/
     meta/
  • tasks -包含角色要执行的任务的主要列表。

  • handlers -包含处理程序,此角色甚至在此角色之外的任何地方都可以使用这些处理程序。

  • defaults-角色的默认变量

  • vars-角色的其他变量

  • files -包含可以通过此角色部署的文件。

  • templates -包含可以通过此角色部署的模板。

  • meta-为此角色定义一些元数据。请参阅下面的更多细节

常的做法是从tasks/main.yml文件中包含特定于平台的任务:

# roles/webservers/tasks/main.yml
- name: added in 2.4, previously you used 'include'
  import_tasks: redhat.yml
  when: ansible_facts['os_family']|lower == 'redhat'
- import_tasks: debian.yml
  when: ansible_facts['os_family']|lower == 'debian'

# roles/webservers/tasks/redhat.yml
- yum:
    name: "httpd"
    state: present

# roles/webservers/tasks/debian.yml
- apt:
    name: "apache2"
    state: present

2、使用角色

# site.yml
- hosts: webservers
  roles:
    - common
    - webservers


定义多个:
- name: 0
  gather_facts: false
  hosts: all 
  roles:
    - common

- name: 1
  gather_facts: false
  hosts: all 
  roles:
    - webservers

3、角色控制

- name: 0.系统初始化
  gather_facts: false
  hosts: all 
  roles:
    - common
  tags: common

 

 

 

 

 

继续阅读
weinxin
我的微信
这是我的微信扫一扫
  • 文本由 发表于 2020年7月21日22:18:04
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Ansiable-ploybook LVM Ansible

Ansiable-ploybook LVM

Ansiable-ploybook LVM Ansible 配置文件修改 位置在:vim /etc/ansible/ansible.cfg host_key_checking = False # 首次...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: