CN110990149B - 一种基于icos***的负载均衡测试方法 - Google Patents

一种基于icos***的负载均衡测试方法 Download PDF

Info

Publication number
CN110990149B
CN110990149B CN201911120939.0A CN201911120939A CN110990149B CN 110990149 B CN110990149 B CN 110990149B CN 201911120939 A CN201911120939 A CN 201911120939A CN 110990149 B CN110990149 B CN 110990149B
Authority
CN
China
Prior art keywords
load balancing
creating
amphorae
network
octavia
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911120939.0A
Other languages
English (en)
Other versions
CN110990149A (zh
Inventor
高言
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201911120939.0A priority Critical patent/CN110990149B/zh
Publication of CN110990149A publication Critical patent/CN110990149A/zh
Application granted granted Critical
Publication of CN110990149B publication Critical patent/CN110990149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出的一种基于ICOS***的负载均衡测试方法,通过在控制节点添加一块虚拟网卡来与amphorae VM所在的租户网络联通以在底层完成负载均衡的配置以及相关监控操作。本发明针对ICOS***的负载均衡的可完全覆盖该功能的测试需求,对Octavia通信所需的管理网络、端口、镜像等的一次深度探索。极大的提高了研发及测试的效率及成本。

Description

一种基于ICOS***的负载均衡测试方法
技术领域
本发明涉及计算机技术领域,更具体的说是涉及一种基于ICOS***的负载均衡测试方法。
背景技术
浪潮云海·云数据中心操作***(InCloud OpenStack,简称ICOS)是浪潮基于开源OpenStack并结合云海系列产品自研的一款功能丰富、高可用性、安全、支撑工具全面,面向下一代云数据中心和云原生应用的智慧操作***。InCloud OpenStack云操作***以主流的OpenStack平台为核心,针对Nova(计算)、Cinder(块存储)、Swift(对象存储)、Neutron(网络)、Glance(镜像)、Ironic(裸金属)、Heat(资源编排)、Trove(数据库)等OpenStack核心组件进行大量深度地优化和开发。
openstack octavia是openstack lbaas的支持的一种后台程序,提供为虚拟机流量的负载均衡。实质是类似于trove,调用nove以及neutron的api生成一台安装好haproxy和keepalived软件的虚拟机,并连接到目标网路。octavia共有4个组件housekeeping,worker,api,health-manager,octavia agent。
当前,在OpenStack应用于浪潮以ICOS、ICS、ICM为核心的云海操作***时,如何通过对Octavia通信所需的管理网络、端口、镜像的探索,开发出节省研发、测试成本的测试方法,应用于Octavia的深度测试,是我们亟待解决的问题。
发明内容
针对以上问题,本发明的目的在于提供一种基于ICOS***的负载均衡测试方法,通过在控制节点添加一块虚拟网卡来与amphorae VM所在的租户网络联通以在底层完成负载均衡的配置以及相关监控操作。
本发明为实现上述目的,通过以下技术方案实现:一种基于ICOS***的负载均衡测试方法,包括如下步骤:
S1:在控制节点添加一块虚拟网卡来与amphorae VM所在的租户网络联通;
S2:为amphorae VM指定安全组以限制进出的管理流量;
S3:通过neutron创建管理端口,并且进入容器在控制节点的br-int网桥创建对应的ovs port,从而创建虚拟网卡;
S4:为管理端口设置IP;
S5:导入负载均衡镜像;
S6:创建密钥对和负载均衡使用的实例类型;
S7:在预先部署的控制节点上进行配置修改并执行改配;
S8:在所述控制节点上测试负载均衡服务。
进一步,所述步骤S1包括:
创建租户网络,创建网络和子网,可界面操作;
通过Octavia组件管理负载均衡器的amphorae VM。
进一步,所述步骤S2包括:
指定amphorae VM的入口udp,用于octavia-health-manager监控amphorae VM内的进程;
指定amphorae VM的入口tcp,用于SSH登陆amphorae VM,维护操作;
指定amphorae VM的另一个入口tcp,用于与amphorae VM内的agent通信,生成具体的负载均衡服务。
进一步,所述步骤S3包括:
创建三个管理端口,所述三个管理端口的主机名称分别对应三个控制节点;
分别进入三个控制节点的容器。
进一步,所述步骤S4包括:
进入每个控制节点,确保/etc/kolla/config/octavia/dhclient.conf存在,如果不存在,创建目录及文件;
在每个控制节点上修改创建的ovs接口的mac并在宿主控制节点上启动dhcpclient,从而为管理端口配置IP。
进一步,所述步骤S5包括:
将负载均衡镜像放到预先部署的控制节点的任一目录下,并在目录下执行镜像导入指令。
进一步,所述步骤S6包括:
通过执行预设指令创建密钥对;
在ICOS页面为Octavia创建用于指定amphorae VM规格的实例类型。
进一步,所述步骤S7包括:
预先部署三个控制节点,并修改控制节点的网络、镜像参数、实例类型、密钥对配置参数;
配置修改完成后,下发配置到octavia组件的相应模块。
进一步,所述步骤S8包括:
在skyline的网络负载均衡界面创建负载均衡服务;
利用amphora-x64-haproxy.qcow2在admin项目下自动创建一个以amphora开头的虚拟机。
对比现有技术,本发明有益效果在于:本发明提供了一种基于ICOS***的负载均衡测试方法,保障测试了完整性,避免了遗漏和误用,结合现实研发测试经验,通过在控制节点添加一块虚拟网卡来与amphorae VM所在的租户网络联通以在底层完成负载均衡的配置以及相关监控操作。
本发明针对ICOS***的负载均衡的可完全覆盖该功能的测试需求,对Octavia通信所需的管理网络、端口、镜像等的一次深度探索。极大的提高了研发及测试的效率及成本。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明的方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
实施例一:
如图1所示的一种基于ICOS***的负载均衡测试方法,包括如下步骤:
S1:在控制节点添加一块虚拟网卡来与amphorae VM所在的租户网络联通。
首先,创建租户网络,创建网络和子网,可界面操作;然后通过Octavia组件管理负载均衡器的amphorae VM。
S2:为amphorae VM指定安全组以限制进出的管理流量。
具体为:指定amphorae VM的入口udp,用于octavia-health-manager监控amphorae VM内的进程;指定amphorae VM的入口tcp,用于SSH登陆amphorae VM,维护操作;指定amphorae VM的另一个入口tcp,用于与amphorae VM内的agent通信,生成具体的负载均衡服务。
S3:通过neutron创建管理端口,并且进入容器在控制节点的br-int网桥创建对应的ovs port,从而创建虚拟网卡。
首先,创建三个port,所述三个port的hostname分别对应三个控制节点;然后,分别进入三个控制节点的容器。
S4:为管理端口设置IP。
首先,进入每个控制节点,确保/etc/kolla/config/octavia/dhclient.conf存在,如果不存在,创建目录及文件;然后,在每个控制节点上修改创建的ovs接口的mac并在宿主控制节点上启动dhcp client,从而为管理端口配置IP。
S5:导入负载均衡镜像。
具体为:将负载均衡镜像放到预先部署的控制节点的任一目录下,并在目录下执行镜像导入指令。
S6:创建密钥对和负载均衡使用的实例类型。
首先,通过执行预设指令创建密钥对;然后在ICOS页面为Octavia创建用于指定amphorae VM规格的实例类型。
S7:在预先部署的控制节点上进行配置修改并执行改配。
预先部署三个控制节点,并修改控制节点的网络、镜像参数、实例类型、密钥对配置参数;配置修改完成后,下发配置到octavia组件的相应模块。
S8:在所述控制节点上测试负载均衡服务。
在skyline的网络负载均衡界面创建负载均衡服务;利用amphora-x64-haproxy.qcow2在admin项目下自动创建一个以amphora开头的虚拟机。
实施例二:
本实施例提供了一种基于ICOS***的负载均衡测试方法,包括:
1.创建管理网络:
Octavia组件中的的octavia-worker,octavia-housekeeping,octavia-health-manager三个模块需要与租户网络(即Octavia管理网络)内的amphorae VM通信以在底层完成负载均衡的配置以及相关监控操作。所以需要在控制节点添加一块虚拟网卡来与amphorae VM所在的租户网络联通。
首先创建租户网络,创建网络和子网,可界面操作,网段不能与控制节点的管理网络、存储网络以及overlay绑定网络的cidr重叠,网络所属project为admin,网络名称默认为lb_mgmt_net,主要是Octavia组件用来管理实现负载均衡器的amphorae VM,属于Octavia管理网络,故严禁在此网络上手动创建虚拟机,后面创建负载均衡器会自动在此网络上创建amphorae VM。
创建子网时选择“不启用网关”.命令如下:
openstack network create lb_mgmt_net--project admin
openstack subnet create--subnet-range 192.168.0.0/24--allocation-poolstart=192.168.0.2,end=192.168.0.200--gateway none--network lb_mgmt_net lb_mgmt_subnet。
2.创建安全组:
amphorae VM需要指定安全组以限制进出的管理流量。
入口udp 5555,用于octavia-health-manager监控amphorae VM内的进程
入口tcp 22,用于SSH登陆amphorae VM,维护操作,较少用
入口tcp 9443,用于与amphorae VM内的agent通信,生成具体的负载均衡服务
命令如下:
openstack security group create lb_mgmt_sec_group–project admin;
openstack security group rule create--protocol udp--dst-port 5555<安全组ID>;
openstack security group rule create--protocol tcp--dst-port 22<安全组ID>;
openstack security group rule create--protocol tcp--dst-port 9443<安全组ID>。
3.创建管理端口:
管理端口,即控制节点内与Octavia管理网络通信的虚拟网卡,需要用命令行在neutron创建port,并且进入容器在控制节点的br-int网桥创建对应的ovs port,从而创建虚拟网卡。
首先创建三个neutron port,每个port对应到一个控制节点;
1)创建三个port,这三个port的hostname分别对应三个控制节点。命令如下:
neutron port-create--name octavia-mgmt-port01--security-group<安全组ID>--device-owner Octavia:health-mgr--binding:host_id=<hostname>lb_mgmt_net(网络名称)--tenant-id<s管理网络所在租户的租户ID>
2)分别进入三个控制节点的容器:
然后分别登录每个控制节点,进入neutron_openvswitch_agent容器,执行下面的ovs-vsctl命令(注意分别替换相应的port的mac和id);
docker exec-it-u 0neutron_openvswitch_agent bash
执行如下命令:
ovs-vsctl--may-exist add-port br-int o-hm0--set Interface o-hm0type=internal--set Interface o-hm0 external-ids:iface-status=active--setInterface o-hm0 external-ids:attached-mac=<上条命令创建的port的mac>--setInterface o-hm0 external-ids:iface-id=<上条命令创建的port的id>
4.为管理端口(o-hm0)设置IP:
1)进入每个控制节点,确保/etc/kolla/config/octavia/dhclient.conf存在,如果不存在,创建目录及文件,dhclient.conf文件的内容为:
request subnet-mask,broadcast-address,interface-mtu;
do-forward-updates false;
2)在每个控制节点上分别执行下面的操作,用来修改创建的ovs接口的mac并在宿主控制节点上启动dhcp client,从而为管理端口配置IP:
ip link set dev o-hm0 address<mac地址,对应ovs port的MAC地址>;
其中,mac地址为上述创建在宿主控制节点上的ovs port的mac
mac配置正确后,从租户网络的dhcp server获取IP
dhclient-v o-hm0-cf/etc/kolla/config/octavia/dhclient.conf;
5.导入负载均衡镜像:
将镜像amphora-x64-haproxy.qcow2放到部署节点的任一目录下,并在目录下执行:
openstack image create amphora-x64-haproxy--public--container-format=bare--disk-format qcow2--file amphora-x64-haproxy.qcow2--tag amphora
6.创建密钥对:
执行下面三个命令:
mkdir-p/etc/kolla/config/octavia/.ssh;
ssh-keygen-b 2048-t rsa-N""-f
/etc/kolla/config/octavia/.ssh/octavia_ssh_key;
nova keypair-add
--pub-key=/etc/kolla/config/octavia/.ssh/octavia_ssh_key.puboctavia_ssh_key--user<octavia的user id>
7.创建负载均衡使用的实例类型:
为Octavia创建合适的flavor,用于指定amphorae VM的规格,在ICOS页面创建即可,“计算&存储--资源规格”,研发环境一般2cpu,2G内存,20G硬盘就够,若生产或POC环境建议8cpu,8G内存,100G硬盘。
8.配置修改及执行改配:
在部署节点操作:
假设三个控制节点,每个控制节点名字为control01、control02、control03,
在部署节点创建三个目录及文件:/etc/kolla/config/octavia/{控制节点名字}/octavia.conf文件:
/etc/kolla/config/octavia/control01/octavia.conf
/etc/kolla/config/octavia/control02/octavia.conf
/etc/kolla/config/octavia/control03/octavia.conf
octavia.conf内容如下,管理端口IP要对应控制节点:
[certificates]
ca_private_key_passphrase=foobar#证书生成时第五步sh文件里指定的(默认是这个,不用改)
[health_manager]
bind_port=5555
bind_ip=<第五步相应节点上的管理端口获取的IP>
controller_ip_port_list=<第五步相应节点上的管理端口获取的IP>:5555
heartbeat_key=insecure
[controller_worker]
amp_boot_network_list=<第二步创建的管理网络的id>
amp_image_tag=amphora<第七步:导入镜像时的tag参数>(默认是这个,不用改)
amp_secgroup_list=<第三步创建的安全组的id>
amp_flavor_id=<第九步创建的flavor id>
amp_ssh_key_name=octavia_ssh_key<第七步创建的密钥对名称>(默认是这个,不用改)
loadbalancer_topology=SINGLE
上述配置完成之后,reconfigure octavia,下发配置到octavia组件的各个模块,执行如下命令:
kolla-ansible reconfigure-i/root/multinode-t Octavia
9.测试负载均衡服务:
上述配置完成后,可在skyline的网络---负载均衡界面完成负载均衡服务的创建操作。
负载均衡创建后,会利用amphora-x64-haproxy.qcow2在admin项目下自动创建一个以amphora开头的虚拟机,此虚拟机为实际完成负载均衡服务的所在,不可手动编辑。同时资源池的成员为其他镜像创建的虚拟机,提供HTTP等具体服务。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。

