OpenStack LBaaS之Octavia

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/

孔令賢的博客詳細:

https://lingxiankong.github.io/2017-09-13-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=ad04b06d6af88ed1148ce3a081c1c2bb
pip 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:







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章