使用命令行配置 LBaaS V2

Last published : Oct 06, 2026
LBaaS V2 支持 SSL 卸载,其证书由 Barbican 管理,还支持证书捆绑包(包括中间证书颁发机构)、SNI 以及常规负载均衡功能。LBaaS V2 仅支持命令行界面来运行配置任务。LBaaS V2 API 实现通过 Neutron LBaaS 命令执行。
注意
当您需要 SSL 卸载功能时,请将证书和密钥上传到 Barbican 服务。如果支持 SSL 卸载,请执行步骤 1、2 和 3,否则从 步骤 4 继续,以创建负载均衡器、侦听器、池和成员。
  1. 使用以下命令将证书上传到 Barbican 服务:
    barbican secret store --payload-content-type <content_type> --name <certificate_name> --payload<certificate_location>
    示例:
    barbican secret store --payload-content-type='text/plain' --name='hp_server_certificate' --payload=" hp_server/tmp/server_certificate"上传证书
  2. 使用以下命令将密钥上传到 Barbican 服务:
    barbican secret store --payload-content-type <content_type> --name <key_name> --payload<key_location>
    示例:
    barbican secret store -- payload-content-type='text/plain' --name='shp_server_key' --payload="hp-server/tmp/server_key"上传密钥
    注意
    当您运行这两个 Barbican 命令来加载证书和密钥时,Secret href 字段会提供一个位置或 URL。这是证书和密钥存储在安装了 OpenStack 的系统上的位置。复制这些链接,并在步骤 3 中在 Barbican 服务上创建容器时将这些链接作为参数提供。
  3. 使用以下命令在 Barbican 服务中创建容器以存储证书和密钥:
    在命令中,将 <certificate_url> 替换为您上传证书时从 Secret href 字段获取的 URL。同样,将 <key_url> 替换为您上传密钥时从 Secret href 字段获取的 URL。
    barbican secret container create --name<container_name> --type<container_type> --secret<certificate_url> --secret<key_url>
    示例:
    barbican secret container create --name='hp_container' --type='certificate' --secret="`certificate=http://localhost:9311/v1/secrets/e36a4a82-87e4-4873-9efe-55108875ef58 --secret="private_key=http://localhost:9311/v1/secrets/1b9e1a93-2aeb-4101-8002-e52acab987b0`"创建容器
    复制容器的 href 值。在步骤 6 中创建侦听器时,您必须提供容器的链接。
  4. 在 OpenStack 中设置环境变量。这些变量使 OpenStack 客户端命令能够与 OpenStack 服务通信。
    示例:
    导出 OS_PASSWORD-hp
    导出 OS_AUTH_URL=http://10.106.43.15:35357/v2.0/
    导出 OS_USERNAME=hp_user
    导出 OS_TENANT_NAME=hp
    导出 OS_IDENTITY_API_VERSION=2.0
    导出 BARBICAN_ENDPOINT="http://10.106.43.15:9311/"
    设置环境变量
    注意
    在运行其他命令之前,为每个 SSH 会话设置这些变量。有关 OpenStack 环境变量的更多信息,请参阅 OpenStack 环境变量。
  5. 使用以下命令创建负载均衡器:
    neutron lbaas-loadbalancer-create --name <loadbalancer-name>  <subnet-name> --provider <netscaler>
    示例:
    neutron lbaas-loadbalancer-create --name hp-lb-test hp-sub1 --provider netscaler
    创建负载均衡器(/en-us/netscaler-application-delivery-management-software/media/neutron-lbaas-lb-create.png)
    负载均衡器成功创建后,状态从 PENDING_CREATE 变为 ACTIVE。
    负载均衡器状态变更(/en-us/netscaler-application-delivery-management-software/media/neutron-lbaas-lb-create-status.png)
  6. 使用以下命令创建侦听器:
    neutron lbaas-listener-create --loadbalancer <loadbalancer-name> --name <listener-name> --protocol <protocol_type> --protocol-port <port_number> --default-tls-container-id<container_url>
    示例:
    neutron lbaas-listener-create --name hp-lb-test-list  --loadbalancer hp-lb-test --protocol TERMINATED_HTTPS --protocol-port 443 --default-tls-container-id `http://10.106.43.15:9311/v1/containers/d688676f-c256-4a0d-b84d-a310419dc0aa`
    注意
    如果您要创建不支持 SSL 卸载的侦听器,请运行以下命令,而无需向容器提供位置:
    neutron lbaas-listener-create --loadbalancer <loadbalancer-name> --name <listener-name> --protocol <protocol_type> --protocol-port <port_number>
    创建不支持 SSL 卸载的侦听器(/en-us/netscaler-application-delivery-management-software/media/neutron-lbaas-listener-create.png)
  7. 使用以下命令创建池:
    neutron lbaas-pool-create --lb-algorithm <algorithm_type> --listener <listener-name> --protocol <protocol_type> --name <pool-name>
    示例:
    neutron lbaas-pool-create --lb-algorithm LEAST_CONNECTIONS --listener demolistener --protocol http --name demopool
    创建池(/en-us/netscaler-application-delivery-management-software/media/neutron-lbaas-pool-create.png)
  8. 使用以下命令创建成员:
    neutron lbaas-member-create  --subnet <subnet-name> --address <ip-address of the web server> --protocol-port <port_number>  <pool-name>
    示例:
    neutron lbaas-member-create --subnet hp-sub1 --address 15.0.0.15 --protocol-port 80 hp-lb-test-pool
    创建成员(/en-us/netscaler-application-delivery-management-software/media/neutron-lbaas-member-create.png)

在 NetScaler Console 中监控 OpenStack 应用程序

您的租户可以使用其 OpenStack 凭据登录到 NetScaler Console,以便从任何浏览器监控从 OpenStack 创建的 VIP 和池。URL 必须采用以下格式:
http://<mas_ip>/<admin_ui>/mas/ent/html/cc_tenant_main.html
其中,mas-ip-address 是在 OpenStack 中注册的 NetScaler Console IP 地址。
注意
  • OpenStack VIP 对应于 NetScaler Console 中的虚拟服务器。
  • OpenStack 池对应于 NetScaler Console 中的服务组。
  • OpenStack 池成员对应于 NetScaler Console 中的服务组成员。