Claims (9)

1.一种基于ICOS***的负载均衡测试方法,其特征在于,包括如下步骤:
S1:在控制节点添加一块虚拟网卡来与amphorae VM所在的租户网络联通;
S2:为amphorae VM指定安全组以限制进出的管理流量;
S3:通过neutron创建管理端口,并且进入容器在控制节点的br-int网桥创建对应的ovs port,从而创建虚拟网卡;
S4:为管理端口设置IP;
S5:导入负载均衡镜像;
S6:创建密钥对和负载均衡使用的实例类型;
S7:在预先部署的控制节点上进行配置修改并执行改配;
S8:在所述控制节点上测试负载均衡服务。
2.根据权利要求1所述的基于ICOS***的负载均衡测试方法,其特征在于,所述步骤S1包括:
创建租户网络,创建网络和子网,可界面操作;
通过Octavia组件管理负载均衡器的amphorae VM。
3.根据权利要求1所述的基于ICOS***的负载均衡测试方法,其特征在于,所述步骤S2包括:
指定amphorae VM的入口udp,用于octavia-health-manager监控amphorae VM内的进程;
指定amphorae VM的入口tcp,用于SSH登陆amphorae VM,维护操作;
指定amphorae VM的另一个入口tcp,用于与amphorae VM内的agent通信,生成具体的负载均衡服务。
4.根据权利要求1所述的基于ICOS***的负载均衡测试方法,其特征在于,所述步骤S3包括:
创建三个管理端口,所述三个管理端口的主机名称分别对应三个控制节点;
分别进入三个控制节点的容器。
5.根据权利要求1所述的基于ICOS***的负载均衡测试方法,其特征在于,所述步骤S4包括:
进入每个控制节点,确保/etc/kolla/config/octavia/dhclient.conf存在,如果不存在,创建目录及文件;
在每个控制节点上修改创建的ovs接口的mac并在宿主控制节点上启动dhcp client,从而为管理端口配置IP。
6.根据权利要求1所述的基于ICOS***的负载均衡测试方法,其特征在于,所述步骤S5包括:
将负载均衡镜像放到预先部署的控制节点的任一目录下,并在目录下执行镜像导入指令。
7.根据权利要求1所述的基于ICOS***的负载均衡测试方法,其特征在于,所述步骤S6包括:
通过执行预设指令创建密钥对;
在ICOS页面为Octavia创建用于指定amphorae VM规格的实例类型。
8.根据权利要求1所述的基于ICOS***的负载均衡测试方法,其特征在于,所述步骤S7包括:
预先部署三个控制节点,并修改控制节点的网络、镜像参数、实例类型、密钥对配置参数;
配置修改完成后,下发配置到octavia组件的相应模块。
9.根据权利要求1所述的基于ICOS***的负载均衡测试方法,其特征在于,所述步骤S8包括:
在skyline的网络负载均衡界面创建负载均衡服务;
利用amphora-x64-haproxy.qcow2在admin项目下自动创建一个以amphora开头的虚拟机。
CN201911120939.0A 2019-11-15 2019-11-15 一种基于icos***的负载均衡测试方法 Active CN110990149B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911120939.0A CN110990149B (zh) 2019-11-15 2019-11-15 一种基于icos***的负载均衡测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911120939.0A CN110990149B (zh) 2019-11-15 2019-11-15 一种基于icos***的负载均衡测试方法

