本文主要是介绍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:
这篇关于OpenStack LBaaS之Octavia的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!