手记

Ansible 使用原因及安装方式

Ansible 使用原因及安装方式

为什么要选择使用ansible

当你的公司没有太多资金而决定把性能过剩服务器进行虚拟化,将一台真实服务器变为多台虚拟机的时候;当你的公司因业务需求需要扩充服务器的时候;当你重复配置、安装相同的软件到其他服务器的时候…
你会发现,咦?我是不是有哪台服务器忘记配置了,另一台的服务是要怎么安装来的?我的安装文档的呢?咦?怎么这不是一类操作系统的呢?为什么安装的操作系统当时没有统一呢?你的服务器运维工作越来越杂乱,直到天天加班,而这个时候,你就需要ansible。

举个例子,你会选择ansible的

  • 一台服务器(简单)
	# 以centos操作系统为例,当你需要安装某个个软件的时候,例如gcc
	yum install gcc -y
	# 或者当你需要高版本gcc的时候,你需要下载源码及其依赖包然后
	cd gccXX.x
	./configure --prefix=/path/to/gcc && make && make install
	
  • 多台操作系统相同的服务器(一般)
	# centos操作系统为例 hosts文件内分别为 node1,node2,node3,其中操作节点为 manager
	# 你可能很快可以想到,使用ssh互信,当然只需要做manager 到 node[1-3]的单向ssh凭证即可,再聪明点,你觉得写个脚本,像这样:
	cat gcc_install_nodes.sh
	#!/bin/bash
	nodelist=$1
	for node in $nodelist
	do
		# 后台执行,然后日志保存到${node}.log
		ssh $node "yum install gcc -y" &>${node}.log &
	done
	wait
	echo "install gcc is done,and you need to look at nodes.log in this dir"
	# 执行,然后等待结果
	./gcc_install_nodes.sh "node1 node2 node3"
  • N+ 台操作系统类型各异的服务器(困难)
	# 你想我咋地,还真写吗?老累了,还不确定能不能跑,这就是ansible为什么会出现的原因
	# 能写出来,但老板可能不会给你那么多时间调试你心爱的脚本的。

有了ansible,你不需要再也for循环;有了ansible,你可以为多台不同操作系统的服务器安装相同的软件,有了ansible,格式化的结果范围更容易让你判断出操作中出现的问题…
也就是说,你可以偷懒了(嗯,就是你可以有时间学习其他知识了)

快速安装ansible

点击centos镜像即可有对应的指导下载指定yum源

	# 安装 ansible
	yum install ansible -y

以centos为例: pip 安装

	# -i 指定临时镜像源
	pip install -i https://mirrors.aliyun.com/pypi/simple ansible
	# 永久修改为本地镜像方法如下:
	vim ~/.pip/pip.conf

修改如下:
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

  • 离线安装二进制包方式
    若为centos,现在有线环境下去rpm search找到对应版本的rpm进行下载安装,或者使用yum install/reinstall ansible --downloadonly --downloaddir=/path命令即可将指定安装包下载到指定目录下面,然后拷贝到离线服务器,使用rpm -ivh *.rpm即可安装,若缺少依赖,按照同样的方式下载对应版本的rpm包即可

  • 离线方式 python

	# 创建python虚拟环境或者在一个纯净无软件包安装的python环境
	pip install ansible
	pip freeze > ansible_request.txt
	pip download -r ansible_request.txt -d /pathdir
	# 在离线服务器上安装
	pip install --no-index --find-links=packages -r ansible_request.txt 
	cd ansible_src
	python setup.py build
	python setup.py install
	# 或者
	pip install ansible_src.zip

若缺少对应的python依赖包,可去Pypi下载即可。


以上内容仅个人理解,如有不对之处,请指正修改。

1人推荐
随时随地看视频
慕课网APP