ansible

一丶Ansible简介

Ansible 是一个开源的基于 OpenSSH 的自动化配置管理工具。可以用它来配置系统、部署软件和编排更高级的 IT 任务,比如持续部署或零停机更新。Ansible 的主要目标是简单和易用,并且它还高度关注安全性和可靠性。基于这样的目标,Ansible 适用于开发人员、系统管理员、发布工程师、IT 经理,以及介于两者之间的所有人。Ansible 适合管理几乎所有的环境,从拥有少数实例的小型环境到有数千个实例的企业环境 。使用 Ansible 无须在被管理的机器上安装代理,所以不存在如何升级远程守护进程的问题,也不存在由于卸载了守护进程而无法管理系统的问题。

Ansible 的主要功能

管理员可以通过 Ansible 在成百上千台计算机上同时执行指令(任务)。
对于管理员来说,经常需要执行下面的任务:

  • 维护现存的比较复杂的服务器时,手动登录的方式很容易遗漏一些操作,或者是执行一些未预期的操作。
  • 手动初始化新的服务器耗时耗力!

Ansible 的一些优势

  • 可以逐行的执行 shell 命令。
  • 不需要另外的客户端工具(linux 一般会自带 ssh 工具)。
  • 相同的配置只被执行一次(多次执行同一配置不会出问题)。

Ansible 的工作方式

使用 Ansible 无须在被管理的客户端电脑上安装代理之类的组件。它通过普通的 SSH 进行通信,以便从远程计算机检索信息、发出命令和复制文件。这是 Ansible 简化服务器管理的一种方式。任何公开 SSH 端口的服务器都可以通过 Ansible 进行配置和管理。

Ansible 采用模块化的设计,所以非常容易扩展到各种特定的使用场景。模块可以用任何语言编写,并使用标准 JSON 进行通信。Ansible 的配置文件是用 YAML 格式编写的,因为它使用起来非常简单,并且与主流的标记语言很相似。除了通过命令行工具 Ansible 还可以通过配置脚本(Playbooks)与客户端交互。

二丶安装 Ansible

使用RPM包制作yum源,安装Ansible需要使用的RPM包如下,放在同一目录下/ansible
ansible-2.4.2.0-2.el7.noarch.rpm python-paramiko-2.1.1-4.el7.noarch.rpm
python2-jmespath-0.9.0-3.el7.noarch.rpm python-passlib-1.6.5-2.el7.noarch.rpm
python-httplib2-0.9.2-1.el7.noarch.rpm sshpass-1.06-2.el7.x86_64.rpm

~]$ createrepo /ansible/

生成repodata目录后就可以配置yum配置文件使用yum安装

~]# vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl="ftp://192.168.1.254/ansible" //本机IP
enabled=1
gpgcheck=0
~]# yum clean all  //清除yum缓存
~]# yum repolist
~]# yum -y install ansible

批量部署证书文件

~]# cd /root/.ssh
~]# ssh-keygen -t rsa -b 2048 -N '' -f key  //创建一对密钥
~]# ssh-copy-id -i key.pub 主机名称   //`给所有主机部署密钥

三丶Ansible使在这里插入图片描述

主机定义与分组

自定义的ansible文件只在当前路径生效

~]# vim /etc/ansible/ansible.cfg 
inventory      = /etc/ansible/hosts   //指定 inventory 文件位置
host_key_checking = False 	
~]# vim /etc/ansible/hosts  //定义主机分组
[all:vars]  //在 inventory 文件中指定 key 的位置
ansible_ssh_private_key_file="/root/.ssh/key"
web  //主机名或者IP地址

模块练习

在这里插入图片描述
在这里插入图片描述

playbook

如果 Ansible 的功能仅仅是能够执行当个的命令和脚本就显得太弱了。Ansible 的 laybook 功能支持把命令以 yaml 的格式写在配置文件中,然后一次性执行配置文件中的所有命令(这一点类似于 chef 中的 cookbook)。
在这里插入图片描述
在这里插入图片描述
JSON
在这里插入图片描述

YAML

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值