ansible-2.9.9 安装与简单使用

一、python环境准备

Ansible是基于Python开发的,所以推荐Python2.7及以上版本

1. 脚本安装python3.7.5

tar -xf python3.7.5_install_v2.tar.gz
./python3.7.5_install/python375_install.sh

2. 安装依赖

  • yum在线安装
yum -y install python-devel openssl-devel libffi-devel sshpass
  • 下载,离线安装
mkdir depend_soft
yum -y install $soft_name --downloadonly --downloaddir=depend_soft/
yum -y install depend_soft/*.rpm

3. 安装py模块

模块:setuptools、pycrypto、PyYAML、MarkupSafe、Jinja2、ecdsa、cryptography、paramiko、simplejson

mkdir py_module
cd  py_module/
pip375 install --upgrade pip
pip375 download $module_name
pip375 install ./*.whl && pip375 install ./*.tar.gz

二、解压安装ansible,初始化配置

1. 解包

ansible包下载: https://releases.ansible.com/ansible/

tar -xf ansible-2.9.9.tar.gz

2.安装ansible

cd ansible-2.9.9/
python375 setup.py build
python375 setup.py install

3. 初始化配置

mkdir /etc/ansible
cp  examples/ansible.cfg  examples/hosts  /etc/ansible/

4. 配置ansible软链接:ansible、ansible-doc、ansible-playbook

ln -s /usr/local/python375/bin/ansible    /usr/local/sbin/ansible
ln -s /usr/local/python375/bin/ansible-doc    /usr/local/sbin/ansible-doc
ln -s /usr/local/python375/bin/ansible-playbook    /usr/local/sbin/ansible-playbook

三、ansible配置,简单使用

  • 管理主机: 172.16.10.11
  • web1/db1:172.16.10.12
  • db2: 172.16.10.13

1. 主机名映射(域名解析)

vim /etc/hosts
	172.16.10.12   db01   slb01
	172.16.10.13   slb02

2. 修改ansible配置

  • ansible.cfg配置
vim  /etc/ansible/ansible.cfg
	[defaults]
	inventory      	  = /etc/ansible/hosts		#定义主机组文件
	host_key_checking = False					#登录免‘yes’验证
  • hosts配置
vim  /etc/ansible/hosts
	[db]				
	db01				# 方式1: 单台主机
	
	[slb]
	slb[01:02]			# 方式2: 连续主机
	
	[nginx]
	172.16.10.12		# 方式3: ip,连续ip
	172.16.10.13
	172.16.10.[12:13]
	
	[web]
	db01 ansible_ssh_port=222 ansible_ssh_user=cdn ansible_ssh_pass=xxx
						# 当默认ssh用户改变时,可加的参数

	[chengdu:children]	# children包含组
	web
	slb

	[all:vars]
	ansible_ssh_private_key_file="/root/.ssh/ansible"	
						# 密钥对方式登录验证(免密)

3. 简单使用

  • 查看slb主机组包含的主机
ansible slb --list-hosts
ansible chengdu --list-hosts
ansible all --list-hosts
  • 命令行批量操作:
ansible   主机组/主机  -m 模块(默认command)  -a 模块参数
常用模块:见下一章
  • ping远端主机,调用ping模块
ansible all -m ping -k			   # -k交互式输入密码验证,且主机密码一样,不然单台执行
SSH password: 
  • df -h远端主机磁盘
ansible  all  [-m command]  -a 'df -h'  	   # 首次验证后,后面无需验证
ansible  slb  -m shell      -a 'df -h'	   	   # 调用shell模块 
ansible  db01,db02  -m shell   -a 'df -h'
  • 密码验证不方便、不安全,建议使用:密钥对验证
# ssh-keygen		默认生成:id_rsa  id_rsa.pub
ssh-keygen -t rsa -f  /root/.ssh/ansible		# ssh-keygen生成密钥对
												# -f自定义名称,一路回车即可
ls  /root/.ssh
	ansible 私钥	  ansible.pub 公钥
ssh-copy-id -i  /root/.ssh/ansible.pub    db01/slb01/slb02    # ssh-copy-id分发公钥

ssh root@172.16.10.12 -i /root/.ssh/ansible		# ssh免密登录,因为名称不是默认,-i指定

vim   /etc/ansible/hosts
	... ...
	[all:vars]
	ansible_ssh_private_key_file="/root/.ssh/ansible"	# 指定所用私钥
	
# 测试,无需输入密码:
	ansible  all -m  ping
	ansible  slb [-m command] -a  'df -h'

4. 自定义ansible配置,hosts文件

vim  /opt/ansible.cfg 
	[defaults]
	inventory = my_hosts
	host_key_checking = False
	
vim /opt/my_hosts 
	[web]
	172.16.10.12
	[db]
	172.16.10.13
	[all:vars]
	ansible_ssh_private_key_file="/root/.ssh/ansible"
	
cd  /opt 
ansible  all  -m   ping   	# 成功

# 不 cd /opt/,执行ansible批量操作
	默认应用的是:/etc/ansible/....
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值