zoukankan      html  css  js  c++  java
  • 自动化运维Ansible安装篇

    Ansible自动化工具之--部署篇

    ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:

    (1)、连接插件connection plugins:负责和被监控端实现通信;

    (2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;

    (3)、各种模块核心模块、command模块、自定义模块;

    (4)、借助于插件完成记录日志邮件等功能;

    (5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

    如何安装Ansible

    环境介绍

    官网安装Ansible的几种方式参考一下 ,接下来给大家的介绍的是通过pip的方式安装ansible的2.3.2版本.
    本次使用的是Centos6.7版本操作系统,所以在安装ansible之前需要把默认的python2.6.6版本升级至python2.7.5版本

    Python升级

    安装python2.7.5版本
    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel gcc-c++
    tar xf Python-2.7.5.tar.gz
    编译与安装Python
    cd Python-2.7.5
    ./configure –prefix=/usr/local
    make && make install
    make clean
    make distclean
    将系统python命令指向Python 2.7
    mv /usr/bin/python /usr/bin/python2.6.6
    ln -s /usr/local/bin/python2.7 /usr/bin/python
    将yum需要执行的python指定为2.6.6
    vi /usr/bin/yum
    将文件头部的
    #!/usr/bin/python
    改成
    #!/usr/bin/python2.6.6
    pip安装Ansible

    更换镜像源:OPSX源站

    根据系统版本选择合适的源:{centos,epel,pip}

    下载get-pip.py文件: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

    安装pip: python get-pip.py

    安装ansible:
    创建pip软连接: ln -s /usr/local/bin/pip /usr/bin/pip
    制定版本安装ansible: pip install ansible==2.3.2.0

    查看ansible版本: ansible --version

    Ansible基本配置
    ansible是轻量级的自动化批量管理工具,无需客户端安装agent就可以操作远程主机,下面介绍两种hosts配置方式,在介绍之前pip安装的ansible是没有配置文件的,需要手动创建配置文件目录。
    创建ansible目录,默认是在/etc/目录下
      mkdir /etc/ansible
    创建配置文件
      touch /etc/ansible/ansible.conf
    基本配置信息:
      [defaults]
      inventory = /etc/ansible/hosts
      forks = 5
      log_path=/var/log/ansible.log
      host_key_checking = False
      [accelerate]
      accelerate_port = 5099
      accelerate_timeout = 30
      accelerate_connect_timeout = 5.0
    基础配置,根据需求自行添加配置文件
    Ansible运行前的最后一次配置hosts

    hosts配置参数

    ansible_ssh_host   #用于指定被管理的主机的真实IP
    ansible_ssh_port   #用于指定连接到被管理主机的ssh端口号,默认是22 
    ansible_ssh_user   #ssh连接时默认使用的用户名 
    ansible_ssh_pass   #ssh连接时的密码 
    ansible_sudo_pass     #使用sudo连接用户时的密码 
    ansible_sudo_exec     #如果sudo命令不在默认路径,需要指定sudo命令路径 ansible_ssh_private_key_file     #秘钥文件路径,秘钥文件如果不想使用ssh-agent管理时可以使用此选项 
    ansible_shell_type     #目标系统的shell的类型,默认sh 
    ansible_connection     #SSH 连接的类型: local , ssh , paramiko,在 ansible 1.2 之前默认是 paramiko ,后来智能选择,优先使用基于 ControlPersist 的 ssh (支持的前提) 
    ansible_python_interpreter     #用来指定python解释器的路径,默认为/usr/bin/python 同样可以指定ruby 、perl 的路径 
    ansible_*_interpreter    #其他解释器路径,用法和ansible_python_interpreter类似,这里"*"可以是ruby或才perl等其他语言

    hosts配置文件可用两种方式配置:

      1、ssh

      2、密钥

    本次介绍使用ssh的方式配置hosts文件来控制主机

    vim /etc/ansible/hosts

    [web-202]

    10.244.78.202 ansible_ssh_user=root ansible_ssh_pass=qwe`123

    [web-204]

    10.244.78.204 ansible_ssh_user=root ansible_ssh_pass=qwe`123

    [web-206]

    10.244.78.206 ansible_ssh_user=root ansible_ssh_pass=qwe`123

    [webserver:children]

    web-202

    web-204

    web-206

  • 相关阅读:
    文件上传以及JS链式结构
    JQUERY事件
    Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案(转)
    WebSocket
    用户态和核心态的区别
    Visual Studio中的.suo(Solution User Options)文件
    探索Visual Studio生成的.vs文件夹内部结构和作用
    VMware搭建虚拟机服务器
    【图解】用虚拟机做服务器
    .NET C# 创建WebService服务简单的例子
  • 原文地址:https://www.cnblogs.com/JeremyWYL/p/9286551.html
Copyright © 2011-2022 走看看