集群架构-集群自动化批量管理

一、Openssh服务

1.1认证方式

认证方式配置文件配置说明
密码登录sshd_configPasswordAuthentication yes
密钥认证sshd_config 秘钥认证方式进行免密码登录PubekyAuthentication yes

1.2 使用流程

1.2.1创建秘钥

#创建
ssh-keygen
回车即可(也可以在pass里设置密码)

1.2.2 分发秘钥与测试

#分发秘钥
ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.0.0.7
ssh-copy-id root@10.0.0.7
ssh-copy-id 10.0.0.7
#ssh-copy-id 命令本质上是ssh命令
#测试连接
ssh root@10.0.0.7 whoami

1.2.3 批量分发秘钥

ssh-keygen -f /root/.ssh/id_rsa -P ”
ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.0.0.7
提示yes/no 第一次运行
提示输入对应节点的密码
sshpass -pLidao996 ssh 10.0.0.8 hostname -I
sshpass 可以从-p命令行选项读取密码 -f 从文件中读取密码 -e 从变量中读取密码
主机密钥检查
临时关闭主机密钥检查功能即可
-o StrictHostKeyChecking=no
sshpass -pLidao996 ssh-copy-id -i /root/.ssh/id_rsa.pub -p 22 -o StrictHostKeyChecking=no root@10.0.0.7
[root@m01 ~]# cat /server/scripts/fenfa.sh
#!/bin/bash
####################################
#File Name:/server/scripts/fenfa.sh
#Version:V1.0
#Author:oldboy lidao996
#Organization:www.oldboyedu.com
#Desc:
###################################
#1.vars
key=/root/.ssh/id_rsa
ips=”5 6 7 8 9 10 31 41 51 52 “
pass=Lidao996
#2.check
[ -f “${key}” ] || {
ssh-keygen -f ${key} -P ” >/dev/null 2>&1
if [ $? -eq 0 ];then
echo “秘钥创建成功”
else
echo “秘钥创建失败”
exit 1
fi
}
#3.分发
for ip in $ips
do
sshpass -p${pass} ssh-copy-id -p 22 -o StrictHostKeyChecking=no root@10.0.0.${ip} >/dev/null 2>&1
if [ $? -eq 0 ];then
echo “10.0.0.$ip秘钥分发ok”
else
echo “10.0.0.$ip秘钥分发failed”
fi
done
#4.检查
for ip in $ips
do
ssh 10.0.0.$ip hostname -I
done

二、批量管理工具

2.1选型

  • ansible(无客户端)
  • saltstack
  • Puppst
  • Chef

2.2 ansible 使用

2.2.1 安装ansible

yum install -y python3-pip

df -h /tmp/
容量 已用 可用 已用% 挂载点
97G 4.2G 93G 5% /

python3 -m pip install – -upgrade pip

pip3 config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

pip3 install ansible

2.2.2 配置ans

[root@m01 ~]# egrep -v ‘^$|#’ /etc/ansible/ansible.cfg
[defaults]
interpreter_python=/usr/bin/python3
gathering = implicit
host_key_checking = False
[inventory]
[privilege_escalation]
[paramiko_connection]
[ssh_connection]
[persistent_connection]
[accelerate]
[selinux]
[colors]
[diff]

2.2.3 书写主机清单文件与测试

#进入hosts
vim /etc/ansible/hosts

#内容:
[lb]
10.0.0.5
10.0.0.6

[web]
10.0.0.[7:10]

[db]
10.0.0.51
10.0.0.52

[nfs]
10.0.0.31

[bak]
10.0.0.41

#命令
ansible all -m ping

2.3 ans模块

2.3.1 命令脚本三兄弟

模块说明补充
command简单命令,无法使用特殊符号| “ {}默认模块,即使不加也可以默认使用
shell执行命令,支持特殊符号
csript分发脚本,运行脚本
ansible all -m command -a ‘hostname -I’
ansible all -a ‘hostname -I’
ansible all -m shell -a “echo {1..5}”
ansible all -m command -a “echo {1..5}”
#创建yum.sh文件
vim /server/scripts/yum.sh

#内容:
yum install -y telnet tree lrzsz nmap
sleep 20

#命令 ansible web -m script -a ‘/server/scripts/yum.sh’

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