OpenStack octavia 详解

2023-05-16

一、Octavia架构分析

具体架构图请参考:

https://docs.openstack.org/octavia/latest/reference/introduction.html

组件分析:

Octavia API:提供 Restful API,包括,负载均衡的几个对象的CURD操作,操作结果写入数据库,做持久,同时,通过消息总线通知controller。

Controller:是整个Octavia的核心,主要包括:四个部分,一个部分是API Consumer,第二个部分是 Controller worker,第三个部分是health manager,第四个部分是housekeeping manager.

API Consumer:通过消息总线接收来自于API的请求,并且实例化 Controller worker来处理API  请求。

Controller worker:接收API  命令,做相应的动作完成对应的请求,controller woker支持插件框架,包括:网络驱动,计算驱动,证书驱动,负载均衡实现驱动(参考实现是基于虚拟机形式的haproxy)。

Health Manager:监控负载均衡实现体( amphora),确保他是健康的,如果发现它发现异常,则处理这种异常。

Housekeeping Manager:清理DB里的已经删除的纪录,维护一个空闲的负载均衡实现体(amphora)池,及维护证书的循环使用。



 

二、Octavia流程分析

1、创建loadbalancer流程

    创建一个loadbalancer涉及上面的描述的几个组件,API-->API Consumer--> Controller worker.

这里主要分析 controller worker组件里的动作,controller worker为了完成创建一个负载均衡实例,需要做多个动作,它采用了taskflow这个flow编程引擎来把所有的动作串联起来。

 1、通过loadbalancer id从数据库中读取loadbalancer的配置信息。

2、起一个创建loadbalanber的线性flow

  2.1创建一个loadbalancer id失败的复原的task,主要把该loadbalancer id在数据库的provision_status设置为error

  2.2根据topology的类型为active和standby,topology目前是一个管理员的配置行为,后续建议放开给租户通过flavor来配置,这里以active-standy topology为例来说明loadbalancer创建过程。

       2.2.1 起一个创建Server Group的task,为该loadbalancer 创建一个server group

       2.2.2 起一个数据库更新task,更新 该loadbalancer id对应的server group id

       2.2.3

 



架构利弊分析

1、octavia采用虚拟机来做为负载均衡的执行体,可以实现灵活的弹性伸缩。



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenStack octavia 详解 的相关文章

  • Openstack常用命令

    目录 一 创建用户 二 创建删除模板和模板其他操作 三 创建更新删除镜像 四 创建网络 五 VPN的使用 六 创建容器swift模块 前言 在linux中使用openstakc命令前 需要source etc keystone admin
  • Ceph性能优化总结(v0.94)

    如需转载请标明作者 原文地址 http xiaoquqi github io blog 2015 06 28 ceph performance optimization summary 最近一直在忙着搞Ceph存储的优化和测试 看了各种资料
  • Openstack云平台脚本部署之Aodh告警服务配置(十三)

    目录 一 简介 二 部署脚本 三 参考文档 四 源码 五 系列文章 一 简介 Openstack告警服务Aodh负责当收集的数据度量或事件超过所设定的阈值时 会出发报警 从Liberty 版本后从Ceilometer 中拆分出来 独立为单独
  • OpenStack--镜像制作

    通过 KVM 安装虚 Centos 和 Windwos 2008 R2 x86 64 操作系统步骤并将磁盘文件作为镜像上传到 openstack glance 作为批量创建虚拟机的镜像文件 其中 windowsn 2008 安装 virti
  • 云平台学习笔记(三)-MobaXterm使用

    内网 外网的IP都可以 这个界面方面可视化管理
  • 关注 OpenStack 的筒子们,福利来啦!

    2017 OpenStack Days China 将于 2017 年 7 月 24 日 25 日 周一至周二 在北京国家会议中心隆重召开 我们非常荣幸能和大家一起见证并打造这样一个强有力的 大规模的云计算标准软件平台 这一次 OpenSt
  • OpenStack--部署认证服务keystone

    官方安装文档 https docs openstack org ocata zh CN install guide rdo index html 1 keystone数据库配置 1 创建数据库 root linux host4 mysql
  • WSL2安装图形化界面

    文章目录 安装图形化界面 安装图形化界面 由于WSL2 Ubuntu默认不安装图形化界面 所以需手动安装 apt get install xfce4 使用windows powershell 查看WSL使用的IP地址 ipconfig 进入
  • openstack安装之计算服务安装配置笔记

    1 设置本地实验ip 1 1 管理节点和计算节点更改hosts 使用ifconfig查看本地ip地址 vi etc hosts x x x x controller x x x x compute1 1 2 管理节点编辑chrony con
  • 【OpenStack实战—实验环境准备02】

    目录 前言 准备虚拟机 1 VMware workstation配置 2 控制节点虚拟机配置 3 计算节点虚拟机配置 4 存储节点虚拟机配置 一 配置静态IP IP规划 命令解释 二 关闭防火墙和selinux 命令解释 三 同步时间 命令
  • Ubuntu部署OpenStack zed版本neutron报错:Feature ‘linuxbridge‘ is experimental and has to be explicitly enab

    系统版本 Ubuntu 22 04 1 LTS OpenStack版本 zed 组件 Neutron 组件报错内容 Feature linuxbridge is experimental and has to be explicitly e
  • openstack创建域、项目、用户、角色报错

    报错出现 An unexpected error prevented the server from fulfilling your request HTTP 500 1 创建项目service openstack project crea
  • 2000+Docker镜像,Kolla是如何管理的

    根据 DockerHub 上的数据 整个 Kolla 项目管理的 镜像有 2000 多个 这么多的镜像 是怎么定义 又是如何构建的呢 简介 我们一直在说的 Kolla 通常情况下泛指 包括了 Kolla 和 Kolla Ansible 两个
  • openstack实战之使用sysprep工具封装windows7镜像

    openstack实战之使用sysprep工具封装windows7镜像 在openstack云平台环境下 使用sysprep封装windows7系统主要目的是清理虚拟机的SID 避免使用同一windows7镜像克隆出的虚拟机出现相同的SID
  • CentOS7安装OpenStack(Liberty)

    1 安装yum源 yum install https buildlogs centos org centos 7 cloud x86 64 openstack liberty centos release openstack liberty
  • 用python画星空源代码

    from turtle import from random import random randint screen Screen width height 800 600 screen setup width height screen
  • 如何在 devstack 中管理用户/密码?

    我已经安装了devstack到一个干净的 Ubuntu 机器 我可以访问 OpenStack 仪表板 http localhost auth login 但是 我不知道如何管理用户或我的初始凭据是什么 此信息保存在哪里 该信息保存在 Key
  • openstack 网络无法从虚拟机 ping/ssh 到虚拟机

    我已经使用 devstack 脚本安装了多节点 openstak 可以运行虚拟机 但存在网络问题 无法从一个虚拟机 ssh ping 到另一虚拟机 我只能从运行该虚拟机的主机 control1 computeX 通过 ssh 连接到虚拟机
  • 错误:在openstack pike devstack上创建实例时未建立sql_connection参数

    我已经通过以下链接在我的 Ubuntu 16 04 上成功安装了 Openstack Devstack pike https www mirantis com blog how to install openstack on your lo
  • 开放堆栈你好世界

    我想在开放堆栈云上编写一个程序 当我搜索资源时 我找到的只是安装和管理手册 我安装了云 现在如何在其上运行程序 使用消息队列或 blob 存储的示例会很好 有谁知道这方面的好的编程教程吗 当您说 在 Openstack 云上编写程序 时 您

随机推荐