之前介绍过ansible的使用,通过ssh授权批量控制服务器集群 但是生成密钥和分发公钥的时候都是需要确认密码的,这一步也是可以自动化的,利用ssh + expect + scp就可以实现,其实只用这几个命令结合也可以实现类似ansible的功能了 为了远程操作服务器进行环境初始化,总结我们都需要以下几步操作 1.ssh-keygen生成密钥对 2.将生成的公钥发送到node服务器 3.scp拷贝安装包到node服务器 4.ssh远程执行拷贝过去的安装包
下面进行集群环境初始化脚本的编写,通过ssh + expect + scp实现服务器集群自动化搭建
第一步,服务器准备这里使用docker模拟几台服务器,分别命名为node2,node3,node4(使用镜像chenqionghe/ubuntu,密码统一为88888888),生产环境为ip或host
docker run -d --name node2 -p 2223:22 chenqionghe/ubuntu docker run -d --name node3 -p 2224:22 chenqionghe/ubuntu docker run -d --name node4 -p 2225:22 chenqionghe/ubuntu