ansible学习(二)(入职小灰)

ansible学习(二)

--ansible_role剧本进一步了解

昨天初步学习ansible-playbook剧本,接触到roles模块

今天好好整理了一下思绪,要搞清楚这roles底下的目录到底有什么作用

 

要明白目录要放什么,就先要明白ansible模块有什么用

今天整理了下昨天的剧本:https://blog.csdn.net/qq_37960324/article/details/82155359

ansible学习(二)(入职小灰)_第1张图片

1:ansible拷贝目录或者文件

ansible test -m copy -a "src=/service/scripts/change.sh dest=/service/scripts/change.sh owner=root group=root mode=0755"

如果group组不支持,就去掉它即可

ansible学习(二)(入职小灰)_第2张图片

ansible学习(二)(入职小灰)_第3张图片

在剧本里拷贝文件

 

2:ansible远程执行脚本

1:拷贝

ansible test -m copy -a "src=/tmp/test.sh dest=/service/scripts/test.sh mode=0755"

记住,不能用/lalala/ansible/roles/test/template/test.sh这种路径,因为是ansible-playbook剧本占用

ansible学习(二)(入职小灰)_第4张图片

ansible学习(二)(入职小灰)_第5张图片

2:执行

ansible test -m shell -a "/service/scripts/test.sh"

shell支持管道命令,用途必command广

ansible test -m shell -a "cat /etc/passwd | wc -l"

ansible学习(二)(入职小灰)_第6张图片

 

3:ansible安装rpm包或服务

ansible test -m yum -a "name=httpd state=installed "

state=installed,默认,不加也可以安装

开启httpd服务,并设为开机启动:

ansible test -m service -a "name=httpd state=started enabled=yes"

 

4:环境搭建:

主要就是

变量(vars)、文件(file)、任务(tasks)、模块 (modules)及处理器(handlers)

1)创建文件存放目录

2)拷贝文件

3)执行文件(如果有sh脚本的话)

4)安装rpm包或服务

5)启动服务

6)任务回滚

 

1:handlers:重启作用

- name: new conf to reload

  service: name=zabbix-agent state=restarted

 

2:vars:定义变量

 

3:files:存储静态文件

用于copy或script等模块调用的文件,就是用来存储配置文件或安装包什么的

 

4:templates:存储可执行文件

用于templates模块调用的文件,用来存储shell脚本什么的

 

 

5:tasks:制定任务,最重要的模块

总调度:tasks/main.yml

- include: mkdir.yml

- include: zhunbei.yml

- include: install.yml

安装所需目录:tasks/mkdir.yml

- name: make dictionary for software

  command: mkdir -p /service/tools

- name: make dictionary for scripts

  command: mkdir -p /service/scripts

安装前准备文件:vim tasks/zhunbei.yml

- name: copy agent software

  copy: src=zabbix-agent-3.4.2-1.el7.x86_64.rpm dest=/service/tools owner=root group=root

- name: copy change.sh

  template: src=change.sh dest=/service/scripts owner=root group=root mode=0755

安装:vim tasks/install.yml

- name: install zabbix-agent

  command: yum localinstall /service/tools/zabbix-agent-3.4.2-1.el7.x86_64.rpm -y

- name: doing change

  shell: /usr/bin/sh /service/scripts/change.sh

- name: start zabbix-agent

  service: name=zabbix-agent enabled=true state=started

 

 

你可能感兴趣的:(ansible学习)