playbook

ansible-初始playbook安装nginx

匿名 (未验证) 提交于 2019-12-02 22:10:10
1. ansible-初始playbook安装nginx 1) 创建一个ansible存放路径 1 [ root@test - 1 scripts ]# mkdir - p / ansible / nginx /{ conf , bin } 2) 验证存放路径 1 [ root@test - 1 bin ]# tree / ansible / 2 / ansible / 3 └―― nginx 4 ├―― bin 5 │ └―― nginx . yaml 6 └―― conf 7 └―― site . conf 8 9 3 directories , 2 files 2. 编写playbook的nginx安装yaml文件 1) 编写nginx.yaml配置文件 1 [ root@test - 1 bin ]# vim / ansible / nginx / bin / nginx . yaml 2 [ root@test - 1 bin ]# cat / ansible / nginx / bin / nginx . yaml 3 - hosts : web1 4 remote_user : root 5 vars : 6 hello : Ansible 7 8 tasks : 9 - name : Add repo 10 yum_repository : 11 name :

ansible jinja2模板概述

匿名 (未验证) 提交于 2019-12-02 21:56:30
Ŀ¼ ansible允许jinja2模板中使用条件判断和循环,但是不允许在playbook中使用 {{ EXPR }}输出变量值,会输出自定义的变量值或facts 1)playbook文件使用template模块 2)模板文件里面变量使用{{名称}},比如{{PORT}}或使用facts #循环表达式 {% for i in EXPR %} {% endfor %} #条件判断 {% if EXPR %} {% elif EXPR %} {% else %} {% ednif %} #注释 {# COMMENT #} 编辑playbook [root@m01 ~]# vim jinja2.yml - hosts: web_group tasks: - name: Copy Template File template: src: ./motd.j2 dest: /etc/motd 准备motd.j2 [root@m01 ~]# vim motd.j2 Welcome to {{ ansible_fqdn }} This system total mem is : {{ ansible_memtotal_mb }} MB This system free mem is: {{ ansible_memfree_mb }} MB 执行playbook 1.编辑playbook [root

zabbix批量部署Windows和Linux的agent

匿名 (未验证) 提交于 2019-12-02 21:56:30
对Linux进行批量部署Zabbix-agent 我们这里使用的是ansible来对zabbix-agent进行批量部署,当然在Linux上也可以使用脚本来完成部署 环境 ansible : 10.127 . 0.133 agent1 : 172.168 . 0.4 agent2 : 172.168 . 0.5 进行密钥授权认证实现免密登陆 为方便ansible对agent主机的管理,需要将ansible与agent进行公钥认证来实现免密登陆 ssh - keygen - t rsa ssh - copy - id - i / root /. ssh / id_rsa . pub 172.168 . 0.4 ssh - copy - id - i / root /. ssh / id_rsa . pub 172.168 . 0.5 在ansible/hosts中添加主机信息 [ Linux - agent ] 172.168 . 0.4 172.168 . 0.5 编辑Linux-agent的playbook文件进行批量部署 实现步骤: 安装zabbix-agent4.2的rpm包 使用yum安装zabbix-agent 修改agent配置文件的一些变量,将模板文件覆盖到agent配置文件 重启zabbix-agent 定义agent模板 创建一个模板文件

ansible自动化运维入门

匿名 (未验证) 提交于 2019-12-02 21:53:52
1.ansible的安装 1)使用源码安装Python3.5 安装支持包 yum - y install lrzsz vim net - tools gcc gcc - c ++ ncurses ncurses - devel unzip zlib - devel zlib openssl - devel openssl tar xf Python - 3.5 . 2.tgz - C / usr / src / ./ configure -- prefix = /usr/ local / python / make && make install ln - s / usr / local / python / bin / python3 / usr / bin / python3 2)使用pip3安装ansible / usr / local / python / bin / pip3 install ansible ln - s / usr / local / python / bin / ansible / usr / local / bin / 2.模块简单使用 1)ansible的配置文件 vim / etc / ansible / hosts 机器1 ansible_ssh_host =ip ansible_ssh_port = 22 ansible_ssh_user =

04.Ansible的Playbook模式

梦想与她 提交于 2019-12-02 05:56:22
Ansible的Playbook模式 1、概念 playbook的基础组件: Hosts:运行指定任务的目标主机; remoute_user: 在远程主机上执行任务的用户; sudo_user: tasks:任务列表 模块,模块参数; 格式: (1) action: module arguments (2) module: arguments 注意:shell和command模块后面直接跟命令,而非key=value类的参数列表; (1) 某任务的状态在运行后为changed时,可通过“notify”通知给相应的handlers; (2) 任务可以通过"tags“打标签,而后可在ansible-playbook命令上使用-t指定进行调用; 运行playbook的方式: (1) 测试 ansible-playbook --check 只检测可能会发生的改变,但不真正执行操作; ansible-playbook --list-hosts 列出运行任务的主机; (2) 运行 handlers: 任务,在特定条件下触发; 接收到其它任务的通知时被触发; notify: HANDLER TASK NAME variables: (1) facts:可直接调用; 注意:可使用setup模块直接获取目标主机的facters; (2) 用户自定义变量: (a) ansible

