真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Ansible1.2新特性roles的介紹和使用

一、簡(jiǎn)介

Ansible1.2版本后引入的新特性,用于層次性、結(jié)構(gòu)化地組織playbook。roles能夠根據(jù)層次型結(jié)構(gòu)自動(dòng)裝載變量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。簡(jiǎn)單來(lái)講,roles就是通過(guò)分別將變量、文件、任務(wù)、模板及處理器放置于單獨(dú)的目錄中,并可以便捷地include它們的一種機(jī)制。角色一般用于基于主機(jī)構(gòu)建服務(wù)的場(chǎng)景中,但也可以是用于構(gòu)建守護(hù)進(jìn)程等場(chǎng)景中

創(chuàng)新互聯(lián)建站長(zhǎng)期為超過(guò)千家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為十堰鄖陽(yáng)企業(yè)提供專(zhuān)業(yè)的做網(wǎng)站、網(wǎng)站制作十堰鄖陽(yáng)網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

二、roles目錄結(jié)構(gòu)

官方推薦在/etc/ansible/roles目錄下使用roles,但不是必須的,roles目錄可以自行創(chuàng)建
Ansible1.2新特性roles的介紹和使用
     tasks-包含角色要執(zhí)行的任務(wù)的主要列表,至少應(yīng)該有main.yml文件,有其他的yml文件通過(guò)include進(jìn)行包含
     handlers-包含處理程序(notify觸發(fā)的任務(wù)),該角色甚至該角色之外的任何地方都可以使用這些處理程序。至少應(yīng)該有main.yml文件
     defaults-角色的默認(rèn)變量,至少應(yīng)該有main.yml文件
     vars-角色的其他變量,至少應(yīng)該有main.yml文件
     files-包含可以通過(guò)此角色部署的文件。
     templates-包含可以通過(guò)此角色部署的模板。
     meta-為此角色定義一些元數(shù)據(jù),至少應(yīng)該有main.yml文件

以部署grafana+influxdb+telegraf為例
目錄結(jié)構(gòu)如下:
Ansible1.2新特性roles的介紹和使用
在項(xiàng)目目錄中,劇本與roles目錄平級(jí),roles目錄下包含各角色目錄,各角色目錄中包含使用到的files,handlers,tasks,templates,vars;對(duì)于不使用的meta和defaults目錄,最好排除。

三、roles示例

以部署grafana+influxdb+telegraf為例

3.1、需求

在node2上部署三件套,在node3上部署influxdb,配置文件中的有些參數(shù)使用變量,配置文件使用模板,更改配置文件后重啟服務(wù)

3.2、部署劇本 deploy.yml

---
 - hosts: node2
   remote_user: root
   roles:
   - grafana
   - influxdb
   - telegraf
- hosts: node3
   remote_user: root
   roles:
   - influxdb

3.3、角色以grafana為例

roles/grafana/tasks/main.yml文件

---
- name: "copy grafana to destination server"
  copy:
    src: grafana-6.3.0-1.x86_64.rpm
    dest: /tmp/
- name: "Install the grafana rpm package locally"
  yum:
    name: /tmp/grafana-6.3.0-1.x86_64.rpm
    state: present
- name: "template the grafana.ini"
  template:
    src: grafana.ini.j2
    dest: /etc/grafana/grafana.ini
  notify: restart grafana

- name: "enable grafana"
  systemd:
    name: grafana-server
    state: restarted
    daemon_reload: yes
    enabled: yes

roles/grafana/templates/grafana.ini.j2模板配置文件

# The http port  to use
http_port = {{ http_port }}

roles/grafana/vars/main.yml 文件

http_port: 8000

roles/grafana/handlers/main.yml文件

- name: restart grafana
  systemd:
    name: grafana-server
    state: restarted
    daemon_reload: yes

3.4、hosts文件

/etc/ansible/hosts 
[node2]
192.168.143.131
[node3]
192.168.143.132 

3.5、執(zhí)行deploy.yml

ansible-playbook deploy.yml


文章標(biāo)題:Ansible1.2新特性roles的介紹和使用
瀏覽路徑:http://weahome.cn/article/poecgj.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部