[lxc-users] Has anyone ever configured or used LPVS with LXD/LXC before?

Fajar A. Nugraha list at fajar.net
Thu Sep 8 06:17:17 UTC 2016


I've used IPVS (with keepalived, which also includes vrrp feature) in the
past with xen. As long as you use bridge networking, with the server's eth
(or vlan) as slave (NOT using lxdbr0, cause it wouldn't make much sense to
loadbalance two or more containers on the same host), I don't see how it
will be any different with lxd.

-- 
Fajar

On Thu, Sep 8, 2016 at 1:17 AM, brian mullan <bmullan.mail at gmail.com> wrote:

> correction... I mis-typed IPVS in a couple places... its IPVS not LPVS...
> sorry.
>
>
> On Wed, Sep 7, 2016 at 8:45 AM, brian mullan <bmullan.mail at gmail.com>
> wrote:
>
>> A few years ago I'd done some experimentation with LPVS but that was
>> before I began using LXC/LXD and had forgotten about it since.
>>
>> LPVS has been in the Linux kernel for nearly 15 years now!
>>
>> Recently I read that someone has utilized LPVS capabilities with docker
>> containers:
>> https://blog.codeship.com/kernel-load-balancing-for-docker-
>> containers-using-ipvs/
>>
>> That Uber dev also put out a GO application to help admin/provision the
>> IPVS called GORB:
>> https://github.com/kobolog/gorb
>>
>> GORB (Go Routing and Balancing) is described as:
>>
>> Go Routing and Balancing
>>> This daemon is an IPVS frontend with a REST API interface. You can use
>>> it to control local IPVS instance in the Kernel to dynamically register
>>> virtual services and backends. It also supports basic TCP and HTTP health
>>> checks (called Gorb Pulse).
>>>
>>>    - TCP: tries to establish a TCP connection to the backend's host and
>>>    port.
>>>
>>>
>>>    - HTTP: tries to fetch a specified location from backend's host and
>>>    port.
>>>
>>> Backends which fail to pass the health check will have weights set to
>>> zero to inhibit any traffic from being routed into their direction. When a
>>> backend comes back online, GORB won't immediately set its weight to the
>>> previous value, but instead gradually restore it based on backend's
>>> accumulated health statistics.
>>>
>>> GORB also supports basic service discovery registration via *Consul
>>> <https://www.consul.io/>: *just pass in the *Consul* endpoint to GORB
>>> and it will take care of everything else – your services will be registered
>>> with names like nginx-80-tcp. Keep in mind that you can use Consul's
>>> built-in DNS server to make it even easier to discover your services!
>>>
>>> Check out these* slides for my DockerCon EU 2015 talk
>>> <http://www.slideshare.net/kobolog/ipvs-for-docker-containers>* for
>>> more information about IPVS, GORB and how to use it with Docker.
>>
>>
>>
>> There is already a *Consul* setup/config tool for LXD:
>>  https://github.com/badmadrad/lxd-consul
>> <https://github.com/badmadrad/lxd-consul>
>>
>> So I thought I'd ask if anyone had any experience setting up or using
>> LPVS with LXD containers?
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxcontainers.org/pipermail/lxc-users/attachments/20160908/1989c56a/attachment.html>


More information about the lxc-users mailing list