zoukankan      html  css  js  c++  java
  • 1. Ansible 简介

    目录

    1. Ansible 是什么?
    2. Ansible 特性
    3. 控制主机需求
    4. 被管理节点需求


    1. Ansible 是什么?

    Ansible 是一个配置管理系统(configuration management system),也是一个自动化运维工具。其使用OpenSSH协议,通过ssh的方式登录远程主机,可实现对批量系统的初始化配置,批量程序部署,批量执行命令等功能。

    Ansible 基于模块工作,本身没有批量部署的能力,具有批量部署的是 Ansible 所运行的模块,Ansible只是提供一种框架。


    2. Ansible 特性

    0x01 功能特性

    • 应用代码自动化部署;
    • 系统管理配置自动化;
    • 支持持续交付自动化;
    • 支持云计算、大数据平台(如AWS、OpenStack、CloudStack等)环境;
    • 轻量级,无需在客户端安装 agent,更新时只需要在控制及上进行一个更新即可;
    • 批量任务执行可以写成脚本,不用分发到远程就可以执行;
    • 使用 Python 编写,维护更简单,Ruby 语法过于复杂;
    • 支持非 root 用户管理操作,支持 sudo。

    3. 控制主机需求

    目前 Ansible 支持主机中有 Python 2 (version 2.7)Python 3 (version 3.5 或更高)版本的环境中运行。Windows 系统不支持作为控制主机。

    其中可作为控制主机的系统有:Red HatDebianCentOSmacOSBSDs等。


    4. 被管理节点需求

    在被管理主机上,控制主机和被管理主机之间使用 ssh 方式通信,默认使用 sftp 方式传输文件。在被管理主机上需要有 Python 2 (version 2.6 或更高) 或者 Python 3 (version 3.5 或更高) 环境。

    • 如果远程节点的系统 SELinux 为开启状态,则需要安装 libselinux-python,可以使用 Ansible 中的 yum模块 或者 dnf模块 来安装。

    • 默认情况下,Ansible 使用的 python 解释器为:/usr/bin/python来运行Ansible中的各个模块,然而一些Linux的发行版本中默认使用的的 Python 3作为默认的 Python 解释器,其为:/usr/bin/python3。在这些系统中,可能看到如下报错:

    "module_stdout": "/bin/sh: /usr/bin/python: No such file or directory
    "
    

    此时,可以设置 ansible_python_interpreter的invertory 变量(Working with Inventory)来指向你的Python解释器,或者安装 Python 2 作为默认的解释器。

    • Ansible 的 raw模块 不需要安装 Python。你可以使用 raw模块安装一个兼容版的Python。例如在基于RHEL的系统上安装 Python 2
    ansible myhost --sudo -m raw -a "yum install -y python2"
    
    • 需安装一个模块 python-simplejson,例如对于 Ubuntu 系统,可使用如下命令安装
    sudo apt install python-simplejson
    

    5. 参考文章

    Ansible自动化运维 技术与实践

  • 相关阅读:
    "less is more",用"less”命令查看linux文本文件
    Linux命令"ls"进阶说明
    Linux文件权限说明
    Ubuntu14.04安装Ruby2.2方法
    Ubuntu查找软件命令
    Using If/Truth Statements with pandas
    Categorical Data
    DataFrame.loc的区间
    pandas学习(一)
    JDBC编程之事务处理
  • 原文地址:https://www.cnblogs.com/mcsiberiawolf/p/10057577.html
Copyright © 2011-2022 走看看