当前位置:首页 > 技术 > 正文内容

LBaaS v2 配置指南

访客 技术 2026年6月9日 1

通过Neutron命令可管理支持代理或Octavia的LBaaS v2实例。

部署负载均衡实例

  1. 在指定子网创建负载均衡节点。本例使用包含两台Web服务器的私有网络:
$ neutron lb-create --name my-lb internal-network
  1. 通过以下命令获取负载均衡器状态及IP信息:
$ neutron lb-show my-lb
+---------------------+------------------------------------------------+
| Field               | Value                                          |
+---------------------+------------------------------------------------+
| admin_state_up      | True                                           |
| description         |                                                |
| id                  | 7780f9dd-e5dd-43a9-af81-0d2d1bd9c386           |
| listeners           | {"id": "23442d6a-4d82-40ee-8d08-243750dbc191"} |
|                     | {"id": "7e0d084d-6d67-47e6-9f77-0115e6cf9ba8"} |
| name                | my-lb                                          |
| operating_status    | ONLINE                                         |
| provider            | haproxy                                        |
| provisioning_status | ACTIVE                                         |
| tenant_id           | fbfce4cb346c4f9097a977c54904cafd               |
| vip_address         | 192.168.1.22                                   |
| vip_port_id         | 9f8f8a75-a731-4a34-b622-864907e1d556           |
| vip_subnet_id       | f1e7827d-1bfe-40b6-b8f0-2d9fd946f59b           |
+---------------------+------------------------------------------------+
  1. 配置安全策略允许流量访问负载均衡器。通过vip_port_id关联安全组:
$ neutron security-group-create lb-sg
$ neutron security-group-rule-create \
  --direction ingress \
  --protocol tcp \
  --port-range-min 80 \
  --port-range-max 80 \
  --remote-ip-prefix 0.0.0.0/0 \
  lb-sg
$ neutron security-group-rule-create \
  --direction ingress \
  --protocol tcp \
  --port-range-min 443 \
  --port-range-max 443 \
  --remote-ip-prefix 0.0.0.0/0 \
  lb-sg
$ neutron security-group-rule-create \
  --direction ingress \
  --protocol icmp \
  lb-sg

应用安全组到负载均衡端口:

$ neutron port-update \
  --security-group lb-sg \
  9f8f8a75-a731-4a34-b622-864907e1d556

此时负载均衡器已就绪,可通过192.168.1.22访问。4. 验证连通性:

$ ping -c 4 192.168.1.22
PING 192.168.1.22 (192.168.1.22) 56(84) bytes of data.
64 bytes from 192.168.1.22: icmp_seq=1 ttl=62 time=0.410 ms
64 bytes from 192.168.1.22: icmp_seq=2 ttl=62 time=0.407 ms
64 bytes from 192.168.1.22: icmp_seq=3 ttl=62 time=0.396 ms
64 bytes from 192.168.1.22: icmp_seq=4 ttl=62 time=0.397 ms

--- 192.168.1.22 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.396/0.402/0.410/0.020 ms

配置HTTP监听器

  1. 在负载均衡器上添加HTTP协议监听器:
$ neutron listener-create \
  --name http-listener \
  --lb my-lb \
  --protocol HTTP \
  --port 80
  1. 创建后端池并添加服务器节点:
$ neutron pool-create \
  --name http-pool \
  --algorithm ROUND_ROBIN \
  --listener http-listener \
  --protocol HTTP
$ neutron member-create \
  --subnet internal-network \
  --address 192.168.1.16 \
  --port 80 \
  http-pool
$ neutron member-create \
  --subnet internal-network \
  --address 192.168.1.17 \
  --port 80 \
  http-pool
  1. 验证负载均衡效果:
$ curl 192.168.1.22
web2
$ curl 192.168.1.22
web1
  1. 添加健康检查机制:
$ neutron health-monitor-create \
  --delay 5 \
  --retries 2 \
  --timeout 10 \
  --type HTTP \
  --pool http-pool

当检测失败时会自动隔离节点,恢复后重新加入。### 配置HTTPS监听器

  1. 创建HTTPS协议监听器及对应后端池:
$ neutron listener-create \
  --name https-listener \
  --lb my-lb \
  --protocol HTTPS \
  --port 443
$ neutron pool-create \
  --name https-pool \
  --algorithm LEAST_CONNECTIONS \
  --listener https-listener \
  --protocol HTTPS
$ neutron member-create \
  --subnet internal-network \
  --address 192.168.1.16 \
  --port 443 \
  https-pool
$ neutron member-create \
  --subnet internal-network \
  --address 192.168.1.17 \
  --port 443 \
  https-pool
  1. 为HTTPS池配置健康检查:
$ neutron health-monitor-create \
  --delay 5 \
  --retries 2 \
  --timeout 10 \
  --type HTTPS \
  --pool https-pool

负载均衡器现已支持80/443端口流量分发。

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。