zoukankan      html  css  js  c++  java
  • ansible自动化运维工具的安装与使用

    运行环境
    centOS6.6

    ansible

    ansible的功能还是比较多的,博主只用它在集群上进行批量部署软件和维护的功能,其他不多做研究,有需要的话这篇文章会慢慢补充。

    ansible特点

    • 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
    • 批量任务执行可以写成脚本,而且不用分发到远程就可以执行;
    • 使用python编写,维护更简单,ruby语法过于复杂;
    • 支持sudo。

    安装

    yum install ansible
    

    使用

    1. 配置ssh
      ansible是通过基于ssh实现的,我们先配置ssh无密码登录

      ssh-keygen
      ssh-copy-id -i ~/.ssh/id_rsa.pub user@dp0655
      ssh-copy-id -i ~/.ssh/id_rsa.pub user@dp0656
      ssh-copy-id -i ~/.ssh/id_rsa.pub user@dp0657
      
    2. 主机组定义
      这里定义了一个spark_test组

      vim /etc/ansible/hosts
      [spark_cluster]
      dp0655
      dp0656
      dp0657  
      
    3. 连通测试
      ansible all的意思是对/etc/ansible/hosts中的所有主机进行操作,我这只对spark_cluster组进行操作。

      #查看spark_cluster组中的主机
      ansible spark_cluster --list-hosts
      dp0655
      dp0656
      dp0657
      
      #测试是否连通
      ansible spark_cluster -m ping
      dp0657 | success >> {
      "changed": false, 
      "ping": "pong"
      }
      
      dp0656 | success >> {
      "changed": false, 
      "ping": "pong"
      }
      
      dp0655 | success >> {
      "changed": false, 
      "ping": "pong"
      }
      

    常用操作

    1. 用户和权限
      -u 指定运行的用户(默认为root)
      -s 使用sudo权限

      ansible spark_cluster -a "mkdir /usr/xx/xx" -s -u userName
      
    2. copy
      将本地文件/文件夹发送到远程主机,ansible的copy模块是围绕rsync的包装,所以它是增量而不是全量的拷贝。
      参数说明:
      src 本地文件/文件夹位置
      dest 发送到远程主机的位置
      owner(可选) 所属用户
      group(可选) 所属用户组
      mode(可选) 权限

    将本地文件/etc/ansible/ansible.cfg复制到远程服务器

    ansible spark_cluster -m copy -a "src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg owner=admin group=admin mode=0644"
    1. 批量执行脚本
      在远程批量执行本地脚本

      ansible spark_cluster -m script -a "hello.sh"
      

    ansible的中文操作手册
    http://www.simlinux.com/books/Ansible-notes.pdf

  • 相关阅读:
    程序跳转到itunes商店
    程序跳转到itunes商店
    app被Rejected 的各种原因翻译。这个绝对有用
    app被Rejected 的各种原因翻译。这个绝对有用
    iphone开发中使用nib(xib)文件的内存管理
    iphone开发中使用nib(xib)文件的内存管理
    Resource Management in View Controllers
    Linux_RHEL7_YUM
    Python基本语法_函数_返回值
    Python基本语法_函数_返回值
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6168184.html
Copyright © 2011-2022 走看看