使用docker在搭建lvs環境

來源:互聯網
上載者:User
介紹

lvs是一款出色的負載平衡軟體,被廣泛的用於各大知名網站,其支援多種負載平衡方式,如:[VS/NAT,VS/TUN,VS/DR和full NAT,原來在搭建一個lvs的測試環境時,往往需要多台物理主機或者是虛擬機器,在本文中將介紹一種使用docker在一個虛擬機器上搭建LVS叢集的方式,方便開發人員在開發與測試階段使用 環境搭建 安裝虛擬機器環境,這裡在window7上,使用virtualbox,安裝64位的centos7,在安裝過程選擇 minimal 就可以了 由於在這個環境的搭建中使用到了docker和 docker-compose,所以首先設定國內比較快的yum源,推薦使用阿里雲的yum源

由於使用到了docker-compose,並且通過pip來安裝docker-compose,因此先通過yum來安裝 pip,步驟如下:

          | yum -y install epel-release |          | yum -y install python-pip   |          | yum clean all               |

通過pip安裝docker-compose

       |   pip install -U docker-compose  |

從github上將附件下載下來,放置到linux作業系統的某個目錄下

解壓後,在解壓的目錄下,運行 docker-compose up

這樣就通過docker-compose將這個lvs的運行環境搭建成功了 相關配置的分析

在這個環境中,lvs的兩個docker容器的ip,如下表所示,在dockermaster_lvs1 上有分配的lvs分配的vip:172.17.0.8

[root@localhost ~]# docker psCONTAINER ID        IMAGE                  COMMAND             CREATED            STATUS              PORTS               NAMES9e52f1b85d79        dockermaster_client1   "sleep 2h"          2 days ago         Up 2 minutes        22/tcp              dockermaster_client1_1ca7970401fa0        dockermaster_web2      "sh local.rc"       2 days ago         Up 2 minutes        22/tcp, 80/tcp      dockermaster_web2_10018316201a0        dockermaster_web1      "sh local.rc"       2 days ago         Up 2 minutes        22/tcp, 80/tcp      dockermaster_web1_1ed93d015bc56        dockermaster_lvs1      "/app/run.sh"       2 days ago         Up 3 minutes        22/tcp, 80/tcp      dockermaster_lvs1_1eac75212a3b7        dockermaster_lvs2      "/app/run.sh"       2 days ago         Up 3 minutes        22/tcp, 80/tcp      dockermaster_lvs2_1[root@localhost ~]# docker exec -ti ed93d015bc56 /bin/shsh-4.1# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host       valid_lft forever preferred_lft forever6: eth0@if7: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff    inet 172.17.0.3/16 scope global eth0       valid_lft forever preferred_lft forever    inet 172.17.0.8/32 scope global eth0       valid_lft forever preferred_lft forever    inet6 fe80::42:acff:fe11:3/64 scope link       valid_lft forever preferred_lft foreversh-4.1# exit[root@localhost ~]#[root@localhost ~]# docker exec -ti eac75212a3b7 /bin/shsh-4.1# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host       valid_lft forever preferred_lft forever4: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff    inet 172.17.0.2/16 scope global eth0       valid_lft forever preferred_lft forever    inet6 fe80::42:acff:fe11:2/64 scope link       valid_lft forever preferred_lft forever

而在docker的web容器中,ip的情況如下,在這兩個docker容器的lo網卡上都綁定了 172.17.0.8 這個VIP

[root@localhost ~]# docker psCONTAINER ID        IMAGE                  COMMAND             CREATED             STATUS              PORTS               NAMES9e52f1b85d79        dockermaster_client1   "sleep 2h"          2 days ago          Up 13 minutes       22/tcp              dockermaster_client1_1ca7970401fa0        dockermaster_web2      "sh local.rc"       2 days ago          Up 13 minutes       22/tcp, 80/tcp      dockermaster_web2_10018316201a0        dockermaster_web1      "sh local.rc"       2 days ago          Up 13 minutes       22/tcp, 80/tcp      dockermaster_web1_1ed93d015bc56        dockermaster_lvs1      "/app/run.sh"       2 days ago          Up 13 minutes       22/tcp, 80/tcp      dockermaster_lvs1_1eac75212a3b7        dockermaster_lvs2      "/app/run.sh"       2 days ago          Up 13 minutes       22/tcp, 80/tcp      dockermaster_lvs2_1[root@localhost ~]# docker exec -ti 0018316201a0 /bin/shsh-4.1# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet 172.17.0.8/32 brd 172.17.0.8 scope global lo:0       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host       valid_lft forever preferred_lft forever8: eth0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP    link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff    inet 172.17.0.4/16 scope global eth0       valid_lft forever preferred_lft forever    inet6 fe80::42:acff:fe11:4/64 scope link       valid_lft forever preferred_lft foreversh-4.1# exitexit[root@localhost ~]# docker exec -ti ca7970401fa0 /bin/shsh-4.1# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet 172.17.0.8/32 brd 172.17.0.8 scope global lo:0       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host       valid_lft forever preferred_lft forever10: eth0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP    link/ether 02:42:ac:11:00:05 brd ff:ff:ff:ff:ff:ff    inet 172.17.0.5/16 scope global eth0       valid_lft forever preferred_lft forever    inet6 fe80::42:acff:fe11:5/64 scope link       valid_lft forever preferred_lft foreversh-4.1#

然後在docker的宿主機上,通過curl 172.17.0.8 就能進行訪問

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.