ansible实践】的更多相关文章

本文首发于 Nebula Graph 公众号 NebulaGraphCommunity,Follow & 看大厂图数据库技术实践 背景 在 Nebula-Graph 的日常测试中,我们会经常在服务器上部署 Nebula-Graph.为了提高效率,我们需要一种工具,能帮我们做到快速部署,主要的需求: 可以使用非 root 账户部署 Nebula Graph,这样我们可以针对这个用户设置 cgroup 做资源限制. 可以在操作机上更改配置文件,然后分发到部署的集群上,方便我们做各种调参的测试. 可以…
生产环境中大多时候是需要管理配置文件的,安装软件包只是在初始化环境的时候用一下.下面我们来写个管理nginx配置文件的playbook   mkdir  -p /etc/ansible/nginx_config/roles/{new,old}/{files,handlers,vars,tasks} 其中new为更新时用到的,old为回滚时用到的,files下面为nginx.conf和vhosts目录,handlers为重启nginx服务的命令     关于回滚,需要在执行playbook之前先备…
--- - hosts: testhost   user: root   gather_facts: True   tasks:     - name: use when       shell: touch /tmp/when.txt       when: facter_ipaddress == "172.7.15.106"   Ansible playbook中的handlers 执行task之后,服务器发生变化之后要执行的一些操作,比如我们修改了配置文件后,需要重启一下服务  …
  ansible testhost -m copy -a "src=/etc/ansible  dest=/tmp/ansibletest owner=root group=root mode=0755"   注意:源目录会放到目标目录下面去,如果目标指定的目录不存在,它会自动创建.如果拷贝的是文件,dest指定的名字和源如果不同,并且它不是已经存在的目录,相当于拷贝过去后又重命名.但相反,如果dest是目标机器上已经存在的目录,则会直接把文件拷贝到该目录下面.   ansible…
  不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook 支持sudo 有提供UI(浏览器图形化)www.ansible.com/tower  10台主机以内免费 开源UI  https://github.com/alaxli/ansible_ui 文档 http://download.csdn.net/detail/liyang23456/7741185   Ansible 安装 两台机器 172.7.15…
