A10网络OpenStack LBaaS驱动程序中间件

a10-neutron-lbaas的Python项目详细描述


#A10 Networks OpenStack LBAAS v1/v2驱动程序
========



A10 Networks LBAAS驱动程序,适用于Thunder、vtunder和Ax系列设备


支持的版本:

*OpenStack:Liberty-Queens版本
*LBAAS版本:v2
*ACOS版本:ACOS 2/AXAPI 2.1(ACOS 2.7.2+)、ACOS 4/AXAPI 3.0(ACOS 4.0.1-GA+)


工作但不提供支持:

*OpenStack:Git/Master


不受支持,但可以进行小的调整:

*OpenStack:v1在任何版本上,v2在Havana到kilo之间
-[A10中子lbaas](https://github.com/A10 networks/A10-neutron-lbaas)-主A10 lbaas驱动程序回购。位于
OpenStack驱动程序和我们的API客户端之间的中间件,将OpenStack构造映射到A10的AXAPI。
-[ACOS客户端](https://github.com/a10networks/acos-client)-A10的OpenStack驱动程序使用的AXAPI客户端
-[A10 OpenStack lbaas](https://github.com/a10networks/a10-OpenStack-lbaas)-openstack lbaas驱动程序,
与当前合并到中子lbaas中的文件相同。pypi包
"a10-openstack-lbaas"。
-[a10-openstack-lbaas,哈瓦那分行](https://github.com/a10 networks/a10-openstack-lbaas/tree/havana)-openstack
lbaas驱动程序,用于哈瓦那版本。PYPI软件包"A10 OpenStack LBaas Havana"。
-[A10网络CI/项目配置](https://github.com/a10 networks-ci/project-config)-A10网络OpenStack第三方CI安装脚本

[图像2](https://cloud.githubusercontent.com/assets/1424573/2849597/47192238-d0df-11e3-9e1e-9e234be58412.png)


\fn安装步骤:


这个
驱动程序需要安装在所有的中子控制器节点上
(中子服务器运行的任何地方)。


le on github.

从pypi安装
` `` sh
sudo pip从克隆的git存储库安装A10 neutron lbaas

<[屏幕截图2016-03-22,下午4点41分04秒](https://cloud.githubusercontent.com/assets/603553/13970211/ee35777c-f04c-11e5-9cd2-7c4dd8a66a3A.png)

``sh
sudo pip install git+https://github.com/a10 networks/a10 neutron lbaas.git
`````
``sh
`git clone https://github.com/a10 networks/a10 neutron lbaas.git
cd a10 neutron lbaas
sudo pip install-e.
````


_配置

post install configuration需要修改通常位于`/etc/neutron`中的neutron.conf或neutron lbaas.conf(neutron lbaas.conf仅存在于lbaasv2中)。

lbaas v1配置
在首选文本编辑器中打开`/etc/neutron/neutron.conf'。
在"服务插件"设置下,确保根据您的配置列出"lbaas"或"lbaasv2"。

0
网络:
`服务提供商=负载均衡器:a10网络:neutron戋lbaas.services.loadbalancer.drivers.a10网络。driver戋v1.thunderdriver:default`


在首选文本编辑器中保存并关闭neutron.conf

lbaas v2配置
打开`/etc/neutron/neutron.conf'。
在"服务插件"设置下,确保列出"lbaasv2"。
保存并关闭neutron.conf.


在首选文本编辑器中打开`/etc/neutron/neutron-lbaas.conf'。


在"服务提供商"设置列表中,为A10
网络添加服务提供商:
"服务提供商"=loadbalancerv2:a10网络:neutron-lbaas.drivers.a10网络。drivers-v2.thunderdriver:默认的扩展配置eutron/neutron.conf`在您首选的文本编辑器中。
在"服务插件"设置下,确保列出了"a10-neutron-lbaas.neutron-ext.services.a10-device-instance.plugin.a10-deviceinstanceplugin"。"service_plugins"由","s分隔。

在"api_extensions_path"设置下,确保列出"a10_neutron_lbaas.neutron_ext.extensions"的路径。"api_extension s_path"由":"s"分隔。您可以通过运行"python-c"import os;import a10_neutron_lbaas.neutron_ext.extensions as m;print(os.path.dirname(os.path.abspath(m.uu file_uuu))"`.

您需要为驱动程序提供配置,以便驱动程序知道您配置的设备。配置是一个python文件,存储在`/etc/a10/config.py`。下面是一个显示选项和格式的示例,尽管任何合法的python都可以用于计算值或定义类:
``python
devices={
"ax1":{
"name":"ax1"、
"host":"10.10.100.20"、
"port":443、
"username":"admin"、
"password":"a10",
"autosnat":true,
"api_version":"3.0",
}
}
````

\vtunder appliance configuration

a10的lbaas驱动程序支持"每个租户一个设备"的默认调度策略。下面是一个示例配置(存储在`/etc/a10/config.py`):
``python
vtunder={
'username':'admin',
'password':'a10',

'api'version':'3.0',

'nova'flavor':'acos.min',
'glance'image':'c2722746-0c06-48b1-93c3-a9dbc2f6e628',

"vtunder租户"名为"admina","vtunder租户"名为"admina","vtunder租户"名为"password","vtunder租户"名为"password","vtunder租户"名为"private","vtunder租户"名为"admina","vtunder租户"名为"admina","vtunder租户"名为"admina","vtunder租户"名为"admina","vtunder租户"名为"private","vtunder租户数据网络"名为"vipnet","membernet"]







"用户名"(必需)

vtunder设备映像上的管理员用户名。


这取决于vtunder设备映像版本:

*2.7.x-`"2.1"`
*4.x.x-`"3.0"`


The minimum requirements are dependent on your vThunder appliance image version:

###### 2.7.x
* CPU: 1 VCPU
* RAM: 2GB
* Storage: 12GB

###### 4.x.x
* CPU: 1 VCPU
* RAM: 4GB
* Storage: 12GB

##### `glance_image` (required)

The Glance or Novavtunder设备映像的映像ID。这可以通过horizon或openstack cli获得。

作为对上述服务租户的访问。

将连接到.至少需要一个。

有关A10 config.py文件的完整文档,请参阅[示例配置文件](https://github.com/a10 networks/a10 neutron lbaas/blob/master/a10_u neutron lbaas/etc/config.py)。

必需)

IP地址或主机名在A10设备中。对于虚拟机箱配置,这应该是主设备的浮动主机或IP地址。

通过axapi。

`"2.1"`对于2.x系列ACOS版本,
`"3.0"`对于4.x版本。



下面是许可证管理的示例配置(存储在`/etc/a10/config.py`):
``python
license-manager={
"hosts":[
{"ip":"pdx.a10cloud.com","port":443},
{"ip":"sfo.a10cloud.com","port":443},
{"ip":"iad.a10cloud.com","port":443}
],
"serial":"sn0123456789abcdef",
"instance name":"scaling_instance",
"bandwidth base":100,
"interval":3,
"use mgmt port":true
}
````

"hosts"(必需)
指定授权服务器的IP地址或主机名或主机名和TCP端口的主机项指定授权服务器的IP地址或主机名或主机名和TCP端口的主机项。




serial`(必需)
vvtunder设备使用的序列号




vtunder设备使用的序列号





`带宽基数`(现收现付许可证要求)
以兆字节为单位的功能带宽基数。


如果设置为true,则一致性将使用管理端口与授权服务器通信。默认情况下,设备将使用第一个可用接口进行许可证服务器操作。

有关A10许可的详细信息,请访问"todo(add licensing info url)"。

GE并在任何
升级之后,运行:

```
A10 manage upgrade
````

`````

示例架构

必须为OpenStack配置Thunder设备的网络元素。

[图像3](https://cloud.githubusercontent.com/assets/1424573/2849593/4708b7ea-d0df-11e3-8ed7-f6bf73b31535.png)


\vlan:

![image4](https://cloud.githubusercontent.com/assets/1424573/2849595/471863d4-d0df-11e3-87c7-2423aaaaedca.png)




[图像7](https://cloud.githubusercontent.com/assets/1424573/2849592/46f86d4a-d0df-11e3-8b57-25d2d796f1cc.png)


步骤2:


[图像8](https://cloud.githubusercontent.com/assets/1424573/2849594/47169bda-d0df-11e3-9fda-af2da76cdb00.png)


添加池后,将显示一条成功消息。

![image9](https://cloud.githubusercontent.com/assets/1424573/2849599/471a7c14-d0df-11e3-918e-778dbea9be45.png)


\f5第3步:

ADP名称是租户ID的前13个字符。

![图像10](https://cloud.githubusercontent.com/assets/1424573/2849596/4718b0b4-d0df-11e3-9a6b-506bb832dcce.png)


对所有配置步骤重复此操作,然后删除所有资源(如果是ADPS)已配置。当租户没有配置更多的资源时,应该删除它们。请参见[基于名称的配置示例](https://github.com/a10networks/a10-neutron-lbaas/tree/master/a10-neutron-lbaas/etc)了解详细信息。

更改
请参见[更改日志](https://github.com/a10networks/a10-neutron-lbaas/tree/master/changelog)更改。注意:直到1.6.5


A10 community


严重的支持升级和正式的功能请求必须
仍然通过标准的A10流程。

分叉
2.创建功能分支(`git checkout-b my new feature`)
3。提交更改(`git commit-am'add some feature`)
4.推到分支(`git push origin my new feature`)
5。创建新的拉取请求

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java CompletableFuture runAsync与新线程   java JSP c:forEach items属性无法解析变量   Java SQL优化   java setStreamMute(流环)将文本静音为语音   java运行Spring应用程序问题   Java性能为什么响应时间会随着时间的推移而增加?   ApacheSpark如何在java中构建编码器   java如何将流<Map<output,Long>>转换为Map<output,Long>   java如何定位iOS设备型号?   java将Arraylist转换为要通过Whatsapp共享的项目列表   java能否保证@PostConstruct方法的调用顺序?   java Flyway如何仅为迁移而不是整个应用程序配置事务超时   在Java中调整输出,使其美观整洁   从列表中查找证书到期日期。pem和。使用Java的pub密钥文件   java JavaFX8无法在SplitPane容器中找到任何节点   Java流来查找列表中的事件