前言 在前面的章节中我们记录了 LoadBalancer.Listener.Pool.Member 等等 Octavia 核心资源对象的创建流程,本篇我们在此之上继续讨论处于 LB Management Network 上的 Amphorae 虚拟机是如何与处于 OpenStack Management Network 上的 Octavia Worker 进行安全通信的. 为什么 Octavia 需要自建 CA 证书? 首先我们提出一个问题:为什么 Octavia 需要自建 CA 而不使用 Op…
目录 文章目录 目录 Octavia 基本对象概念 基本使用流程 软件架构 服务进程清单 代码结构 loadbalancer 创建流程分析 network_tasks.AllocateVIP network_tasks.PlugVIP Amphora Amphora Agent AmphoraAPIClient AmphoraePostVIPPlug 启动 Keepalived 服务进程 listener 创建流程分析 启动 haproxy 服务进程 pool 创建流程分析 member 创建流…
[了解] 其实说白了,Octavia就是将用户的API请求经过逻辑处理,转换成Haproxy或者Nginx的配置参数,下发到amphora虚机中. Octavia的内部实现中,逻辑流程的处理主要使用TaskFlow库. [基本概念] ·LBaas Load Balancing as a Service,在openstack平台上,LB被作为一种服务提供给用户,用户可以按需获取可配置的业务负载分担方案. ·loadbalancer 负载均衡服务的跟对象,一般为虚机,用户基于此对负载均衡进行配置和操…
[了解] 其实说白了,Octavia就是将用户的API请求经过逻辑处理,转换成Haproxy或者Nginx的配置参数,下发到amphora虚机中. Octavia的内部实现中,逻辑流程的处理主要使用TaskFlow库. [基本概念] ·LBaas Load Balancing as a Service,在openstack平台上,LB被作为一种服务提供给用户,用户可以按需获取可配置的业务负载分担方案. ·loadbalancer 负载均衡服务的跟对象,一般为虚机,用户基于此对负载均衡进行配置和操…
目录 文章目录 目录 创建 Listener 创建 Pool 创建 Member CalculateDelta HandleNetworkDeltas AmphoraePostNetworkPlug ListenersUpdate 创建 L7policy & L7rule & Health Monitor 创建 Listener 我们知道只有为 loadbalancer 创建 listener 时才会启动 haproxy 服务进程. 从 UML 可知,执行指令 openstack load…
目录 文章目录 目录 Octavia 为什么需要自建 CA 证书? GenerateServerPEMTask CertComputeCreate Amphora Agent AmphoraAPIClient 最后 Octavia 为什么需要自建 CA 证书? Note: For production use the ca issuing the client certificate and the ca issuing the server certificate need to be dif…
目录 文章目录 目录 从 Octavia API 看起 Octavia Controller Worker database_tasks.MapLoadbalancerToAmphora compute_tasks.CertComputeCreate & ComputeCreate network_tasks.AllocateVIP network_tasks.PlugVIP 最后 从 Octavia API 看起 通过 CLI 创建一个 loadbalancer: (octavia_env)…
目录 文章目录 目录 OpenStack LBaaS Octavia 软件架构 网络架构 操作对象基本概念 功能实现基本概念 Ocatvia Daemon 列表 部署 Ocatvia 手动方式集成 Octavia Devstack 方式部署 Octavia 使用 测试分析 最后 OpenStack LBaaS LBaaS(Load Balancer as a Service)是 OpenStack 的网络负载均衡服务,为用户提供应用集群负载均衡解决方案.LBaaS 支持将来自公网或内部网络的应用…
[负载均衡] 大量用户发起请求的情况下,服务器负载过高,导致部分请求无法被响应或者及时响应. 负载均衡根据一定的算法将请求分发到不同的后端,保证所有的请求都可以被正常的下发并返回. [主流实现-LVS] LVS 是 Linux Virtual Server 的简称,也就是 Linux 虚拟服务器,已经是 Linux 标准内核的一部分. 采用IP负载均衡技术和基于内容请求分发. 调度器具有很好的吞吐率,将请求均衡得转移到不同的服务器上执行,且调度器可以自动屏蔽掉故障的服务器,从而将一组服务器构成一…
目录 文章目录 目录 前言 UDP 简述 功能验证 网络拓扑 资源对象清单 验证 TS Amphorae UDP 包被非法篡改 存疑 前言 以往,Octavia 通过 HAProxy + Keepalived 的组合来提供高可用的 TCP.HTTP.HTTPS 和 TERMINATED_HTTPS 负载均衡服务.HAProxy 是一个著名的 L4-L7 负载均衡器,功能非常强大,但细心的你或许会发现 HAProxy 的官方定义是 HAProxy as TCP and HTTP proxy,这暗示…