ansible

ansible 初探nginx安装

北慕城南 提交于 2020-01-29 19:08:35
我的配置: /etc/hosts: /etc/ansible/hosts: nglinx安装包: ansible自动化安装nginx: 1.安装ansible。 2.创建目录结构: mkdir -p /ansible/roles/nginx/{defaults,files,handlers,meta,tasks,templates,vars} 3.install_nginx.sh: #!/bin/bash yum -y install zlib zlib-devel openssl openssl-devel pcre-devel groupadd -r nginx useradd -s /sbin/nologin -g nginx -r nginx cd /tmp tar xf nginx-1.9.9.tar.gz;cd nginx-1.9.9 mkdir /var/run/nginx/;chown nginx.nginx /var/run/nginx/ ./configure \ --prefix=/usr \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --pid-path=/var/run/nginx

Ansible Playbooks基本使用

烈酒焚心 提交于 2020-01-29 18:56:29
你将学到什么 如何使用playbook 如何编写playbook 如何使用roles PlayBook使用 基础环境 ### 64 位 Ubuntu 16.04 LTS,创建CentOS LXC容器web模拟托管节点 # ssh-keygen -t rsa # apt-get install lxc # apt-get install yum # lxc-create -n centos -t centos -- -R 7 ### 修改centos模板root密码 # chroot /var/lib/lxc/centos/rootfs passwd # lxc-copy -n centos -N web -B aufs -s # lxc-start -n web -d ### 进入容器 # lxc-console -n web ### 下面命令都在容器中执行,修改IP地址为10.0.3.200 # vi ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static ONBOOT=yes HOSTNAME=centos NM_CONTROLLED=no TYPE=Ethernet NAME=eth0 IPADDR=10.0.3.200 NETMASK=255.255.255.0 GATEWAY=10.0.3.1 DNS1=114.114.114.114

使用Ansible自动配置Nginx服务

99封情书 提交于 2020-01-29 18:52:27
1、首先安装好Ansible环境,具体步骤请见 Ansible安装 2、先创建hosts文件(为后面编写脚本安装JDK做铺垫) [root@localhost /]# vi hosts [jdktest] 192.168.186.133 ansible_ssh_user=guxiong ansible_ssh_pass=private 192.168.186.134 ansible_ssh_user=guxiong ansible_ssh_pass=private 注:记得/etc/ansible/hosts也要加入 3、创建文件夹 [root@localhost /]# makedir roles nginx-install default files ngnix-install nginx-install.tar.gz handler meta tasks main.yml templates install-nginx.sh nginx.conf vars main.yml 4、编辑tasks下面的main.yml - name: create direc shell: mkdir -p {{ nginx_path }} - name: copy nginx file to remote client copy: src=nginx-install.tar.gz dest=

Ansible简明使用手册

故事扮演 提交于 2020-01-29 18:51:44
Ansible 使用 简明手册 1 、 简介 ansible 是新出现的自动化运维工具,基于 Python 开发,集合了众多运维工具( puppet 、 cfengine 、 chef 、 func 、 fabric )的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible 是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是 ansible 所运行的模块, ansible 只是提供一种框架。主要包括: (1) 、连接插件 connection plugins :负责和被监控端实现通信; (2) 、 host inventory :指定操作的主机,是一个配置文件里面定义监控的主机; (3) 、各种模块核心模块、 command 模块、自定义模块; (4) 、借助于插件完成记录日志邮件等功能; (5) 、 playbook :剧本执行多个任务时,非必需可以让节点一次性运行多个任务。 2 、 特性 (1) 、 no agents :不需要在被管控主机上安装任何客户端; (2) 、 no server :无服务器端,使用时直接运行命令即可; (3) 、 modules in any languages :基于模块工作,可使用任意语言开发模块; (4) 、 yaml , not code :使用 yaml 语言定制剧本 playbook ; (5) 、

devops工具-Ansible基础

时光总嘲笑我的痴心妄想 提交于 2020-01-29 18:36:10
一、Ansible介绍 简介 Ansible使用Python语言开发,是一个配置管理型工具,与之类似的工具还有Puppet、SaltStack、chef等,默认通过SSH协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,可同时支持多台主机进行管理,Ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是Ansible所运行的模块,能够实现批量运行命令、部署程序、配置系统等功能。目前已经Ansible已经被红帽官方收购,并基于实现了企业级产品,如tower。 Ansible上手快,简单易学,深受广大运维人员青睐,是devops工程师必备技能之一。 特点 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作; 默认使用SSH协议对设备进行管理; 丰富的模块支持,可实现日常绝大部分操作; 配置简单、功能强大、扩展性强; 支持API及自定义插件或模块,可通过Python轻松扩展; 通过Playbooks来定制强大的配置、状态管理; 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可; 架构 1. Ansible:核心应用程序 2. Host inventory: 主机清单,用来定义Ansible管理的主机,默认是在Ansible配置文件中定义被管理主机,同时也支持自定义动态主机清单。 3. Comecton pugins

ansible学习系列1-ansible简介

