ansible中的角色

1.理解roles在企业中的定位及写法

查看创建目录结构

ansible - galaxy list

指定新的位置

vim ansible.cfg

roles_path = ~/.ansible/roles

建立项目

cd roles/

ansible-galaxy init vsftpd

tree vsftpd/

编辑任务执行(顺序)文件

vim vsftpd/tasks/main.yml

tasks file for vsftpd

  • name: install vsftpd

dnf:

name: vsftpd

state: present

  • name: start vsftpd

service:

name: vsftpd

enabled: yes

  • name: set firewalld

firewalld:

service: ftp

state: enabled

permanent: yes

immediate: yes

  • name: setup config file

template:

src: vsftpd.conf.j2

dest: /etc/vsftpd/vsftpd.conf

notify: restart vsftpd

编辑j2文件

vim vsftpd/templates/vsftpd.conf.j2
anonymous_enable={{state}}

编辑变量文件

vim vsftpd/vars/main.yml

vars file for vsftpd

state: YES

编辑触发器文件

vim vsftpd/handlers/main.yml

handlers file for vsftpd

  • name: restart vsftpd

service:

name: vsftpd

state: restarted

编辑yaml文件

cd ..

vim vsftpd.yml

  • name: create ftp server

hosts: all

roles:

  • name: create vsftpd

role: vsftpd

运行

ansible-playbook vsftpd.yml

这样把各个部分都分开,各自书写,不用过于考虑缩进,而且更加直观。

2.关于roles执行的技巧

playbook 中使用 roles :

---
- hosts : server2
roles :
- role : role1
- role : role2
var1 : value1 ## 此处变量会覆盖 roles 中的定义变量
直接覆盖数据
vim vsftpd.yml

  • name: create ftp server
    hosts: all
    roles:
  • name: create vsftpd
    role: vsftpd
    state: 'NO'

控制任务执行顺序

---
- hosts : server2
roles :
- role : role1 ## 角色任务
pre_tasks : ##角色执行前执行的 play
- tasks1
tasks : ##普通任务
- tasks2
post_tasks : ##在角色和普通任务执行完毕后执行的 play
- tasks3
handlers :

3.role的下载和共享

#ansible---galaxy 命令工具 #
* Ansible Galaxy 是一个免费共享和下载 Ansible 角色的网站 , 可以帮助我们更好的定义和学习 roles 。
* ansible - galaxy 命令默认与 https :// galaxy.ansible.com 网站 API 通信 , 可以查找 、 下载各种社区开发的 Ansible 角色


* ansible - galaxy 在 Ansible 1.4.2 就已经被包含了
*galaxy.ansible.com 网站查询 roles
在官网找到后下载

ansible-galaxy collection install altispeed.web

将自己编写的打包以及怎么下载

tar zcf vsftpd.tar.gz vsftpd
mv vsftpd.tar.gz /tmp/

rm -fr vsftpd
vim vsftpd_role.yaml

  • src: file:///tmp/vsftpd.tar.gz

name: westos

ansible-galaxy install -r vsftpd_role.yaml

相关推荐
SPC的存折5 小时前
8、Ansible之Playbook---Roles
linux·服务器·ansible
我爱学习好爱好爱3 天前
Ansible变量介绍 vars变量 inventory针对主机设置变量
linux·自动化·ansible
我爱学习好爱好爱3 天前
inventory针对主机组设置变量 host_vars group_vars playbook执行时传入值 Ansible-register
运维·自动化·ansible
我爱学习好爱好爱3 天前
Ansible 自动化部署Elasticsearch + Logstash + Kibana实战(基于RockyLinux 9.6)
elasticsearch·自动化·ansible
牛奶咖啡134 天前
DevOps自动化运维实践_自动化运维工具Ansible
运维·自动化·ansible·devops·ansible的安装·ansible的架构与运行原理·ansible的主机和组配置
我爱学习好爱好爱4 天前
Ansible Playbook介绍 playbook的编写要求 playbook多任务案例
linux·运维·ansible
我爱学习好爱好爱4 天前
Ansible 常用模块详解:firewalld、setup实战
linux·运维·ansible
SPC的存折4 天前
4、Ansible之Playbook变量应用
linux·前端·chrome·ansible
淼淼爱喝水4 天前
openEuler 下 Ansible 基础命令详解与实操演示1
linux·服务器·ansible
我爱学习好爱好爱4 天前
Ansible 自动化部署Prometheus + Alertmanager + Grafana实战(Rockylinux9.6)
自动化·ansible·prometheus