OpenStack LBaaS之Octavia

来源:互联网 发布:手写笔绘图软件 编辑:程序博客网 时间:2024/06/14 20:36
OpenStack自从Kilo版本引入了V2.0版本的LBaaS API,并且从Liberty版本开始正式支持V2.0 API,同时该API支持的LBaaS plug-in换成了Octavia。换成Octavia的原因是之前使用的haproxy plug-in没有HA功能,扩展性也比较差,不适用于大规模部署的场景。具体的关于Octavia的说明可以参考如下Specs:
http://specs.openstack.org/openstack/neutron-specs/specs/liberty/lbaas-ref-octavia.html 

但是,对于小规模部署的场景,haproxy plug-in还是有用武之地的。

1 介绍

octavia wiki:

https://wiki.openstack.org/wiki/Octavia

liberty:

http://specs.openstack.org/openstack/neutron-specs/specs/liberty/lbaas-ref-octavia.html

mitaka:

https://specs.openstack.org/openstack/openstack-ansible-specs/specs/mitaka/lbaasv2.html

官方:

https://docs.openstack.org/octavia/latest/

孔令贤的博客详细:

http://lingxiankong.github.io/2016-03-30-octavia.html

2 安装

2.1 devstack安装

https://docs.openstack.org/devstack/latest/guides/devstack-with-lbaas-v2.html

https://wiki.openstack.org/wiki/Neutron/LBaaS/HowToRun


2.2 手工安装

方法1:

pip install octavia 
方法2:

pypi: https://pypi.python.org/pypi/octavia

wget https://pypi.python.org/packages/31/83/845e8e2930735811d19ff189bc61ae0330385b216039461725c202f4c663/octavia-1.0.0.0rc2-py2.py3-none-any.whl#md5=ad04b06d6af88ed1148ce3a081c1c2bbpip install octavia-1.0.0.0rc2-py2.py3-none-any.whl


3 配置

http://www.iyunv.com/thread-287366-1-1.html

http://superbigsea.blog.51cto.com/6862263/1862253



4 架构



Octavia version 0.9 consists of the following major components:

  • amphorae - Amphorae are the individual virtual machines, containers, or bare metal servers that accomplish the delivery of load balancing services to tenant application environments. In Octavia version 0.8, the reference implementation of the amphorae image is an Ubuntu virtual machine running HAProxy.
  • controller - The Controller is the “brains” of Octavia. It consists of four sub-components, which are individual daemons. They can be run on separate back-end infrastructure if desired:
    • API Controller - As the name implies, this subcomponent runs Octavia’s API. It takes API requests, performs simple sanitizing on them, and ships them off to the controller worker over the Oslo messaging bus.
    • Controller Worker - This subcomponent takes sanitized API commands from the API controller and performs the actions necessary to fulfill the API request.
    • Health Manager - This subcomponent monitors individual amphorae to ensure they are up and running, and otherwise healthy. It also handles failover events if amphorae fail unexpectedly.
    • Housekeeping Manager - This subcomponent cleans up stale (deleted) database records, manages the spares pool, and manages amphora certificate rotation.
  • network - Octavia cannot accomplish what it does without manipulating the network environment. Amphorae are spun up with a network interface on the “load balancer network,” and they may also plug directly into tenant networks to reach back-end pool members, depending on how any given load balancing service is deployed by the tenant.

For a more complete description of Octavia’s components, please see the Octavia v0.5 Component Design document within this documentation repository.

diagram of the Octavia v0.5 components:







原创粉丝点击