Ansible--1.Ansible的安装及部署


前言

本章我们将要学习linux系统中重要的自动化部署–ansible。在我们的日常工作中,经常需要管理维护多台机器,对每一台机器一对一的部署和操作显然是不理想的。Ansible自动化部署可以替我们实现用户级一对多的操作,对企业的工作具有很大意义。
本章主要内容包括ansible的安装、构建清单、配置文件参数详解以及用户级ansible的操作环境的搭建。


一、环境配置

真实主机配置私有网段 172.25.9.254 172.25.254.9/24
在这里插入图片描述

虚拟机a:172.25.9.100 主机名node1
虚拟机b:172.25.9.200 主机名node2
虚拟机c:172.25.9.10 主机名ansible
修改虚拟机最大内存为800M 以防卡顿
注意:需要先关闭所有虚拟机,配置真实主机网卡,再打开虚拟机配置虚拟机网卡,否则网桥会断。

虚拟机a:
在这里插入图片描述

虚拟机b:
在这里插入图片描述

虚拟机c:
在这里插入图片描述


二、Ansible安装

epel源下载ansible
下载前配置好本地网络仓库
epel源安装:
在这里插入图片描述

dnf install ansible.noarch -y

在这里插入图片描述

ansible --version		查看ansible版本信息

在这里插入图片描述


三、构建ansible清单

cd /etc/ansible/ 进入配置文件目录

vim host			编辑清单
[westos1]
172.25.9.100
node1.westos.org

[westos2]
172.25.9.200
172.25.9.[10:20]
node2.westos.org

[westos:children]
westos1
westos2

ansible all --list	列出所有ansible控制主机的列表,想要执行还需要加本地解析

在这里插入图片描述

ansible westos --list
ansible westos1 --list	设定列出受管主机的组

在这里插入图片描述
修改默认清单文件

mv hosts hostlist
ansible all -i hostlist --list	指定受管控制目录

在这里插入图片描述注:实验完成后记得改回,避免影响后续实验

ansible 172.25.* --list	列出指定网段所以受管主机清单

在这里插入图片描述

ansible "westos1:westos2: --list	逻辑或

ansible "westos1:&westos2" --list	逻辑与

ansible 'westos1:!westos2' --list	逻辑非

在这里插入图片描述在这里插入图片描述注:注意什么时候使用“” ,什么时候使用‘’,双引号不能引用感叹号

ansible '~westos' --list	以westos开头的

在这里插入图片描述

ansible '~test|westos' --list	以test和westos开头的

在这里插入图片描述


四、Ansible配置文件及参数详解

通俗来讲,ansible是通过本地ansible生成python脚本,然后通过ansible传递给需要操作的主机,来实现自动化运维的

若脚本未执行完成,当前本机~/.ansible/tmp 远程主机~/.ansible/tmp 均存在python脚本

vim /etc/ansible/ansible.cfg 编辑ansible的主配置文件
inventory			默认控制访问列表

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

vim ansible.cfg
host_key_checking = False		登陆时需要确认,一般不需要
ask_pass      = True		登陆询问密码,一般需要
remote_user = westos		登陆身份

在这里插入图片描述ansible westos -m shell -a "whoami" 查看westos受控清单的使用身份 -m指定模块 -a后输入命令
在这里插入图片描述

module_name = shell		

在这里插入图片描述默认模块为command 但command不支持一些通配符号,所以改为shell

become=True			身份信息确认
become_method=sudo		
become_user=root		
#become_ask_pass=True		是否需要为sudo时输入密码

在这里插入图片描述
需要在客户主机中进行sudo授权
授权前报错:
在这里插入图片描述sudo授权:

visudo ----> 大约在100行添加授权

在这里插入图片描述
授权后:
在这里插入图片描述
在这里插入图片描述

remote_tmp	= ~/.ansible/tmp	执行脚本存放目录

执行一个未完成的命令:
在这里插入图片描述
在受控主机中可以找到相应脚本 ~/.ansible.tmp
在这里插入图片描述
注意:是在你登陆身份的家目录下,并不是所有的都在root


五、构建用户级ansible操作环境

还原主配置文件

su - hyl

mkdir .ansible				创建并且进入目录
cd .ansible/				
cp /etc/ansible/ansible.cfg .

在这里插入图片描述

vim ansible.cfg 				编写配置文件
inventory      = ~/.ansible/inventory
host_key_checking = False
remote_user = westos
module_name = shell

在这里插入图片描述

[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=false

在这里插入图片描述

vim inventory				编写清单
[westos1]
172.25.9.100

[westos2]
172.25.9.200

[westos:children]
westos1
westos2

在这里插入图片描述

ansible westos1 -a "whoami"		执行失败,需要密码,注:此处需要在目录.ansible中执行
ansible westos1 -a "whoami" -k		-k,交互式输入密码

访问加密:

ssh-keygen 
ssh-copy-id -i ~/.ssh/id_rsa.pub westos@172.25.9.100 
ssh-copy-id -i ~/.ssh/id_rsa.pub westos@172.25.9.200	生成密钥并对相应控制主机的用户进行加密

在这里插入图片描述ansible westos1 -a "whoami" 无需密码即可执行
在这里插入图片描述

ansible westos1 -m shell -a "touch /mnt/file{1..5}"	
ansible westos1 -m shell -a "rm -fr  /mnt/file{1..5}"	创建和删除文件测试

在这里插入图片描述


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值