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第三方库


热门话题
eclipse如何将LWUIT主题文件加载到Java项目中?   JavaJPA HibernateFetchType。渴望和获取模式。加入非主键   java为单个和多个对象创建对象容器   java在到达末尾时在viewpager2中加载更多项目   java我怎么能忽略它。解压时存储DS_和MACOSX文件?   java我无法使用ApachePOI3.10读取xlsx文件   java为什么我在Android应用程序的webView中看到广告(我没有注册任何广告)   在Java中,PrintWriter write()方法在哪里写入数据   c#ProcessStartInfo挂在“WaitForExit”上?为什么?   安卓中的java解析查询问题   java Android摄像头在拍照时禁用   爪哇交货过早地从jsprit的仓库提货   java退避算法仿真   java我的计数反转算法有什么问题?   java什么导致一个类中的变量受到另一个类的影响?   JavaVaadin和Spring引导问题   java无法使用writerInterceptor拦截jersey资源方法   java如何根据配置选择RedisCluster、RedisStandalone和Sentinel连接?   java GSON/如何解析数字   java:字节码中的字符串concat转换为StringBuilder