15.批量管理工具:ssh、expect、pssh、ansible

ssh 免密码 批量管理

1.创建用户
useradd user1
echo “123456”| passwd --stdin user1
2.创建秘钥
ssh-keygen -t dsa
然后一直回车

非交互式(批量)创建秘钥
(1)
3.上传公钥(其他服务器也需要有同样用户)
ssh-cppy-id -i ~/.ssh/id_dsa.pub user1@IP

如果端口改变的话
在这里插入图片描述
4.可以直接写脚本执行(非交互式)
例:直接在后面加命令
在这里插入图片描述
5.ssh 常用选项用法
-l 指定登入用户
-p 设置端口号(scp时需要大写P)
-f 后台运行,并推荐加上 -n 参数
-n 将标准输入重定向到 /dev/null,防止读取标准输入
-t 在终端执行

5.sudu用法:在sudo组中或在/etc/sudoers 下修改 给用户授权
15.批量管理工具:ssh、expect、pssh、ansible_第1张图片
远程sudo需要 ssh 加 -t
在这里插入图片描述

expect实现非交互式批量管理

例:批量分发公钥
vim scrip.exp
15.批量管理工具:ssh、expect、pssh、ansible_第2张图片
如果还需要执行后续命令
则加上
在这里插入图片描述

15.批量管理工具:ssh、expect、pssh、ansible_第3张图片
15.批量管理工具:ssh、expect、pssh、ansible_第4张图片
然后循环调用此脚本进行批量
15.批量管理工具:ssh、expect、pssh、ansible_第5张图片
15.批量管理工具:ssh、expect、pssh、ansible_第6张图片

ansible

CI(持续集成):为了每个项目组程序员开发的功能或模块能够兼容需要不断的把已经开发好的功能集成到系统中进行测试
CD(持续交付):测试没问题不断快速发到预发布系统中能让客户获取新版本
CD(持续部署):把交付的结果放到线上,这个过程能够脚本自动执行和快速敏捷实现
DevOps:以上三个过程能够全部自动进行
AIOps:人工智能运维(智能化运维)
2.以上可以分为三步:系统安装、系统配置、系统部署。ansible可以完成配置和部署
3.ansible命令行:
在这里插入图片描述
-a:传输模块参数
-m:调用得模块
-C:模拟测试
-f:并发量
-i:指定主机清单文件(默认/etc/ansible/hosts)
–list-hosts:列出可匹配的主机列表
-t:指定日志
-c:指定链接方式
-u:指定链接的用户
-s:sudo
4.免秘钥登录
ssh-keygen -t rsa -P " "
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
5.定义目标主机在/etc/ansible/hosts中
[] 可以设置每个主机组
15.批量管理工具:ssh、expect、pssh、ansible_第7张图片

fales 表示没改变目标主机配置15.批量管理工具:ssh、expect、pssh、ansible_第8张图片
6.查看可用模块
15.批量管理工具:ssh、expect、pssh、ansible_第9张图片
-a 获取文档
-l 列出可用模块
-s 查看模块中可用的参数
15.批量管理工具:ssh、expect、pssh、ansible_第10张图片

你可能感兴趣的:(群集,脚本)