lamp (adn,ha,lb,nginx,php,tomcat,mysql,redis,meecacha)
zabbix
ansible/saltstack 自动化配置工具(提高工作效率)
docker 容器
elk 日志管理
k8s 监控系统(cka k8s的认证)
ci/cd 持续集成,持续交付(k8s)的基础
mfs/hapdop 分布式文件式系统
opeanstack 云平台服务(兼容所用的服务)
lvs 负载均衡 (采用二层网络协议)
实验描述:
虚拟机1 作为调度器
虚拟机2和虚拟机 3 作服务器
利用DR模式实现负载均衡
操作流程
虚拟机1安装
yum install ipvsadm -y
ip addr add 172.25.40.100/24 dev eth0
添加一个IP,此IP 为用户访问的IP。
ipvsadm -A -t 172.25.40.100:80 -s rr
ipvsadm -a -t 172.25.40.100:80 -r 172.25.40.2:80 -g
ipvsadm -a -t 172.25.40.100:80 -r 172.25.40.2:80 -g
[root@server1 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.40.100:80 rr
-> 172.25.40.2:80 Route 1 0 0
-> 172.25.40.3:80 Route 1 0 0
删除策略
ipvsadm -d -t 172.25.40.100:80 -r 172.25.0.2:80
rr 是一种算法。
-g 直连模式
-t tcp
虚拟机2和虚拟机3的 操作
安装httpd
yum install -y httpd
echo server2 > /var/www /html/index.html
systemctl start htppd
yum install -y httpd
echo server3 > /var/www /html/index.html
systemctl start htppd
此时的使用真实主机进行访问(模拟的是用户的访问),此时可以发现curl命令访问真正的域名的时候,是无法访问到SR的(真正的服务器)
[kiosk@foundation40 Desktop]$ curl 172.25.40.100
^C
[kiosk@foundation40 Desktop]$ curl 172.25.40.100
^C
[kiosk@foundation40 Desktop]$ curl 172.25.40.100
^C
此时作为调度器的虚拟机1,是可以接受到访问请求的
[root@server1 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.40.100:80 rr
-> 172.25.40.2:80 Route 1 0 2
-> 172.25.40.3:80 Route 1 0 1
[root@server1 ~]#
**原因:**需要在作为服务器的 虚拟机2和虚拟机3 添加vip可以实现访问
**解决方法:**为虚拟机2和虚拟机3添加vip
ip addr add 172.25.40.100/32 dev eth0
SR的ip不需要与外网相连
此时已经实现了负载均衡,如果此时还没有实现负载均衡。
排查方式: selinux和防火墙是否关闭,httpd服务是否启动
[root@foundation40 ~]# for i in {1..10};do curl 172.25.40.100;done
server3
server2
server3
server2
server3
server2
server3
server2
server3
server2
DR的实现是通过二层网络协议实现的,调度器积极通过更改mac地址实现的调度
优点: DR直连,有很好的效应速度。
缺点: 无法检测后台服务器是否正常 ,SR和DR必须在一个vlan之中
实验二
在DR模式之下,优化对后台健康的检测
在调度节点(虚拟机1)的操作:
yum install keepalived
编辑文件:/etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 40
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.25.40.100
}
}
virtual_server 172.25.40.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR
#persistence_timeout 50
protocol TCP
real_server 172.25.40.2 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 172.25.105.3 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
[root@server1 keepalived]# systemctl start keepalived.service
此时已经实现对后台节点的健康监测,实验的检测方法:关掉一个结点的httpd然后在进行负载均衡的测试,验证健康监测的成功。
虚拟机2
systemctl stop httpd
[root@foundation40 ~]# for i in {1..10};do curl 172.25.40.100;done
server3
server3
server3
server3
server3
server3
server3
server3
server3
server3
此时的访问都由SR (server3)承担
实现了对后台的健康监测
实验三
实现DR模式下的,调度结点的高可用。
缺点:有一条线路的空闲,对资源的浪费
优点: 系统具有较高的稳定性
实验描述::
虚拟机1为调度节点 ,虚拟机2和虚拟机3为服务节点,虚拟机4作为虚拟机1的高可用节点
虚拟机4的操作:
下载安装插件
yum install ipvsadm keepalived -y
编辑文件
/etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 40
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.25.40.100
}
}
virtual_server 172.25.40.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR
#persistence_timeout 50
protocol TCP
real_server 172.25.40.2 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 172.25.105.3 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
修改文件的优先级
和工作模式为BACKUP
此时如果节点1挂掉,节点4会替代节点1成为master。
观察日志文件
dns wrr
健康监测
vrrp协议,
CDN