配置 LBaaS - 每天5分钟玩转 OpenStack(121)

上一节学习了 Neutron LBaaS 的原理,今天开始实践。首先在配置中启用 LBaaS 服务。

Neutron 通过 lbaas plugin 和 lbaas agent 提供 LBaaS 服务。

lbaas plugin 与 Neutron Server 一起运行在控制节点上。
lbaas agent 运行在网络节点上。
对于我们的实验环境,控制节点和网络节点是一个,都是 devstack-controller。

配置 LBaaS agent

Neutron 配置 LBaaS agent 的地方是 /etc/neutron/services/loadbalancer/haproxy/lbaas_agent.ini。

定义 interface_driver:

interface_driver 的作用是设置 load balancer 的网络接口驱动,可以有两个选项:

Linux Bridge

interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver

Open vSwitch

interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver

配置 LBaaS plugin

在 /etc/neutron/neutron.conf 中设置启用 LBaaS plugin

在 /etc/neutron/neutron_lbaas.conf 中设置 service provider

从注释信息可以看到,除了默认的 HAProxy,Neutron 也支持第三方 provider,比如 radware,VMWareEdge 等。

重启 neutron 服务,确保 LBaaS 正常运行。

我们将实践如下 LBaaS 环境。

该环境描述如下:
1. 创建一个 Pool “web servers”。
2. 两个 pool member “WEB1” 和 “WEB2”,均为运行 Ubuntu cloud image 的 instance。
3. load balancer VIP 与 floating IP 关联。
4. 位于外网的 client 通过 floating IP 访问 web server。

下一节开始我们将一步一步实现这个 LBaaS。

时间: 2024-09-20 17:42:18

配置 LBaaS - 每天5分钟玩转 OpenStack(121)的相关文章

用 config drive 配置网络 - 每天5分钟玩转 OpenStack(173)

上一节最后问了大家一个问题:如果 subnet 没有开 DHCP,会是怎样一个情况? 在其他条件不变的情况下,cloud-init 依然会完成那 3 个步骤,也就是说网卡还是会被配置成 dhcp 模式,只是最后网卡没办法获得 IP 而已. 不开 DHCP 也是一个常见的场景,为了让 instance 的网卡在这种情况下也能够被正确配置,我们需要借助 config drive,下面开始实践. 在计算节点 /etc/nova/nova.conf 中需要添加一个配置,然后重启 nova-compute

理解 Neutorn LBaaS - 每天5分钟玩转 OpenStack(120)

Load Balance as a Service(LBaaS)是 Neutron 提供的一项高级网络服务.LBaaS 允许租户在自己的网络中创建和管理 load balancer. load balancer 可以说是分布式系统中比较基础的组件. 它接收前端发来的请求,然后将请求按照某种均衡策略转发给后端资源池中的某个处理单元,以完成处理. load balancer 可以实现系统高可用和横向扩展. LBaaS 有三个主要的概念: Pool Member,Pool 和 Virtual IP P

在 ML2 中配置 VXLAN - 每天5分钟玩转 OpenStack(110)

上一节我们介绍了 VXLAN 的基本概念,今天介绍如何在 ML2 中启用 VXLAN. 在 /etc/neutron/plugins/ml2/ml2_conf.ini 设置 vxlan network 相关参数. tenant_network_types = vxlan 指定普通用户创建的网络类型为 vxlan. 这里还使用了一个名为 "l2population" mechanism driver,我们放到后面单独介绍. 然后指定 vxlan 的范围. 上面的配置定义了 vxlan v

在 ML2 中配置 Vlan Network- 每天5分钟玩转 OpenStack(93)

上一节我们学习了 Neutron Vlan Network 的原理,今天讨论如何在 ML2 配置中 enable 它. 首先在 /etc/neutron/plugins/ml2/ml2_conf.ini 中设置 vlan network 相关参数. tenant_network_types = vlan 指定普通用户创建的网络类型为 vlan. 然后指定 vlan 的范围: 上面配置定义了 label 为 "default" 的 vlan network,vlan id 的范围是 30

写在最前面 - 每天5分钟玩转 OpenStack(1)

<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重实践并兼顾理论 主要从实际操作的角度带着大家学习 OpenStack.   为啥要写这个? 简单回答是:因为OpenStack 学习难度大,但如果掌握了价值会很大 先做一个自我介绍吧. 本人网名CloudMan,在 IT 这个行当已经摸爬滚打了十多年,05年之前是搞上层应用开发的,那时候 Java 比较火,所

cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)

本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件.  设置 hostname cloud-init 默认会将 instance 的名字设置为 hostname.但这样不太方便,有时希望能够将二者分开,可利用 cloud-init 的set_hostname 模块实现.set_hostname 它会查询 metadata 中 hostname 信息,默认值就是 instance 的名字.我们可以指定自己的 hostname,方法是将下面的内容传给

学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)

作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder 和 Neutron.请大家看下图: 此图截自 https://www.openstack.org/software/project-navigator/,这是 OpenStack 官方定义的 6 个 Core Service.每个模块都会从三个维度来衡量: ADOPTION - 采用度 MATUR

为 instance 配置静态 IP - 每天5分钟玩转 OpenStack(157)

  这是 OpenStack 实施经验分享系列的第 7 篇. 传统运维中为服务器配置静态 IP 是再常见不过的了.但在 OpenStack 环境下只能指定 network,IP 都是 Neutron 从 subnet IP 池中自动分配的.   有同学就会想办法了:等 instance 起来后手工把 IP 改掉行不行? 非常遗憾,不行! instance 网卡的 IP 和 Mac 地址是记录在 port 中的,计算节点的 iptable 会根据 port 信息生成相应的 rule,只有与 por

配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)

本节开始我们将学习 Linux Bridge 如何实现 Neutron 的各种功能.首先需要配置 linux-bridge mechanism driver. Neutorn ML2 plugin 默认使用的 mechanism driver 是 open vswitch 而不是 linux bridge.那是否还有研究 linux bridge 的必要呢?我的答案是:很有必要! 原因如下: linux bridge 技术非常成熟,而且高效,所以业界很多 OpenStack 方案采用的是 lin