在DevStack中部署和使用Octavia负载均衡服务指南
【免费下载链接】devstack 项目地址: https://gitcode.com/gh_mirrors/dev/devstack
概述
OpenStack从Pike版本开始,Octavia已成为独立的负载均衡服务组件。本文将详细介绍如何在DevStack环境中部署Octavia服务,并创建实际的负载均衡器进行测试。
环境准备
硬件要求
- 至少8GB内存
- 16GB磁盘空间
- 推荐使用KVM虚拟化而非QEMU
- 确保启用嵌套虚拟化
系统配置
- 更新系统并安装必要工具
- 创建stack用户并设置DevStack目录权限
sudo ./create-stack-user.sh
sudo mv devstack /opt/stack
sudo chown -R stack.stack /opt/stack/devstack
DevStack配置
编辑/opt/stack/devstack/local.conf文件,关键配置如下:
[[local|localrc]]
# 基础服务密码配置
DATABASE_PASSWORD=password
ADMIN_PASSWORD=password
SERVICE_PASSWORD=password
# 启用必要服务
enable_service rabbit
enable_plugin neutron
enable_service q-qos
enable_service placement-api placement-client
# Octavia相关配置
enable_plugin octavia
enable_plugin octavia-dashboard
enable_plugin ovn-octavia-provider
enable_plugin octavia-tempest-plugin
enable_service octavia o-api o-cw o-hm o-hk o-da
# 可选配置
# OCTAVIA_AMP_BASE_OS=centos
# OCTAVIA_AMP_DISTRIBUTION_RELEASE_ID=9-stream
# OCTAVIA_LB_TOPOLOGY=ACTIVE_STANDBY
配置说明
OCTAVIA_AMP_BASE_OS: 指定Amphora虚拟机的基础操作系统OCTAVIA_LB_TOPOLOGY: 设置负载均衡器拓扑结构(ACTIVE_STANDBY为高可用模式)- 如需TLS卸载功能,可启用Barbican服务
部署与验证
- 执行部署脚本
./stack.sh
. ./openrc
- 验证网络服务
openstack network list
创建测试实例
- 创建两个Nova实例作为后端服务器
openstack server create --image cirros --flavor 1 --nic net-id=private node1
openstack server create --image cirros --flavor 1 --nic net-id=private node2
- 配置安全组规则
openstack security group rule create default --protocol icmp
openstack security group rule create default --protocol tcp --dst-port 22:22
openstack security group rule create default --protocol tcp --dst-port 80:80
- 在每个实例上部署测试Web服务
scp test_server.bin cirros@${INST_IP}:
ssh -f cirros@${INST_IP} ./test_server.bin -id ${INST_IP}
创建负载均衡器
- 创建负载均衡器
openstack loadbalancer create --wait --name lb1 --vip-subnet-id private-subnet
- 配置监听器
openstack loadbalancer listener create --wait --protocol HTTP --protocol-port 80 --name listener1 lb1
- 创建后端池
openstack loadbalancer pool create --wait --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP --name pool1
- 配置健康检查
openstack loadbalancer healthmonitor create --wait --delay 5 --timeout 2 --max-retries 1 --type HTTP pool1
- 添加后端成员
openstack loadbalancer member create --wait --subnet-id private-subnet --address <web server 1 IP> --protocol-port 80 pool1
openstack loadbalancer member create --wait --subnet-id private-subnet --address <web server 2 IP> --protocol-port 80 pool1
测试负载均衡
- 查看负载均衡器VIP地址
openstack loadbalancer show lb1
- 发送测试请求
curl http://<vip_address>
预期结果应轮询显示两个后端服务器的响应信息。
高级配置建议
-
性能优化:
- 在
local.conf中添加LIBVIRT_CPU_MODE="host-passthrough"以充分利用主机CPU特性 - 调整Amphora虚拟机大小:
OCTAVIA_AMP_IMAGE_SIZE=3
- 在
-
高可用配置:
- 设置
OCTAVIA_LB_TOPOLOGY=ACTIVE_STANDBY实现主备模式 - 考虑启用
OCTAVIA_ENABLE_AMPHORAV2_JOBBOARD=True使用新版任务调度系统
- 设置
-
监控与日志:
- 启用详细日志记录:
VERBOSE=True,LOG_COLOR=True - 指定日志文件位置:
LOGFILE=$DEST/logs/stack.sh.log
- 启用详细日志记录:
通过本指南,您已成功在DevStack环境中部署了Octavia负载均衡服务,并完成了从创建到测试的完整流程。
【免费下载链接】devstack 项目地址: https://gitcode.com/gh_mirrors/dev/devstack
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