ansible学习总结

倖福魔咒の 提交于 2019-12-02 05:40:15
1 前言 Ansible是新出现的运维工具是基于Python研发的糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等功能。 ansible是基于模块工作的ansible本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块ansible只是提供一种框架。 2 ansible 的基本使用 2.1 安装 其实ansible的安装的方式有很多中,如下: 从源码运行 通过Yum安装最新发布版本 通过Apt (Ubuntu)安装最新发布版本 通过 Portage (Gentoo)安装最新发布版本 通过 pkg (FreeBSD)安装最新发布版本 通过 Homebrew (Mac OSX)安装最新发布版本 通过 Pip 安装最新发布版本 发行版的Tarball。 我这儿就只介绍在centos系统上通过yum来安装ansible 2.1.1 关闭防火墙和selinux # service iptables stop 可以看到防火墙已经关闭了 #setenforce 0 可以看到selinux已经关闭了 2.1.2 安装EPEL第三方yum源: # rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm 2.1.3 安装Ansible # yum

mage Ansible学习3 ansible role实例

旧街凉风 提交于 2019-12-02 02:38:49
一、ansible配置文件解析   1、/etc/ansible/ansible.cfg配置文件详解 [root@node3 ~]# cat /etc/ansible/ansible.cfg |grep -Ev "^#|^$" [defaults] #默认配置,对所有应用程序都生效 roles_path = /etc/ansible/roles:/usr/share/ansible/roles [inventory] [privilege_escalation] #默认登陆时使用的普通用户,当需要做一些管理配置时就需要将其转换成另外一个拥有特权的管理用户 [paramiko_connection] #python应用程序使用指定库连接各目标主机时使用的选项 [ssh_connection] [persistent_connection] [accelerate] [selinux] [colors] #显示的颜色 [diff]   2、那么ansible所用的操作什么时候才会被执行呢?在ansible主机上由管理员手动执行ansible playbook,这样所有的被管控的主机才能测试其是否处于目标状态,如果没有处于目标状态则强制其处于目标状态,如果说我们的目标主机不幸被别人手动修改了怎么办呢?比如有人一不小心给其程序包卸载了,服务停止了,配置文件删除了等

Ansible之playbook

点点圈 提交于 2019-12-01 20:34:00
ansible系列命令   ansible-galaxy:可以下载角色     连接https://galaxy.ansible.coml下载相应的roles|     列出所有已安装的galaxy     ansible-galaxy list     安装galaxy     ansible-galaxy install geerlingguy.redis     删除galaxy     ansible-galaxy remove geerlingguy.redis   ansible-pull     推送命令至远程,效率无限提升,对运维要求较高   ansible-playbook     用法:ansible-playbook 参数 xxx.yml文件 cat hello.yml  ---#表示开始   #hello world yml file#说明   - hosts: websrvs#指定被控主机    remote_ user: root#指定执行的角色    tasks:需要执行的命令写在这个下面     - name: hello world#对执行操作的说明    command: /usr/bin/wall hello world#指定所用模块,后面是需要执行的命令   ansible-vault:管理加密解密yml文件 ansible-vault

mage Ansible学习2 Playbook

你。 提交于 2019-12-01 12:01:33
一、上集回顾   1、运维:     手动 --> 标准化 --> 工具化 --> 自动化 --> 智能化   2、工具化     OS Install:PXE ,Cobbler;Virutalization & Cloud Commputing     OS Config: ansible,fabric,puppet,saltstack,chef,cfengine,...     Deployment: fabric,ansible,...     Task Exec:fabric,ansible,func,...   3、Ansible:agentless(ssh),modules     Modules:       copy,file,fetch..       yum,easy_install,pip,       service,       group,user,       cron,at,..       command,shell       script,       ping,       template,...     Ad-Hoc,Playbook,...       $ ansible HOST-PATTERN -m MOD_NAME -a MOD_ARGS -C -f FORKS 二、Ansible Playbook   1

ansible

吃可爱长大的小学妹 提交于 2019-12-01 11:53:43
playbook核心元素 hosts:执行的远程主机列表 Tasks:任务集 Varniables: 内置变量或自定义变量在playbook中调用 Templates:模板,可替换模板文件中的变量并实现一些简单逻辑的文件 Handlers 和 notity 结合使用,由特定条件触发的操作,满足条件才执行,否则不执行 tags:标签 指定某条任务执行,用于选择运行playbook中的部分代码,ansible具有幂等性, 因此会自动跳过没有变化的部分,即便如此,有些代码为测试其确实没有发生变化的时间依 然会非常地长,此时,如果确信其没有变化,就可以通过tags跳过此些代码片段 ansible-playbook -t tagsname useradd.yml 来源: https://www.cnblogs.com/lizhewei/p/11684204.html