こ雲淡風輕ζ 提交于 2020-01-29 18:26:27
1.ansible简介 官方说明:Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. 翻一下就是:Ansible是一个IT自动化工具。它可以配置系统,部署软件,并编排更高级的的IT任务,如持续部署或零停机滚动更新。 2.ansible的特点 部署简单,主要在主控端部署ansible环境,被控端无需做任何操作。 默认使用ssh协议对设备进行管理。 主从集中化管理。 配置简单,功能强大,扩展性强。 支持API及自定义模块,可通过Python轻松扩展。 通过Playbooks来定制强大的配置,状态管理 对云平台,大数据都有很好的支持。 提供一个功能强大的,操作性强的web管理界面和REST API接口 3.ansible的安装 从源码运行 通过Yum安装最新发布版本 通过Apt (Ubuntu)安装最新发布版本 通过 Portage (Gentoo)安装最新发布版本 通过 pkg (FreeBSD)安装最新发布版本 在Mac OSX 上安装最新发布版本 通过 OpenCSW

Ansible的简单使用

南楼画角 提交于 2020-01-29 18:08:01
ansible相关原理简单介绍: ansible 是基于 ssh 服务 .ssh 服务一般服务器上都自带了 . ansible 所有的工作都依赖于核心模块来完成 , 这些核心模块都是 ansible 自身携带的 , 若 这个内置模块功能不满足需求 , 还可以自己编写模块 , 任何语言都行 , 遵循基本的语法规 范 , 能执行就行。 为了对部分主机执行配置 , 区分不同组的主机我们需要定义 host inventory.( 主机清单 ), 可以通过读取组名自动识别组成员。 Ansible 遵从幂等性 : 幂等性: 即同一个命令无论几次执行 , 其结果一样 . 如卸载软件 , 第一次卸载成功了 , 再次运行卸载命令 , 则依旧报卸载成功了 . ansible的安装: 上传安装包到/usr/local/src [root@lbg src]# unzip ansible.zip 解压后进入目录,ansible-2.5.0-2.el6.noarch.rpm 是主要安装包,其他是依赖包。 [root@localhost ansible]# yum -y localinstall * ----安装。 [root@localhost ansible]# rpm -q ansible ---查看是否安装成功。 ansible的简单使用: 1.编辑 host inventory.( 主机清单 ),

ansilbe基础学习(一)

守給你的承諾、 提交于 2020-01-29 18:07:36
Ansible是一个简单高效的自动化运维管理工具,用Python开发,能大批量管理N多台机器,可以并发的在多台机器上部署应用、安装软件、执行命令、配置和编排任务。 一、Ansible工作机制 从图中可以看出ansible分为以下几个部份: 1> Control Node:控制机器 2> Inventory:主机清单,配置管理主机列表 3> Playbooks:剧本、任务编排。根据规则定义多个任务,模块组织结构清晰,由ansible自动执行。 4> Modules(Core | Custom):模块,用于执行某个具体的任务 5> connection plugin(连接插件):Ansible通过不同的协议连接到远程主机上,执行指定的命令。默认采用ssh协议连接远程主机。 二、Ansible执行流程 简单理解就是Ansible在运行时,首先读取ansible.cfg中的配置,根据规则获取Inventory中的管理主机列表,并行的在这些主机中执行配置的任务,最后等待执行返回的结果。 三、安装Ansible 一台控制主机:192.168.0.202 三台管理主机: 192.168.0.200 192.168.0.201 192.168.0.203 安装要求: 控制服务器:需要安装 Python2.6/2.7 管理服务器:需要安装 Python2.4 以上版本,若低于 Python2.5

学习linux的第七十四天

会有一股神秘感。 提交于 2020-01-27 02:17:38
playbook的条件判断 查看到setup收集到的所有的facter信息: ansible testhost -m setup 编辑条件: [root@KXLZQ ~]# vim /etc/ansible/when.yml hosts: testhost user: root gather_facts: True tasks: - name: use when shell: touch /tmp/when.txt when: ansible_ens33.ipv4.address == “192.168.70.129” 注: when: ansible_ens33是一个数组存储着网卡相关信息,ipv4属于该数组的子元素,但是ipv4也是一个数组,而address则是ipv4数组的子元素。我们需要使用address 来作为判断条件。所以要访问address就需要使用这样的格式: when: ansible_ens33.ipv4.address,address表示的是键,而"192.168.70.129"则是值,when为判断语句相当于if,所以其判断条件为:该键的值为"192.168.70.129"时就执行shell模块里定义的语句。 执行: [root@KXLZQ ~]# ansible-playbook /etc/ansible/when.yml PLAY [testhost]

Ansible部署rsync、nfs及sersync

爷,独闯天下 提交于 2020-01-26 20:35:05
rsync nfs sersync httpd 环境: 角色 外网IP(NAT) 内网IP(LAN) 主机名 Rsync服务端 eth0:10.0.1.51 eth1:172.16.1.51 backup NFS&Sers服务端 eth0:10.0.1.41 eth1:172.16.1.41 nfs JUMP SERVER eth0:10.0.1.71 eth1:172.16.1.71 m01 Rsy&NFS客户端 eth0:10.0.1.7 eth1:172.16.1.7 web01 Rsy&NFS客户端 eth0:10.0.1.8 eth1:172.16.1.8 web02 cat /etc/ansible/hosts [backup] 172.16.1.51 [nfs] 172.16.1.41 [web] 172.16.1.7 172.16.1.8 [all:children] backup nfs web 1.基础环境部署 1)firewalld selinux 2)ssh密钥生成以及公钥推送 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa -C root ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.7 ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.8 ssh