精华内容
下载资源
问答
  • 自动化运维工具

    2018-07-11 14:55:05
    ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
  • 自动化运维工具Ansible详细部署
  • 自动化运维工具ansible使用教程.zip
  • Ansible 自动化运维工具笔记
  • 自动化运维工具ansible学习笔记
  • ansible自动化运维工具

    2018-10-31 14:30:58
    ansible自动化运维工具,了解自动发运维工具,释放双手
  • ansible是一个自动化运维工具,基于python开发,实现了批量系统配置、批量程序部署、批量命令执行等功能; 2.安装 只需要在客户端机器上安装ansible命令,无需每台服务器都安装。 安装命令:yum install -y ansible ...
  • 校园网自动化运维工具部署.pdf
  • 自动化运维工具Ansible详细部署
  • ansible是新出现的自动化运维工具,基于Python研发。糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等功能。仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被管控...
  • Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
  • 主要介绍了自动化运维工具ansible的使用详细教程的相关资料,需要的朋友可以参考下
  • 使用自动化运维工具Ansible集中化管理服务器
  • 企业信息系统自动化运维工具研究与应用.pdf
  • 电力行业信息系统自动化运维工具的应用.pdf
  • 自动化运维工具ansible学习笔记.pdf
  • puppet自动化运维工具

    2018-05-31 22:26:22
    自动化运维工具puppet--------------------------------------------------------------------
  • 它是一套企业级自动化运维工具。ansile实现主控机控制被控机的管理,被控机一般使用ssh无你或代理服务。因为ansible主要用于中小型应用环境,如果大型企业维护上1000台服务时,建议使用Saltstack+agent,执行的效果会...
  • powershell studio编写的自动化运维工具,免客户端,支持大批量windows和Linux服务器管理。在windows域环境下可以非常容易实现自动化运维工作,测试过对600 的服务器做zabbix agent更新,效果非常好。
  • 2019/10/30 完成 ping rsync 命令判断格式 完成 ping 指令运行模板 完成 rsync 指令运行模板 Tree目录结构 明日计划: 添加批量执行命令功能;...目标:实现一个比ansible使用更加方便的自动化运维工具 ...

    2019/10/30

    1. 完成 ping rsync 命令判断格式
    2. 完成 ping 指令运行模板
    3. 完成 rsync 指令运行模板

    Tree目录结构
    在这里插入图片描述
    功能测试:
    ping 测试主机存活
    在这里插入图片描述

    rsync 批量分发文件
    在这里插入图片描述
    明日计划:

    1. 添加批量执行命令功能;
    2. 添加为远程服务器执行本地脚本功能;

    2019/10/31

    1. 添加批量执行命令功能;
    2. 添加为远程服务器执行本地脚本功能;

    Tree目录
    在这里插入图片描述
    功能测试:
    批量执行命令
    在这里插入图片描述
    远程服务器执行本地脚本
    在这里插入图片描述

    2019/11/1

    今日生产环境升级,工具无更新

    2019/11/2

    1. 今日完成任务编排基础运行流程

    明日计划:
    2. 任务编排、剧本功能(格式要比ansible剧本要求低、更加容易上手)

    不足之处:
    1. 命令格式太过于长,待功能增加之后再做命令优化
    2. 现在处于都是免密状态操作,需要添加统一输入密码功能
    3. 命令预检
    目标:实现一个比ansible使用更加方便的自动化运维工具

    展开全文
  • 运维工具之轻量级自动化运维工具Fabric源码安装前言在运维工作中,经常会遇到重复性的劳动,这个时候为了效率就必须要使用自动化运维工具。这里我给大家介绍轻量级自动化运维工具Fabric,Fabric是基于Python语言开发...

    运维工具之轻量级自动化运维工具Fabric源码安装

    前言

    在运维工作中,经常会遇到重复性的劳动,这个时候为了效率就必须要使用自动化运维工具。这里我给大家介绍轻量级自动化运维工具Fabric,Fabric是基于Python语言开发的,是开发同事的最爱。为了方便自动化运维,经常会将Fabric部署在跳板机上。

    之所以部署跳板机是基于几点考虑的:

    • 基于安全的考虑,只有跳板机上开放了公网IP和SSH Key登录,其他内部的业务机默认只允许内网登录,公网IP地址不对外开放。
    • 为了方便自动化运维部署,跳板机上做了免密码登录,可以直接通过SSH命令操作其他业务机器。
    • 设置了权限控制权限,跳板机上部署了几套key,分别对应于不同的权限分配,可以给公司的同事不同的私钥登录跳板机

    Fabric是基于Python实现的ssh命令行工具,简化了ssh的应用程序部署及系统管理任务,它为系统提供了基础的操作组件,可以实现本地或远程Shell命令,包括文件上传、下载、脚本执行及完整执行日志输出等功能。

    Fabric的安装

    安装Fabric时,可以选择采用Python的pip、easy_install及源码安装方式,这些方式能够很方便的解决包依赖关系。大家可以根据系统环境自行选择最优的安装方法,如果选择pip或easy_install安装方式,若是使用系统最小化安装,注意提前安装gcc、gcc+、make这些基础开发包和python-pip):

    yum -y install make gcc gcc++ python-devel python-pip

    pip是安装python包的工具,提供了安装包、列出已经安装的包、升级包及卸载包的功能,可以通过pip工具直接安装Fabric。

    使用pip 安装 Fabric的命令:

    pip install fabric

    这是推荐使用源码安装的方式:
    首先需要先去官网上找到源码包的位置,使用wget进行下载。

    下载完成后,安装相关的软件包。

    然后解压源码包,使用Python命令运行安装脚本,进行安装。

    等待安装命令运行完毕后,就可以去验证了。

    这里使用IPython进行验证,在交互解释器下,输入import fabric 查看是否导入模块成功,若无报错则表示fabric当前已经安装成功。

    展开全文
  • 自动化运维工具在云计算环境中的实践.docx
  • 本文详细介绍了ansible puppet saltstack三款自动化运维工具的对比 本资料共包含以下附件: ansible puppet saltstack三款自动化运维工具的对比.docx
  • 最受欢迎3、批量程序的部署4、批量命令的运行查看状态信息ansible的架构大致如下ansible是新出现的运维工具是基于Python研发的糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等...
  • 随着云计算技术的快速普及与发展,越来越多的企业开始...为了避免这样的风险,本文的示例中,笔者将详细介绍如何使用开源软件SaltStack自动化运维工具对云环境中的服务器进行命令的远程执行及配置管理,确保操作的安
  • 自动化运维工具——ansible

    千次阅读 2020-03-14 18:59:44
    Ansible是新出现的自动化运维工具,它基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 它是一个配置管理系统,我们只需要通过...

    Ansible基本概述

    Ansible是新出现的自动化运维工具,它基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
    它是一个配置管理系统,我们只需要通过ssh访问服务器或设备就可以帮助我们完成一些批量任务或重复性的工作。

    ansible软件特点

    • 部署简单。它不需要单独安装客户端,只需要通过ssh协议就可以对设备进行管理
    • 配置简单。安装完成不需要启动任何服务,仅需要安装对应工具即可
    • 扩展性强。基于Python开发,可自定义Python模块实现批量管理
    • 模块化。所有的操作都基于模块

    ansible软件服务意义

    • 提高工作效率
    • 提高工作准确度
    • 减少维护成本
    • 减少重复性工作

    ansible基础架构图

    图片来自网络
    上图模块详解:

    1. (connection plugins)连接插件。用于连接主机(被管理端)
    2. (core modules)核心模块。连接主机实现操作,它依赖于具体的模块来实现具体的事情
    3. (custom modules)自定义模块。根据需求编写模块
    4. (plugins)插件。完成模块功能的补充
    5. (playbooks)剧本。将多个任务定义在剧本中,由Ansible自动执行
    6. (host inventory)主机清单。定义Ansible需要操作主机的范围
      环境准备:
    IPOS描述
    192.168.8.41CentOS7.8Ansible管理端
    192.168.8.51CentOS7.8被管理端
    1. 先升级epel源,否则可能找不到软件包

      yum install -y epel-relase
      
    2. 安装软件

      yum install -y ansible
      
    3. ssh部署公钥发至被管理端

      #!/bin/bash
       for i in `cat ip.list`
       do
        ssh-copy-id -i /root/.ssh/id_rsa.pub root@$i "-o StrictHostKeyChecking=no" &>/dev/null
       done 
      
    4. 清单管理
      配置/etc/ansible/hostsinventory文件

      //方法1:通过IP定义主机
      [jxj]
      192.168.8.51
       
      //方法2:iventory文件支持主机名和非标准的ssh端口以及正则表达式和
      [domainname]
      www.web1.com:11111
      www.web2.com
      www.web3.com
      www.web[1:3].com
      //方法3:支持指定变量,可对个别主机进行特别配置,如登录用户、密码等
      [server_ip_list]
      192.168.8.100 ansible_ssh_user_=root ansible_ssh_pass="123456"
      

    inventory内置变量

    参数用途例子
    ansible_ssh_host定义 hosts ssh地址ansible_ssh_host=192.168.8.100
    ansible_ssh_port定义shh端口ansible_ssh_port=5201
    ansible_ssh_user定义hosts ssh认证用户ansible_ssh_user=user
    ansible_ssh_pass定义hosts ssh认证密码ansible_ssh_pass=pass
    ansible_sudo定义hosts sudo用户ansible_sudo=sssss
    ansible_sudo_pass定义hosts sudo密码ansible_sudo_pass=123
    ansible_sudo_exe定义hosts sudo路径ansible_sudo_exe=/usr/sbin/sudo
    ansible_connection定义hosts连接方式ansible_connection=local
    ansible_ssh_shell_type定义hosts shell类型ansible_ssh_shell_type=bash
    ansible_python_interpreter定义hosts任务执行python路径ansible_python_interpreter=/usr/bin/python3.7
    ansible_*_interpreter定义hosts其它语言解析路径ansible_*_interpreter=/usr/bin/java
    ansible_ssh_private_key_file定义hosts私钥ansible_ssh_private_key_file=/root/key

    ansible常用模块

    • command模块(默认)

      ansible jxj -a "hostname"
      

      chdir:在执行命令之前切换相应目录

      ansible jxj -m command -a "chdir=/tmp touch aa.txt"
      creates: 		//如果文件存在,不执行命令操作
      ansible jxj -m command -a "creates=c.txt touch bb.txt"
      removes: 		//如果文件存在,执行命令
      ansible jxj -m command -a "removes=c.txt touch bb.txt"
      

    注意:command模块不支持< > | ; &等符号

    • shell模块(支持正则表达式以及一些特殊符号)

      ansible jxj -m shell -a "sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config"
      
    • copy模块: 将数据信息进行批量分发(默认覆盖内容)

      ansible jxj -m copy -a "src=/etc/hosts dest=/etc/"
      

      copy模块参数:

      src:本地路径/文件
      dest:目标路径/文件(如存在重命名)
      backup(=yes/no):额外生成一个备份文件
      group:指定组
      content:添加内容
      owner:指定主
      mode:修改权限
      
    • file模块: 设置文件属性信息

      ansible jxj -m file -a "dest=/etc/hosts owner=root group=root mode=777"	
      

      state参数:

      =absent    --- 缺席/删除数据信息
      =directory --- 创建一个目录信息
      =file      --- 检查创建的数据信息是否存在 绿色存在 红色不存在
      =hard      --- 创建一个硬链接文件
      =link      --- 创建一个软链接文件
      =touch     --- 创建一个文件信息
      
    • yum模块:

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

      name:指定安装软件名称
      state参数:

      =installed    //安装软件
      =present	   //安装软件
      =latest        //安装最新版软件
      =absent     //卸载软件
      =removed   //卸载软件
      
    • service模块: 管理服务器的运行状态
      name: 指定管理的服务名称
      enabled(=yes/no): 指定服务是否开机自启动

      ansible jxj -m service -a "name=sshd state=restarted"
      

      state参数:

      停止stopped
      开启started
      重启restarted
      
    • cron模块: 批量设置多个主机的定时任务信息

      ansible jxj -m cron -a "minute=0 hour=2 job='/usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1'" 
      

      crontab -e

      minute:               //设置分钟信息( 0-59,  */2)                       
      hour:                  //设置小时信息( 0-23, */2 )                
      day:                   //设置日期信息( 1-31, *, */2)                       
      month:              //设置月份信息 ( 1-12,*/2 )                       
      weekday:          // 设置周信息 ( 0-6 for Sunday-Saturday)                      
      job                 //用于定义定时任务需要干的事情
      

      给计划任务设置注释信息(只能操作ansible设置的)

      ansible jxj -m cron -a "name='jxjcron' minute=3 hour=2 job='/usr/sbin/ntpdate mtp1.aliyum.com &>/dev/null' disabled=yes"
      

      删除指定计划任务(只能操作ansible设置的)

      ansible jxj -m cron -a "name='jxjcron' state=absent"
      
    • mount模块: 批量进行挂载操作

      rc:  需要挂载的存储设备或文件信息 
      path: 指定目标挂载点目录
      fstype: 指定挂载时的文件系统类型
      state=
      present/mounted     //挂载
      present: 	不会立即挂载,修改fstab文件,实现开机自动挂载
      mounted:	//立即挂载, 并且会修改fstab文件,实现开机自动挂载 
      absent/unmounted    //卸载
      absent:     //立即卸载, 并且会删除fstab文件信息,禁止开机自动挂载
      unmounted:  //立即卸载, 但是不会会删除fstab文件信息
      
    • user模块: 实现批量创建用户

      ansible jxj -m user -a "name=beitai_one"
      

      user模块参数:

      name:指定创建用户的名称
      gid:指定gid
      uid:指定uid
      group/groups:指定组信息
      create_home(yes/no):创建家目录,默认yes
      shell:指定用户登录的shell类型
      

      给用户生成密码:

      ansible all -i localhost, -m debug -a "msg={{'123456' | password_hash('sha512','密码口令')}}"
      

      使密码生效:

      ansible jxj -m user -a 'name=jxj1 password=$6$jxj$lb4BpCo33QoczNvSLYD5DagSXHWBgYeNCYx38LxkrjZFWlYEgkVG4SzWgxACy3LEoOps3latRCqoTLQGRVFRL1'
      

    更多模块信息请参考Ansible官方文档或使用ansible-doc -l命令查看。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 100,940
精华内容 40,376
关键字:

自动化运维工具