ansiable自动化运维工具

日常的运维工作任务

系统安装(物理机、虚拟机) --> 程序包安装、配置、服务启动 --> 批量操作 --> 程序发布 --> 监控

OS Provisioning

物理机:PXE(预引导程序)、Cobbler

PXE(网卡支持网络引导、dhcp、filename、next-server、tftp-server(UDP69端口监听))

-->pxelinux.0

-->vmlinux、initrd.img

-->menu.c32

-->pxelinux.cfg/default

虚拟机:Image Templates

Configration

程序包、用户管理、配置文件、服务管理、cron任务等

puppet (ruby研发的)

saltstack (python研发)

chef

cfengine(C/C++研发)

管理完成配置的安装和批量的管理

Command and Control

fabric

func

进入正题:

ansiable自动化运维工具

①ansible优点:

1、configuration:(cfengine、chef、puppet)  服务的配置

2、Deployment(Capistrano、Fabric)  应用程序的部署

3、Ad-Hoc Tasks(Func)  批量命令执行

4、Multi-Tier ORCHEHESTRATION 多层次的任务编排

②ansible特性:

上手方便简单

NO bootstrapping

No DAG ordering

NO agent

No server

No additional PKL

模块化,调用特定的模块,完成特定的任务

基于Python语言实现由Paramiko、Pyyaml(标记语言)jinja2三个关键模块

部署简单,agenless

支持自定义模块

支持Playbook

幂等性:允许重复执行多次

③ansible的模块:

查看doc帮助文档

ansible-doc -s command

command
    -a ‘command‘
ansible all -m command -a ‘echo Centos | passwd --stdin Centos‘  赋予Centos用户密码但是这
样是只打印出整体
user
    -a ‘name= state={present|absent} system= uid=‘
    ansible 主机名 -m user -a ‘name=cluster state=present ‘
group
    -a ‘name= gid= state= system=‘
cron
    -a ‘name= minute= hour= day= month= job= user= state=‘
    ansible 主机名 -m cron -a ‘name="sync time from ntpserver" state=present minute=*/10 
    job="/sbin/ntpdate 要同步的主机IP &>/dev/null"‘
ansible all -m cron -a ‘name="sync time from ntpserver" state=absent‘ 删除计划
copy
    -a ‘src=\‘#\‘" /etc/fstab dest=/tmp/fstab.tmp mode=600‘
file
    -a ‘path= mode= owner= group= state={directory|link|present|absent} src=\‘#\‘" /pre>


④ansible -playbooks的核心元素

->Tasks任务

->Variables变量

->Templates模板

->Handlers处理器

->Roles角色


⑤配置文件:

/etc/ansible/ansible.cgf  角色列表

/etc/ansible/hosts  主机清单


⑥ansible 源码安装配置

解决依赖:

yum -y install python-jinja2 PyYAML python-paramiko python-babel python-crypto

克隆到主机:

git clone git://github.com/ansible/ansible.git --recursive

安装文件:

source ./ansible/hacking/env-setup

创建配置文件:

mkdir -p /etc/ansible

cp ./examples/ansible.cfg /etc/ansible/

cp ./examples/hosts /etc/ansible/

创建公钥传递给要管理的主机:

ssh-keygen -t rsa -P ‘‘   ##一路回车

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

ssh IP ‘ifconfig‘  ##测试是否连通

ansible all -m ping


时间: 2024-09-29 16:10:51

ansiable自动化运维工具的相关文章

自动化运维工具介绍

运维目标有三个阶段,第一是追求稳定性,第二是追求标准化,第三是追求自动化.对于第三阶段来说,什么是运维自动化呢?简单地讲,运维自动化就是将日常重复性工作按照事先设定好的规则,在一定时间范围内自动化运行,而不需要人工参与.接下来简单介绍运维自动化工具,要了解运维平时用到的自动化工具,就需要了解运维人员的日常工作有哪些. 一.运维的日常工作 运维的日常工作可以总结为以下四个部分,分别是: (1) 系统安装 (2) 应用程序配置(Configuration) (3) 命令执行与控制(Command a

自动化运维工具之ansible

ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. 主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定

自动化运维工具之ansible的简单应用

ansible: ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,例如shell,copy,ping等,ansible只是提供一种框架.ansible的主要特性: 模块化:调用特定的模块,完成特定任务 基于Python语言实现,由Pa

自动化运维工具Ansible详细部署

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1579894 ========================================================================================== 一.基础介绍 =========================================================

自动化运维工具Ansible实战(一)安装部署

1,基本介绍 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定操作

Ansible自动化运维工具部署及使用

一.Ansible介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inven

ansible自动化运维工具使用详解

一.ansible简介 1.ansible ansible是新出现的自动化运维工具,基于Python研发.糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能.仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被管控的主机无客户端.ansible应用程序存在于epel(第三方社区)源,依赖于很多python组件 参考站点:http://www.ansible.com.cn 2.ansible特性 模块化设计,调用特定的模块来完成特定任务,本身是核

自动化运维工具Ansible架构部署应用及playbooks简单应用

在日常服务器运维中,我们经常要配置相同的服务器配置,前期我们都是一台一台的去配置,这种方法操作主要应对于服务器数量不多且配置简单的情况还可以继续这样操作,如果我们后期维护几百服务器或者几万服务器呢? 我应该怎样去快速配置服务器呢?如果需要手动的每台服务器进行安装配置将会给运维人员带来许多繁琐而又重复的工作同时也增加服务器配置的异常,至此自动化运维工具解决我们的瓶颈---Ansible工具. Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfeng

自动化运维工具Ansible部署详解与基本使用

一.基础简介 1.Ansible简介 Ansible是一款基于Python开发的自动化运维工具,主要是实现批量系统配置.批量程序部署.批量运行命令.批量执行任务等等诸多功能.Ansible是一款灵活的开源工具,能够很大程度简化运维中的配置管理与流程控制方式,它利用推送方式对客户系统加以配置,这样所有工作都可在主服务器端完成.Asible是基于模块工作的,其本身没有批量部署的能力,总之只要明白Ansible是一款运维自动化的神器就好了~! 2.功能特性 ######################