弹性负载均衡(ELB)中负载均衡器相关操作
引导式阅读
Java
弹性负载均衡(ELB)中负载均衡器相关操作
作者
C***
上架时间
2021-07-02 08:06:35

版本说明

本示例基于华为云SDK V2.0版本开发,高版本示例正在开发中。

功能介绍

负载均衡器是指创建的承载业务的负载均衡服务实体。创建负载均衡器后,在负载均衡器中添加监听器和后端云服务器,然后使用负载均衡服务提供的功能,将来自客户端的传入流量转发到一个或多个可用区中的后端云服务器。下面带您一起来了解负载均衡器基本操作,如创建、删除、更改、查询等。

准备工作

负载均衡器管理

初始化客户端

参数获取可参照准备工作中token认证方式。

String user = "replace-with-your-username"; String password = "replace-with-your-password"; String projectId = "replace-with-your-projectId"; String userDomainId = "replace-with-your-domainId"; String authUrl = "https://iam.example.com/v3"; // endpointUrl OSClientV3 osclient = OSFactory.builderV3().endpoint(authUrl) .credentials(user, password, Identifier.byId(userDomainId)) .scopeToProject(Identifier.byId(projectId)).authenticate();

创建负载均衡器

创建私网类型的负载均衡器。创建成功后,会返回创建的负载均衡器的ID、所属子网ID、负载均衡器内网IP等详细信息。若要创建公网类型的负载均衡器,还需调用创建弹性公网IP的接口,将弹性公网IP与私网负载均衡器的vip_port_id绑定。

创建所需部分参数

名称 类型 描述
adminStateUp boolean 负载均衡器的管理状态。该字段为预留字段,暂未启用。默认为true。
subnetId string 负载均衡器所在的子网ID。可通过查询子网列表获取。vip_address将从该子网中产生。只支持指定IPv4的子网ID。暂不支持IPv6。
name string 负载均衡器名称。

代码展示

// Create an Enhanced Loadbalancer String subnet_id = "5de13914-bd0c-4387-81a7-2d6618cd4824"; // specify in which subnet you want to create an enhanced loadbalancer LoadBalancerV2 myelb = NeutronLoadBalancerV2.builder().adminStateUp(true).subnetId(subnet_id).name("l4_test_lb").build(); osclient.networking().lbaasV2().loadbalancer().create(myelb);

说明:创建时还可配置其他参数,具体请参考API Explorer

查询负载均衡器列表

查询负载均衡器列表

// List all Enhanced Loadbalancer under tenant's project osclient.networking().lbaasV2().loadbalancer().list();

说明

  • 1、支持条件过滤查询,如根据负载均衡器名称、操作状态、配置状态等查询。支持分页查询。具体请参考API Explorer
  • 2、分页查询使用的参数为marker、limit、page_reverse。marker和page_reverse只有和limit一起使用时才会生效,单独使用无效。

查询负载均衡器详情

根据指定负载均衡器ID,查询负载均衡器详情。同时可以根据查询到的vip_port_id,查询负载均衡器绑定的EIP。

// Query info about a specific Loadbalancer String lb_id = "24255471-2bdd-4e31-9893-7df04b5c1db1"; // specify your loadbalancer id here osclient.networking().lbaasV2().loadbalancer().get(lb_id);

说明:更多信息请参考API Explorer

更新负载均衡器

根据指定负载均衡器ID更新负载均衡器

// Update an Enhanced Loadbalancer LoadBalancerV2Update update_myelb = NeutronLoadBalancerV2Update.builder().name("l4_test_lb_mod").build(); osclient.networking().lbaasV2().loadbalancer().update(lb_id, update_myelb);

说明:其他配置更新,如负载均衡器描述、管理状态请参考API Explorer

删除负载均衡器

根据指定ID删除负载均衡器

// Delete an Enhanced Loadbalancer osclient.networking().lbaasV2().loadbalancer().delete(lb_id);

说明:删除负载均衡器前必须先删除与其关联的所有的监听器。更多信息请参考API Explorer

参考

更多信息请参考弹性负载均衡 ELB