专栏首页东隅已逝自动化工具Ansible

自动化工具Ansible

Ansible架构模式

Ansible是由控制机和被管理机组成:控制机是用来安装Ansible工具软件和执行指令的服务器,被管理机是指运行业务的服务器,由控制机通过SSH进行管理。

Ansible管理方式

Ansible是一个模型驱动管理器,支持多节点发布,远程任务执行,默认使用SSH远程连接,无需在被管理节点上安装附加软件。

Ansible系统架构

Ansible集合了许多运维工具,实现了批量系统配置、批量程序部署,批量运行命令等功能,Ansible是基于模块工作的,本身没有批量部署的能力,真正干活的Ansible所运行的模块,Ansible只提供一种框架。

Ansible功能特性

  • 应用代码自动化部署;
  • 系统管理配置自动化;
  • 支持云计算、大数据平台;
  • 轻量级无需安装agent;
  • 批量任务执行可用脚本无需分发到远程;
  • 支持非root用户和sudo;

Ansible任务执行流程

Ansible系统由控制主机对被管节点的操作方式可分为两类(ad-hoc)和(playbook)

  • ad-hoc支持单个模块,支持批量执行单条命令;
  • playbook通过多个task集合完成一类功能,可以理解为通过组合多条ad-hoc操作的配置文件;

Ansible安装配置

Ansible的安装方式非常灵活,满足各种环境的部署需求。

YUM安装

安装epel作为Ansible的默认yum源

#以CentOS7.2安装阿里的epel为例
rpm -Uvh https://mirrors.aliyun.com/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

安装Ansible

yum install -y ansible

Ansible配置参数

配置文件在:/etc/ansible/ansible.cfg

inventory
这个参数表示资源清单 . inventory文 件 的 位 置 , 资源清单就是 一些Ansible需要连接管理的主机列表 。

实例如下:
inventory == /etc/Ansible/hosts
library
Ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块 , 这个library参数就是指向存放Ansible模块的 目录 。 

实例如下:
library = /usr/share/Ansible
Ansible支持多个记录方式,只要用W号(:)隔幵就可以,同时也会检査当前执行playbook位罝下的•/library目录。
forks
默认悄况下Ansible最多能有多少个进程同时丁-作,默认设置敁多5个 进程并进行理 。具体需要设置多少个,可以根据控制主机的性能和被管节点的数诂来确定,可能是50或100,默认值5是非常保守的设置。

实例如下:
forks = 5
sudo_user
这是设罝默认执行命令的用户,也可以在playbook中重新设置这个参数。

实例如下:
sudo_user = root
remote_port
这是指定连接被管节点的管理端口,默认是22。除非设置了特殊的SSH端门.不然这个参数一般是不需要修改的。

实例如下:
remote_port = 22
host_key_checking
这是设置是否检査SSH主机的密钥。可以设置为True或False。

实例如下:
host_key_checking = False
timeout
这是设置SSH连接的超时间隔,单位是秒。

实例如下:
timeout = 60
log_path
Ansible系统默认是不记录日志的,如果想把Ansible系统的输出记录 到日志文件,需要设置log_ path指定一个存储Ansible日志的文件 。

实例如下:
log__path = /var/log/Ansible. log

注意:

执行Ansible的用户需要有写入日志的权限,模块将会调用被管节点的syslog来记录,口令是不会出现在日志中的。

本文分享自微信公众号 - 有暗香盈袖c(Born--To_Die),作者:Cool Wo

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CentOS7 安装 redis 并设置开机启动

    将redis.conf中的"daemonize no"为"daemonize yes"并保存,重启redis生效。

    有暗香盈袖
  • Firewalld 使用指南

    systemctl 是 CentOS7.x 的服务管理工具中主要的工具,它融合之前 service和 chkconfig 的功能于一体。

    有暗香盈袖
  • influxdb部署以及运行cadvisor

    timestamp: 时间戳,因为InfluxDB是时序数据库,它的数据里面都有一列名为time的列,存储记录生成时间。 如 rx_bytes 中的 time ...

    有暗香盈袖
  • 关于ansible你不知道的

    Ansible 是一款为类 Unix 系统开发的自由开源的配置和自动化工具。它用 Python 写成,类似于 saltstack 和 Puppet,但是有一个不...

    萧晚歌
  • 一分钟了解Ansible

    Ansible是一个开源配置管理工具,可以使用它来自动化任务,部署应用程序实现IT基础架构。Ansible可以用来自动化日常任务,比如,服务器的初始化配置、安全...

    小小科
  • 提升自动化技巧的 10 篇 Ansible 文章

    花下猫语:最近围绕Python自动化话题,我们推送了好几篇文章,在此连续的过程中,我自己获益良多。此话题仍会继续,今天分享的一篇译文,介绍了 10 篇关于 An...

    Python猫
  • 《Ansible自动化运维:技术与佳实践》第一章读书笔记

    Ansible 的编排引擎可以完成配置管理、流程控制、资源部署等工作。 Ansible 基于 Python语言实现,由 Paramiko 和 PyYAML 两个...

    武培轩
  • [Ansible十日谈]探究如何把Ansible用出花来

    准备写十遍关于Ansible的文档,偏实战和源码,探究如何把Ansible用出花来~

    追马
  • 自动化工具后起之秀Ansible的部署实践

    从早期手动加脚本的部署方式,到后来自动化工具(chef, puppet, saltstack, ansible等)的出现,再到如今DevOps的盛行,企业应用部...

    yuanyi928
  • 如何在Ubuntu 18.04上安装和配置Ansible

    配置管理系统旨在使管理员和运营团队轻松控制大量服务器。它们允许您从一个中心位置以自动方式控制许多不同的系统。

    温浪

扫码关注云+社区

领取腾讯云代金券