配置 amphorav2 提供程序的其他步骤¶
amphorav2 提供程序驱动程序提高了控制平面弹性。如果在负载均衡器配置操作期间控制平面主机发生故障,则备用控制器可以恢复正在进行的配置并完成请求。通过在持久化后端中写入任务状态信息并通过 jobboard 监控作业声明,解决了资源卡在 PENDING_* 状态的问题。
如果您希望使用基于 jobboard 的控制器进行负载均衡器服务,则需要执行以下其他步骤。
此提供程序驱动程序也可以在没有 jobboard 及其依赖项(额外的数据库、Redis/Zookeeper)的情况下运行。这是默认设置,而 jobboard 仍然是一个实验性功能。
先决条件¶
Amphorav2 提供程序需要创建额外的数据库 octavia_persistence 来存储任务状态和执行进度信息。此外,为了监控 taskflow 作业的进度,amphorav2 提供程序使用 jobboard。Redis 或 Zookeeper 键值存储可以用作 jobboard 后端。操作员应根据特定云环境选择更合适的后端。默认情况下为 Redis。在安装 octavia 包时,应使用 extras [zookeeper] 或 [redis] 安装键值存储客户端。
创建数据库,请完成以下步骤
使用数据库访问客户端以
root用户身份连接到数据库服务器# mysql创建
octavia_persistence数据库CREATE DATABASE octavia_persistence;授予对
octavia_persistence数据库的适当访问权限GRANT ALL PRIVILEGES ON octavia_persistence.* TO 'octavia'@'localhost' \ IDENTIFIED BY 'OCTAVIA_DBPASS'; GRANT ALL PRIVILEGES ON octavia_persistence.* TO 'octavia'@'%' \ IDENTIFIED BY 'OCTAVIA_DBPASS';
将 OCTAVIA_DBPASS 替换为合适的密码。
安装所需的键值后端(Redis 或 Zookeper)。
octavia 组件的附加配置¶
编辑
/etc/octavia/octavia.conf文件[task_flow]部分配置持久化后端的数据库访问
[task_flow] persistence_connection = mysql+pymysql://octavia:OCTAVIA_DBPASS@controller/octavia_persistence Replace OCTAVIA_DBPASS with the password you chose for the Octavia databases.
设置所需的 jobboard 后端及其配置
[task_flow] jobboard_enabled = True jobboard_backend_driver = 'redis_taskflow_driver' jobboard_backend_hosts = KEYVALUE_HOST_IPS jobboard_backend_port = KEYVALUE_PORT jobboard_backend_password = OCTAVIA_JOBBOARDPASS jobboard_backend_namespace = 'octavia_jobboard'
将 OCTAVIA_JOBBOARDPASS 替换为您为 Octavia 键值存储选择的密码。将 KEYVALUE_HOST_IPS 和 KEYVALUE_PORT 替换为所选键值存储正在使用的 IP 地址和端口。
填充 octavia 数据库
# octavia-db-manage --config-file /etc/octavia/octavia.conf upgrade_persistence