Publications (2)

Publication Number Publication Date
CN110990149A CN110990149A (zh) 2020-04-10
CN110990149B true CN110990149B (zh) 2022-06-14

Family

ID=70084498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911120939.0A Active CN110990149B (zh) 2019-11-15 2019-11-15 一种基于icos***的负载均衡测试方法

Country Status (1)

Country Link
CN (1) CN110990149B (zh)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710503B (zh) * 2012-05-15 2017-03-15 郑州云海信息技术有限公司 一种基于“云海os”的网络负载均衡方法

Also Published As

Publication number Publication date
CN110990149A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
US11611487B2 (en) Model driven process for automated deployment of domain 2.0 virtualized services and applications on cloud infrastructure
CN108536519B (zh) 自动搭建Kubernetes主节点的方法及终端设备
CN108062248B (zh) 异构虚拟化平台的资源管理方法、***、设备及存储介质
US10148493B1 (en) API gateway for network policy and configuration management with public cloud
CN106301829B (zh) 一种网络业务扩容的方法和装置
JP6403800B2 (ja) エンタープライズ・ベース・ネットワーク及びマルチテナント・ネットワーク間でのアプリケーションの移行
US9246765B2 (en) Apparatus and methods for auto-discovery and migration of virtual cloud infrastructure
EP2823393B1 (en) Offline provisioning of virtual machines
CN109194502B (zh) 多租户容器云计算***的管理方法
US20170034012A1 (en) Fast Provisioning Service for Cloud Computing
Nogales et al. Design and deployment of an open management and orchestration platform for multi-site nfv experimentation
CN107357660A (zh) 一种虚拟资源的分配方法及装置
WO2014014477A1 (en) Migrating applications between networks
CN111880902A (zh) 一种pod创建方法、装置、设备及可读存储介质
JP2016522509A (ja) 仮想ネットワーク機能マネージャによる仮想インフラストラクチャマネージャへのアクセスの自動化構成
CN108111332A (zh) 应用sdn的混合云管理***及方法
CN106533713A (zh) 一种应用部署方法及设备
US11425054B1 (en) User-configured multi-location service deployment and scaling
CN112099913A (zh) 一种基于OpenStack实现虚拟机安全隔离的方法
Mamatas et al. A service-aware virtualized software-defined infrastructure
US11765244B1 (en) Latency-based service discovery and routing for multi-location service-oriented applications
WO2014036716A1 (zh) 逻辑交付点到物理交付点的电信信息网络架构式映射***
CN110990149B (zh) 一种基于icos***的负载均衡测试方法
CN114363164B (zh) 云网络服务编排控制方法、***、存储介质和电子设备
Hao Edge Computing on Low Availability Devices with K3s in a Smart Home IoT System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant