ansible安装与基础

Ansible是一款基于Python的自动化运维工具,通过SSH协议进行无agent的远程管理。它具有无需在被管理节点安装额外软件、使用Playbooks进行配置管理和应用部署等特点。文章介绍了Ansible的安装(包括yum安装)、程序结构、配置文件及其参数,以及基础命令的使用。
摘要由CSDN通过智能技术生成

目录

什么是ansible

ansible yum安装

yun安装:

php3安装:

前提需要epel.repo源

ansible 程序结构

ansible配置文件

ansible配置文件常见参数:

基础命令


什么是ansible

是自动化运维,基于python开发,基于ssh协议。

很好的实现了批量系统配置,批量程序部署,批量运行命令等功能

ansible 特点

  • 部署Ansible环境,被控端无需做任何操作;
  • SSH协议对设备进行管理;
  • API及自定义模块,可通过Python轻松扩展;
  • Playbooks来定制强大的配置、状态管理;
  • agent,更新时,只需在操作机上进行一次更新即可;
  • Web管理界面和REST API接口——AWX平台。

 

上图为ansible的基本架构,从上图可以了解到其由以下部分组成:

核心:ansible

核心模块(Core Modules):这些都是ansible自带的模块 

扩展模块(Custom Modules):如果核心模块不足以完成某种功能,可以添加扩展模块

插件(Plugins):完成模块功能的补充

剧本(Playbooks):ansible的任务配置文件,将多个任务定义在剧本中,由ansible自动执行

链接插件(Connectior Plugins):ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh连接到各个主机的,但是它还支持其他的连接方法,所以需要有连接插件

主机群(Host Inventory):定义ansible管理的主机

ansible yum安装

yun安装:

1、强烈建议使用yum 进行安装,或者装所有服务器配置为同一版本的python以避免因为python版本而导致的错误。

#yum install sshpass    有时交互输入密码时自动交互使用。

php3安装:

2、使用pip3 进行安装。最好将所有服务器安装同一版本的python,以避免版本问题。

pip3 install ansible paramiko PyYAML Jinja2

yun安装操作ansible

前提需要epel.repo源

​
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

​

其次进行yum安装

yum -y install ansible

ansible 程序结构

安装目录如下(yum安装):

配置文件目录:/etc/ansible/

执行文件目录:/usr/bin/

Lib库依赖目录:/usr/lib/pythonX.X/site-packages/ansible/

Help文档目录:/usr/share/doc/ansible-X.X.X/

Man文档目录:/usr/share/man/man1/

ansible配置文件

配置文件为

[root@ansible ansible]# vim /etc/ansible/ansible.cfg 

设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例

host_key_checking = False  

指定一个存储ansible日志的文件(默认不记录日志)

log_path = /var/log/ansible.log  

ansible配置文件常见参数:

 #这个参数表示资源清单inventory文件的位置

inventory = /etc/ansible/hosts

 #指向存放Ansible模块的目录,支持多个目录方式,只要用冒号(:)隔开就可以

library = /usr/share/ansible 

 #并发连接数,默认为5

forks = 5

#设置默认执行命令的用户

sudo_user = root

 #指定连接被管节点的管理端口,默认为22端口,建议修改,能够更加安全

remote_port = 22

#设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例

host_key_checking = False

 #设置SSH连接的超时时间,单位为秒

timeout = 60

#指定一个存储ansible日志的文件(默认不记录日志)

log_path = /var/log/ansible.log

基础命令

语法

ansible	<IP> 参数(-m) command 参数(-a) "<命令>"

-m 指定要执行的模块,默认模块为command

-a 传递参数给模块

【连接选项,用于如何连接主机】

-k 询问连接时的ssh密码 --针对可以做ssh密钥通信方可连接不在输入密码

-u 用于指定用户

【权限控制】

-b 用于升级权限 --针对与一些用户没有权限时使用

-K 提升权限时的密码

-"命令" 提交模块时参数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值