网站开发的硬件设备,短视频素材免费,电子商务网站建设试题答案,霞浦建站公司目录
一、简介
1.ansible自动化运维人工运维时代
2.自动化运维时代
3.ansible介绍
4.ansible特点
二、ansible实践
1.环境
2.ansible管理安装
3.ansible被管理安装
4.管理方式
5.添加被管理机器的ip
6.ssh密码认证方式管理
三、配置免密登录
1.ansible自带的密码…
目录
一、简介
1.ansible自动化运维人工运维时代
2.自动化运维时代
3.ansible介绍
4.ansible特点
二、ansible实践
1.环境
2.ansible管理安装
3.ansible被管理安装
4.管理方式
5.添加被管理机器的ip
6.ssh密码认证方式管理
三、配置免密登录
1.ansible自带的密码认证参数
2.ssh密钥方式批量管理 一、简介
1.ansible自动化运维人工运维时代
运维人员早期需要维护数量众多的机器因此需要执行反复重复的劳动力很多机器需要同时部署相同的服务或是执行相同的命令得反复的登录不同的机器执行重复的动作。
比如说你要在backup服务器配置rsync服务进行数据同步的操作那么客户端都得单独的安装一下rsync命令工具才能正确使用你可能一台台机器去登录安装rsync之后再推出登录下一个机器可以使用xshel等工具快捷的创建ssh登录但是还是属于人]运维效率比较低 2.自动化运维时代
早期运维人员会结合ssh免密登录以及shell脚本来完成自动化的部署操作系统管理员面临的问题主要是配置管理系统远程执行命令批量安装服务启停服务等等
后来也就诞生了众多的开源软件自动化运维软件 fabricpuppetsaltstackchefAnsible 3.ansible介绍
ansible是一个同时管理多个远程主机的软件必须是任意可以通过ssh登录的机器因此ansible可以管理的机器如 远程虚拟机物理机也可以直接管理本机机器 ansible通过shh协议实现了管理节点(老板,安装了ansible服务的机器)被管理节点(员工被管理的机器节点)的通信。只能是通过ssh协议登录的主机就可以完成ansible自动化部署操作。
ansible通过shh协议实现了管理节点(老板,安装了ansible服务的机器)被管理节点(员工被管理的机器节点)的通信。只能是通过ssh协议登录的主机就可以完成ansible自动化部署操作 批量文件分发批量数据复制批量数据修改删除批量自动化安装软件服务批量服务启停脚本化自动批量服务部署 4.ansible特点
ansible的编排引擎可以出色的完成各种任务配置管理ansible在流程控制资源部署等方便很强大并且ansible无须安装客户端软件管理简洁使用yaml配置文件语法功能强大便于维护。
ansible是基于python语言开发的主要由python的两个ssh处理模块paramiko,以及PyYAML模块。 安装部署简单管理主机便捷支持多台主机并行管理无须安装被管理节点的客户端(no agent)且无须占用客户端的其他端口仅仅使用ssh服务即可不仅仅支持python还支持其他语言的二次开发不用root用户也可执行降低系统权限 二、ansible实践
1.环境
准备三个虚拟机
一台管理机器 两台被管理机器 三台设备要配置好ssh 2.ansible管理安装
yum install epel-release -y
yum install ansible libselinux-python -y
看下ansible的各种命令
rpm -ql ansible | grep -E ^/etc|^/usr/bin 3.ansible被管理安装
yum install ansible libselinux-python -y 4.管理方式
ansible批量管理主机的方式主要两种
传统的输入ssh密码验证密钥管理
备份一下hosts文件
cp /etc/ansible/hosts{,.ori}
ls /etc/ansible/ 5.添加被管理机器的ip
vim /etc/ansible/hosts
添加被管理ip
[manage]
192.168.0.107
192.168.0.1036.ssh密码认证方式管理
ansible是直接利用linux本地的ssh服务以及一些远程的ssh操作一般情况下客户端的sh服务默认都是开启的无须额外管理 -m MODULE_NAME--module-nameMODULE_NAME
#module name to execute (defaultcommand)
#指定执行使用的模块默认使用 command 模块 -a MODULE_ARGS--argsMODULE_ARGS
#module arguments
#指定执行模块使用的参数 -k 询问密码验证 在管理机器上告诉其他被管理的机器你要执行什么命令以及用什么用户去执行
ansible manage -m command -a hostname -k -u root 输出网卡信息
ansible manage -m command -a ip a -k -u root 三、配置免密登录
每次执行ansible命令的时候都需要输入ssh的认证密码也就是rot的密码如果不同的主机密码不一致那你还得输入多次才行因此我们可以配置如下的快捷登录方式 1.ansible自带的密码认证参数
可以在 /etc/ansible/hosts文件中定义好密码即可即可实现快速的认证远程管理主机
参数 ansible_host 主机地址ansible_port 端口默认是22端口ansible_user 认证的用户ansible ssh_pass 用户认证的密码 vim /etc/ansible/hosts
填入
[manage]
192.168.0.107 ansible_userroot ansible_ssh_pass123456
192.168.0.103 ansible_userroot ansible_ssh_pass123456验证
ansible manage -m command -a hostname 2.ssh密钥方式批量管理
ssh免密登录形式
原理图 105ansible管理机的配置
生成私钥 ssh-keygen -f ~/.ssh/id_rsa -P /dev/null 21 编写公钥分发脚本
cd /myshell/vim ssh.sh
#!/bin/bash
rm -rf ~/.ssh/id_rsa*
ssh-keygen -f ~/.ssh/id_rsa -P /dev/null 21
SSH_Pass123456
Key_Path~/.ssh/id_rsa.pubfor ip in 103 107
dosshpass -p$SSH_Pass ssh-copy-id -i $Key_Path -o StrictHostKeyCheckingno 192.168.0.$ip
done# 非交互式分发公销命令需要用 sshpass指定SSH密码通过-o StrictHostlkingno 跳过 SSH连接确认信息测试一下 成功