下载源
# 1、安装wget
yum install -y wget
# 2、下载CentOS 7的repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 3、更新镜像源
# 清除缓存:
yum clean all
# 生成缓存:
yum makecache
免密登录各主机
# hosts
192.168.121.128 master01
192.168.121.129 master02
192.168.121.130 master03
192.168.121.131 node01
cat hosts >> /etc/hosts
# 生成ssh密钥
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
# 免密工具
yum install sshpass -y
pwd=1
for ip in $(cat hosts|awk '{print $1}');do
echo $ip
sshpass -p $pwd ssh-copy-id -i ~/.ssh/id_rsa.pub root@$ip -o StrictHostKeyChecking=no
done
设置阿里源、修改主机名
for ip in $(cat hosts|awk '{print $2}');do
echo "####$ip#####"
ssh -p22 root@$ip yum install -y wget
ssh -p22 root@$ip "wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo"
echo "##set hostname"
ssh -p22 root@$ip "hostnamectl set-hostname $ip"
done
关机
for ip in $(cat hosts2|awk '{print $2}');do
echo "####$ip#####"
ssh -p22 root@$ip "shutdown -h now"
done
设置linux内核参数
安装nginx
# No package nginx available.
# Error: Nothing to do
yum install epel-release -y
yum install -y
nginx
nginx -s reload
# 修改index.html内容标记
设置VIP
必须在一个网段,关闭防火墙
# 临时VIP
# 真实IP 192.168.121.133
ifconfig ens33:1 192.168.121.233 netmask 255.255.255.0 up
# 关闭
ifconfig ens33:1 192.168.121.233 down
# 持久化,开机设置
# vi /etc/sysconfig/network-scripts/ifcfg-ens33:1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
#NAME=ens33
#UUID=48410a25-7b4a-47ab-9382-bc3f47bcd0e4
#DEVICE=ens33
ONBOOT=yes
DEVICE="ens33:1"
NAME="ens33:1"
IPADDR=192.168.237.5
NETMASK=255.255.255.0
# systemctl restart network
# 或service network restart
# 观察vip的mac地址
# vip的mac地址跟物理网卡的mac地址一致。
arp -a
lvs简介
lvs简介
lvs是一款实现了负载均衡调度服务器的软件,lvs项目由章文嵩博士创立
lvs全称为linux virtual server,linux虚拟服务器,为什么说是虚拟服务器?因为它本身并不工作,它只是把请求进行转发均衡
lvs目前在大公司中被广泛应用,跟keepalived结合起来使用居多
lvs三种工作模式
dr模式 直接路由模式
nat模式 网络地址转换模式
tun模式 隧道模式,用得比较少
lvs的dr模式
dr模式直接修改目的mac把请求传递给后端真实服务器,负载均衡器和真实服务器要在同一个局域网
drs模式下后端服务器也需要具有vip,后端服务器vip只是用来处理请求。负载均衡器vip用来提供服务
三台服务器都需要配置同一个vip,这个就比较麻烦了,容易造成ip冲突的问题。这个是dr模式的难点
dr模式下的响应流程
真实服务器直接响应给用户,不再通过负载均衡器。负载均衡器不是瓶颈
但负载均衡器、所有真实器都要配置vip,这个就比较麻烦了
dr模式下用户请求的响应流程
请求:用户 -> 负载均衡器lvs(237.49) -> 真实服务器集群
响应:真实服务器 -> 用户
lvs的nat模式
负载均衡服务器同时也是nat服务器
后端真实服务器以nat服务器为网关访问外网
nat模式下的响应流程
请求:用户 -> 负载均衡器lvs(237.49) -> 真实服务器集群
响应:真实服务器 -> 负载均衡调度器 -> 用户
负载均衡器的压力相对于dr模式会大点,但一般来说也能承担
后端真实服务器不用配置vip,不用担心ip冲突,这个是比较方便的
nat模式下
用户 -> 外网 -> 内网
负载均衡器是外网
真实服务器是内网
tun模式
隧道模式本人用得比较少,这边不做介绍
vip配置在lo虚拟网卡上
# 主机:192.168.121.132、192.168.121.132
# vip配置在lo虚拟网卡上
ifconfig lo:1 192.168.121.6 netmask 255.255.255.255 up
# 即使配置在lo本地环回网卡,也是会响应的,所以得抑制
# 配置arp抑制配置/etc/sysctl.conf
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.lo.arp_announce=2
# 加载命令
sysctl -p
# 负载均衡主机:192.168.121.134
ifconfig ens33:1 192.168.121.6 netmask 255.255.255.0 up
yum install ipvsadm -y
ipvsadm -A -t 192.168.121.6:80 -s rr
ipvsadm -a -t 192.168.121.6:80 -r 192.168.121.132:80 -g -w 1
ipvsadm -a -t 192.168.121.6:80 -r 192.168.121.133:80 -g -w 1
替换列表中所有空格
kubectl get pod -A -owide
sed 's/[ ][ ]*/ ,/g' pre_all_svc.txt > pre_all_svc.txt.bak