综合架构批量管理(高效运维)

综合架构批量管理(高效运维)

1)远程服务概念介绍

作用说明:实现通过网络原理管理操作主机系统

实现方式:ssh(更加安全 传输的信息是密文信息) /telnet (不安全的 传输明文数据)

2)远程服务通讯原理

秘钥概念:

1)基于秘钥可以实现对数据加密解密处理

2)基于秘钥可以实现访问者身份认证

基于密码方式实现通讯原理:

A主机(客户端) ---- B主机(服务端SSH)

① 发送建立连接请求 ② 会将一个秘钥信息发送给客户端

③ 接收公钥信息并进行密码验证 ④ 接收用户建立连接请求

产生数据信息(加密处理—公钥) 响应数据信息进行发送(加密处理 — 私钥)

基于秘钥方式实现通讯原理:

A主机(客户端) ---- B主机(服务端SSH)

① 发送建立连接请求 ② 会将一个秘钥信息发送给客户端

③ 接收公钥信息并进行密码验证 ④ 接收用户建立连接请求

⑤ 创建新的秘钥文件(私钥/公钥) ⑥ 会接收到公钥文件信息

​ 将创建好的公钥信息进行发送

=以后的连接请求=====

① 发送建立连接请求 ② 进行公钥质询过程(公钥 == 锁)

③ 利用自身私钥解密公钥 ④ 确认客户端身份实现连接建立

3)远程服务配置应用(基于秘钥)

如何基于秘钥建立连接:

第一个历程:客户端创建秘钥文件

[root@m01 ~]# ssh-keygen -t dsa

在这里插入图片描述第二个历程:将公钥信息发送给其他主机

[root@m01 .ssh]# ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.71

在这里插入图片描述
编写批量管理脚本文件:

#!/bin/bash
for ip in {7,8,71}
do
	echo -e "\033[33;1m==== 此时操作的主机是172.16.1.$ip ====\033[0m"
	ssh 172.16.1.$ip "$1"
	echo ""
done

请添加图片描述

4)批量管理服务介绍

ansible批量管理服务作用:

  • 提高工作的效率 重复性完成工作
  • 提高工作准确度 部署nginx nfs backup
  • 减少维护的成本 批量管理100台数据库服务器 一个人
  • 减少重复性工作 实习生/初级运维(了解ansible命令即可)

ansible批量管理服务功能:

1.可以实现批量系统操作配置

2.可以实现批量软件服务部署

3.可以实现批量文件数据分发

4.可以实现批量系统信息收集–资产管理

ansible批量管理服务特点:

1.管理端不需要启动服务程序( no server )

2.管理端不需要编写配置文件(/etc/ansible/ansible.cfg )

3.受控端不需要安装软件程序(libselinux-python )

4.受控端不需要启动服务程序( no agent)

5.服务程序管理操作模块众多( module )命令

6.利用剧本编写来实现自动化( playbook )脚本

ansible批量管理服务架构:

在这里插入图片描述1.主机清单配置
2.软件模块信息
3.基于密钥连接主机
4.主机需要关闭Selinux
5.软件剧本功能

5)批量管理服务部署(配置)

第一个历程:安装服务程序

yum install -y ansible

第二个历程:编写配置文件

[root@m01 .ssh]# vim /etc/ansible/hosts    ---主机清单配置文件
172.16.1.71
172.16.1.7
172.16.1.8

[root@m01 .ssh]# ansible all -m command -a "ip a s eth0"

部署过程排错思路:

1)检查基于秘钥远程是否正常

ssh 主机地址   --- 确认是否可以直接连接,无需输入密码

2)检查主机清单配置文件是否正确

3)检查执行命令是否正确

6)批量管理命令应用

主机清单配置文件 /etc/ansible/hosts

批量管理命令使用 ansible / ansible-playbook

如何编写剧本文件

ansible命令使用:

语法格式:ansible 管理主机信息 -m 模块信息 -a 模块指令信息

-----------------------------①-------------------②--------------③

① 管理主机信息

方法一:设置为all: 对主机清单中所有主机进行管理

方法二:设置具体IP地址: 对指定主机进行管理

方法三:设置多个IP地址: 对多个指定主机进行管理

方法四:设置主机组名称: 对主机组进行管理

② 设置不同应用模块

官方模块介绍:https://docs.ansible.com/ansible/latest/collections/

查询帮助信息:

ansible-doc -l  		----查看确认是否有指定模块
ansible-doc 模块信息	  ----获取模块使用帮助手册

③ 模块指令信息:

实现模块不同功能

command模块常用指令参数:

creates:判断一个文件是否存在,如果存在就不执行相应命令

removes:判断一个文件是否存在,如果存在就执行相应命令

chdir:	执行命令前,进行目录一个切换

猜你喜欢

转载自blog.csdn.net/weixin_51313763/article/details/124749730