openstack heat模板之配置基本LB到F5 BIGIP

openstack stack create -t deploy-lb.yaml -e deploy-lb-params.yaml f5-heat-stack

Icehouse Vxlan 配置

 

 

如果把上面的ovs配置中的l2_population 设阅读更多

Openstack L3-GRE网络与 F5 协作之租户内部BIGIP(ICEHOUSE)

在还没有开始研究各种高大上的自动化控制之前,在还没有考虑各种复杂的企业场景之前,先来研究一下比较普遍的公有云下你希望购买几个server资源,并配上一个负载均衡设备,或者作为企业完全的虚拟化场景下做一些F5产品的测试场景。这些场景相对对SDN方面要求的弱些,就像ESXi上部署各种server,F5一样,是个虚拟化的过程。

此篇博客描述如何在租户内配置一个F5实例, 当一个租户获得资源后,在租户内部网络与传统网络并无二致,因此在实体网络经验下部署F5的经验统统可以用到。租户内部部署一台F5并不需要安装F5 plugin agent,这个实验环境与前面几篇文章有一些不一样,这是新装的一套环境,把controller节点和network节点二合一了,使用上无差异。

一、首先规划网络

1. 一般来说为F5可以设计3个网络,分别是mgmt,external,internal,因此首先为租户创建3个网络(10GB@MQVLS(Y]VQ`EBS))R

2.到F5网站下载kvm的qcow镜像文件 downloads.f5.com, 测试中使用11.6版本,下载后,解压,并通过horizon的images界面上传

I_F}91$~A{XDNF$[2_0~KQU

3. 创建实例资源配置flavor(管理员权限),创建一个新的flavor,根据不同需求,填写相关CPU,memory,disk资源大小,一般来说内存不应小于4G,vcpu不少于2个,磁盘不小于120G,如果你希望使用AAM,ASM这些模块的话,磁盘建议200G以上

]~_[5$WAZ0OO~0UR49Y`{T2

4.加载实例,可通过images界面的launch或者instances界面launch一个新实例,选择刚才创建的flavor,如果希望使用私钥无密码登录方式,在此时可以配置key pair,networking部分选择刚才创建的三个网络,但注意顺序,系统将自动把第一个NIC作为管理接口

注意:此时检查一下compute节点里nova-compute.conf配置文件的libvirt配置项是否使用的是kvm,用qemu的会导致实例加载很慢。

HN[{F{0LE5Z@EX{`Z9N@1DH

5.同样的方法创建2台linux虚机,注意flavor根据实际情况选用,一个网络接入一台虚机

6.由于此时所有设备都在租户内部,且没有图形化机器,如果希望图形化管理F5则没法实现,因此可以将F5的某个接口例如mgmt映射到外部实体网络,本实验使用L3 router,因此通过在L3 router上为mgmt网络分配一个floating IP即可实现从外部访问mgmt接口地址

6.1 管理员权限下,创建一个internet网络,注意网络属性为shared和external network

35F{I{OH@`3W`A68$$B0T0G

最后所有网络如下:

J786U[5~L4RK2Z7XE)5]]7W

6.2 进入租户网络界面-routers,创建一个新router,并增加mgmt网络的接口

17@]_ARA1}P1{CZ7QE3L1GP

同时为该router 关联外部网络gateway,关联之后,效果如下:

W`EMT[~TJ[BN50IDWDG]UVW上图中将租户external网络10.168.168.0/24也连接到路由器是为了实现后面从public网络访问相关vs

最终完成后,网络拓扑如下:

Q~FTF0$CPPAHFTR$D@5W438

注意因为之前internet网络的网关被填错网段IP导致dhcp时候没有给router自动设置缺省路由,因此此时的router里都是网段的直连路由,如果没有缺省路由,需要手工在路由器里添加:

 

7 分配floating IP

点击F5实例后ACTION中的Associate floating IP,分别为F5的mgmt和external网络接口映射floating IP,映射完毕后相当于通过路由器做了1-1 NAT

TH7{IG(H4EX`14576VSQ4ON

最后各个实例情形如下:

]OVB4)5BS)}Y)$M701SFB46

阅读更多

Openstack L3-GRE网络与 F5 LBaaS 协作之外部 BIGIP(ICEHOUSE)

openstack-f5-lbaas-path

上篇文章测试了haproxy作为lbaas的情形,但在应用交付领域F5这一当之无愧的老大显然不能落后,作为openstack的赞助商,F5为openstack提供了一个LBaaS的plugin,通过该plugin可以实现与openstack内外F5以及BigIQ协同。 本文记录如何安装F5 plugin以及整个测试过程。openstack的具体安装过程请见博客中前面的文章。

一、F5 LBaaS plugin的下载与安装,本文使用社区版plugin 1.0.6(F5从1.0.8plugin版本后合并社区版与offical版本)

1. 下载地址

https://devcentral.f5.com/d/openstack-neutron-lbaas-driver-and-agent

2. 下载下来的压缩包中包含很多文件,重要的readme一定要看,其次有4个安装文件,其中两个是deb安装包,另外2个是rpm包,用于对应不同的系统的安装,测试中使用Ubuntu系统,因此使用deb安装包。

二、安装及neutron配置

在控制节点上安装 driver,在网络节点上安装driver以及agent

dpkg -i ****

注意:如果安装完毕后,在/var/log/upstart/ f5-bigip-lbaas-agent.log 日志中发现出现如下类似错误的话,请安装 apt-get install python-suds

Error importing loadbalancer device driver: neutron.services.loadbalancer.drivers.f5.bigip.icontrol_driver.iControlDriver

安装完毕后,使用service  f5-bigip-lbaas-agent status 观察服务是否已经启动并没有出现不停重启情况,如果有请查看对应的日志文件观察错误。

下面接着配置neutron,参考以下配置在控制以及网络节点中,修改service_plugin,service_provider

重启neutron服务,并验证服务正常运行

三、f5 lbaas 配置,参考以下配置,由于测试环境外部F5是独立于openstack外部的,和openstack的网络以及计算节点的用于VM实例的网络可以直接路由互通(测试中其实是直连)

配置完毕后重启 F5 lbaas 服务并确认服务正常运行。

四、外部F5的预配置

F5的license一定要有 SDN service ,否则表面看配置都OK,实际数据不会被转发!

1. 首先provision好F5设备,并将Management (MGMT) provision为large方式

2. 配置vlan,并配置一个self ip,注意这个self ip的名字一定要和agent配置文件中指定vtep——self-ip配置项的值相同,本例是vtep

 

3. 配置tunnel:

f5 tunnel

五、从网络节点ping 上述self ip,确保网络连通,然后在网络节点再次重启f5 lbaas agent服务。注意如果你的F5此前有其他vs等配置,此时配置很可能一下子就被清空了,不要随便接入一台生产环境F5.

正常情况下,此时F5 agent应该已经与F5正常通信了,验证:

最后一个agent就是F5的agent:

阅读更多

openstack L3-GRE 网络结构分析记录 (Icehouse) 第五篇(多外部网络)

在这样的一个环境中,所有计算节点与互联网之间的通信都通过一个网络节点,且网络节点只有一个互联网线路,在实际中,往往可能涉及到多个运营商线路的接入,那么当一个网络节点需要同时与多个外部网络进行连接的话,该怎么办。