码迷,mamicode.com
首页 > Web开发 > 详细

Docker笔记三:基于LVS DR模式构建WEB服务集群

时间:2017-12-18 15:08:52      阅读:779      评论:0      收藏:0      [点我收藏+]

标签:自动   效果   文档   错误   nta   run   其他   roo   net   

安装ipvsadm

1. 先在宿主机上安装并以root来启动ipvsadm,每次要在容器中运行ipvs都需要先在宿主机上启动ipvs。如果直接进行2步操作将报出如下错误:

Can‘t initialize ipvs: Protocol not available
Are you sure that IP Virtual Server is built in the kernel or as module?

2. 实例化一个ipvs容器:

  • dockerfile:
    FROM ubuntu
    MAINTAINER cenze <272666745@qq.com>
    
    RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    ADD conf/sources.list /etc/apt/
    ADD conf/rc.ipvs /etc/ RUN apt-get update && apt-get install -y gcc make vim ipvsadm iproute2 #本机的80端口已经留给其他容器使用了,所以绑定在了89端口上 EXPOSE 89
  • 宿主机上运行容器ipvs:
    sudo docker run -it -p 89:89 --name lvs --privileged=true cenze/lvs
  • 容器ipvs中完成均衡策略配置:由于容器启动时不会自动去执行/etc/rc.local,所以需手动执行下。所有需要手动执行的命令都可写进rc.ipvs(需要可执行权限)文档:
    ip addr add 172.17.100.100 broadcast 172.17.100.100 label eth0:0 dev eth0
    ipvsadm -A -t 172.17.100.100:89 -s wlc
    ipvsadm -a -t 172.17.100.100:89 -r 172.17.0.8 -g -w 1
    ipvsadm -a -t 172.17.100.100:89 -r 172.17.0.6 -g -w 1
    然后一次手动执行完:
    root@7a375abcd343:/# /etc/rc.ipvs

 

配置Real Servers 

1. 与ipvs容器一样,需要手动执行一些配置命令,将其写进/etc/rc.rs(需要可执行权限):

ip addr add 172.17.100.100 broadcast 172.17.100.100 label lo:0 dev lo
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

然后一次手动执行完:

root@203ffab2138f:/usr/local/pkgs/nginx-1.10.2# /etc/rc.rs

2. 为RS-172.17.0.8和RS-172.17.0.6添加不同的index.html:

<html>
<head>
<title>Welcome to RS-172.17.0.8!</title>
</head>
<body>
<h1>Welcome to RS-172.17.0.8!</h1>
</body>
</html>

3. WEB服务器的监听端口改为89。

 

测试集群负载均衡效果

从多个浏览器访问172.17.100.100:89:

1)不能从同一个浏览器开启多个标签去测试,否则将得到同一台WEB服务器的响应。

2)不能通过localhost:89去访问,否则将无法与WEB服务器群建立起连接。

 1. Chrome访问172.17.100.100:89: 

Welcome to 172.17.0.8!

2. FireFox访问172.17.100.100:89: 

Welcome to 172.17.0.6!

Docker笔记三:基于LVS DR模式构建WEB服务集群

标签:自动   效果   文档   错误   nta   run   其他   roo   net   

原文地址:http://www.cnblogs.com/XiongMaoMengNan/p/8056211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!