Ansible playbook 根据条件动态设置变量 首先新建 inventory,主机列表如下: node-01 ansible_host=192.168.64.30 node-02 ansible_host=192.168.64.31 [app] node-01 [db] node-02 然后新建一个 test.yml,新增如下内容: - hosts: db[0]:app[0] # 支持索引取值 vars: - Role: "{{ 'db' if 'app' in group_names…
ansible常用module ansible-doc -l List available modules -s Show playbook snippet for specified module(s) ansible: ansible <host-pattern> [-f forks] [-m module_name] [-a args] args: key=value 注意:command模块要执行命令无须为key=value格式,而是直接给出要执行的命令即可: 常用模块: comman…
installAnsible简介和应用自动化基础实践 一.引入: 1.1  如官方定义,Ansible is The simplest way to automate apps and IT infrastructure.  它的设计灵感来自于作者Michael DeHanan喜欢的一本书<安德的游戏>中的一个通信工具Ansible,这个工具可以远程实时地指挥相距数光年的舰队作战. 由此,我们就可以猜想到作为自动化工具的Ansible功能的特点:远程管理批量的设备以实现应用或IT基础设施自动化…
Ansible 安装与配置 本章主要讲的是 Ansible 安装与基本配置,主要包含以下内容: Ansible 环境准备 安装 Ansible 配置运行环境 Ansible 环境准备 从 GitHub 获取 Ansible,准备控制主机,查看被管节点. 使用的操作系统为 Centos 7.0,自带 Python 2.7.5. 角色 主机名 IP 地址 组名 CPU Web 根目录 被管节点 web1 192.168.46.128 webservers 2 /website 被管节点 web2 1…
第1章 ssh+key实现基于密钥连接(ansible使用前提) 说明:    ansible其功能实现基于SSH远程连接服务    使用ansible需要首先实现ssh密钥连接 1.1 部署ssh key 1.1.1 第一个里程碑: 创建密钥对 ssh-keygen -t 指定密钥类型 rsa1 dsa(常用) ecdsa 语法: SYNOPSIS ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment] [-f ou…
背景:Teamleader提到一款好用的自动化配置管理工具,于是前去学习实践,有了下面分享. 纲要 一.Ansible简介 二.Ansible准备 2.1 Ansible安装 2.2 设置SSH公钥验证 三.Ansible配置 3.1 Ansible主机清单文件 3.2 Ansible配置文件 四.Ansible基础 4.1 Ad-Hoc Command 4.2Playbook 4.3ansible-playbook常用命令 4.4学习链接 五.Ansible实践:基于Ansible一键批量部署…
摘要:运维这个话题很痛苦,你做任何的产品都离不开运维.不管你用什么语言.什么平台.什么技术,真正能够决定你产品成熟度的很有可能就是你运维的能力.取自 云巴 CEO 张虎在 ECUG 大会上的分享. 云时代的运维 以前的运维那么痛苦,大家却并未做多大的努力去改变这个现状,为什么?因为原来你要自己去建机房.自己去采购.去调研机房.采购服务器.采购带宽,中间出了任何问题很大可能都是机房的问题. 在云时代,尤其是在AWS出现之后,很多美国团队的运维方式发生了极大的变化. 为什么云时代的运维跟原来的运维不…
本篇主要是根据官方翻译而来,从而使简单的翻译,并没有相关的实验步骤,以后文章会补充为实验步骤,此篇主要是相关理论的说明,可以称之为中文手册之一,具体内容如下: Ansible playbooks最佳实践 本文档主要阐述如何来写最好的playbook,在如下网址中能找到相关的例子,如下: https://github.com/ansible/ansible-examples 在使用playbooks的最佳路径中,最好的方法是使用roles,这是最好的方法,在官方文档中,至少强调了三篇,从而在使用p…
title: ansible 学习与实践 date: 2016-05-06 16:17:28 tags: --- ansible 学习与实践 一 介绍 ansible是新出现的运维工具是基于Python研发的糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能. ansible是基于模块工作的,ansible本身没有批量部署能力,真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架,框架包括 连接插件connection plugins…
ansible是什么? ansible是一款轻量级配置管理工具,用于远程批量部署.安装.配置.类似的还有puppet.saltstack,各有所长,任君自选. 官方文档:http://docs.ansible.com/ansible/latest/index.html 中文文档:http://www.ansible.com.cn/index.html 安装ansible Linux系统上最简单的可以使用yum安装,但由于ansible故不需要后台进程,不需要root权限,不依赖其他软件,只要有s…
ansible条件使用 1.条件使用最简单的方式 ansible中使用条件最简单的方式如下所示: [root@ansibleserver kel]# cat conditions.yml --- - hosts: servers tasks: - name: "shutdown centos system" command: /sbin/reboot when: ansible_lsb.id == "CentOS" 在以上例子中,主要是根据收集的fact变量来判断哪…
有时,我们写了一个长长,功能很强悍的yaml文件,但是,我们有可能会担心,写的yaml文件是否正确,是否有漏洞危机,毕竟是要修改线上的机器,那么,有可能我们可以从以下几个检查维度来进行,确保在大规模应用之前已经被充分检查. 检查三步骤: 第一步: 加上--syntax-check来检查你的playbook语法是否正确: [root@localhost playbook]# ansible-playbook -v --syntax-check template.yml Using /etc/ans…
playbook基于YAML语法来编写,基本语法规则如下: 1.大小写敏感 2.使用缩进表示层级关系 3.缩进时不允许使用Tab键,只允许使用空格 4.缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 5. # 表示注释,从这个字符一直到行尾,都会被解析器忽略. 6. 用---表示开头 YAML 支持三种数据结构: 对象:键值对的集合,用冒号:作为键值分隔 数组:一组按次序排列的值,用减号-作为标识 纯量:单个的.不可再分的值,如字符串,数值,日期等 例子: --- - hosts: web…
ansible相关的命令: ansible  用来执行ansible管理命令 ansible-doc 用来获取模块的帮助文档 ansible-playbook 当有众多任务时,可编写成playbook来运行 ansible的简单使用格式: ansible HOST-PATTERN -m MOD_NAME -a MOD_ARGS 获取模块列表 ansible-doc -l 里面有众多模块,掌握一些常用的即可满足日常工作 ansible-doc -s modulename # 获取模块简要使用说明…
1 介绍 Ansible 是一个系统自动化工具,用来做系统配管理,批量对远程主机执行操作指令. 2 实验环境 ip 角色 192.168.40.71 ansible管控端 192.168.40.72 远程机器A 192.168.40.73 远程机器B 在管控端安装ansible: yum install epel-release yum install ansible 配置管控端可无密登陆A/B机器 在管控端生成key并复制到A.B机器 ssh-keygen -t rsa ssh-copy-id…
一.ansible介绍 Ansible是一个简单的自动化运维管理工具,基于Python语言实现,由Paramiko和PyYAML两个关键模块构建,可用于自动化部署应用.配置.编排task(持续交付.无宕机更新等).主版本大概每2个月发布一次.Ansible与Saltstack最大的区别是Ansible无需在被控主机部署任何客户端代理,默认直接通过SSH通道进行远程命令执行或下发配置. Ansible核心组件说明:Ansible:Ansible的核心程序Host Lnventory:记录了每一个由…
1.最近浏览到一个比较新的分布式数据库Tidb,开源看起来比较牛的样子,一时手痒就动手试试部署 2.参考官方 Ansible 离线方式部署 :https://pingcap.com/docs-cn/op-guide/offline-ansible-deployment/ 3.环境:Win7+VirtualBox 虚拟机 ,网络环境:Win7 可以通过代理上网,6台虚拟机统一采用 hostonly 方式, 本来如果通过 可以上网的linux 机器作为下载机器和中控机器的话不需要这么没法,但内网代理…
一.前言 近期打算搞搞自动部署,因为是windows服务器,一些工具和系统支持都不是太好.最后发现ansible比较火,最重要的是他支持windows.本文主要就ansible 在windows使用环境搭建过程分享. 二.Ansible简介     ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有…
Ansible 架构及特点 第一章主要讲的是 Ansible 架构及特点,主要包含以下内容: Ansible 软件 Ansible 架构模式 Ansible 特性 Ansible 软件 Ansible 的编排引擎可以完成配置管理.流程控制.资源部署等工作. Ansible 基于 Python语言实现,由 Paramiko 和 PyYAML 两个关键模块构建. Ansible 应用领域 配置管理 服务即时开通 应用部署 流程编排 监控告警 日志记录 Ansible 架构模式 Ansible 维护模…
Ansible 组件介绍 本章主要通过对 Ansible 经常使用的组件进行讲解,使对 Ansible 有一个更全面的了解,主要包含以下内容: Ansible Inventory Ansible Ad-Hoc 命令 Ansible playbook Ansible facts Ansible role Ansible Galaxy Ansible Inventory Inventory 组件主要存储在配置管理工作中需要管理的不同业务的不同机器的信息.默认 Ansible 的 Inventory…
Ansible-实战指南-LNMP环境部署,并使用zabbix监控 主机规划 系统初始化:必要的系统初始化 基础组件包括:zabbix监控,mariadb(用于存放zabbix监控信息) 业务组件包括:MySQL.memcached.nginx.PHP.haproxy.keepalived 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: 3. 该用户也被 ansible 使用,因为几乎所有的生产环境都是禁止…
1.创建roles 在/etc/ansible/roles目录下 1.1 手动创建需要的目录 1.2 使用命令创建,用不到的目录可以创建为空目录,但不可以不创建. 创建目录[root@master] /etc/ansible/roles$ mkdir /etc/ansible/roles/nginx/{files,templates,tasks,handlers,vars,defaults,meta} -p创建main文件[root@master] /etc/ansible/roles/ngin…
1.下载解压 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz tar -zxvf  zookeeper-3.4.11.tar.gz && cd zookeeper-3.4.11 2.修改配置文件 cp conf/zoo_sample.cfg zoo.cfg vim zoo.cfg tickTime=2000 dataDir=/var/lib…
[root@master] /etc/ansible$ cat roles/java/tasks/main.yml ---- name: unzip jdk unarchive: src=jdk-8u121-linux-x64.tar.gz dest=/usr/ - name: rename shell: mv -f /usr/jdk1.8.0_121 /usr/java- name: set env copy: src=profile dest=/etc/ mode=0644 force=ye…
1.tasks/main.yml 2.template/zabbix_agentd.conf.j2 3.[root@master] /etc/ansible$ vim zabbix_agent.yml…