openstack
何进哥哥
这个作者很懒,什么都没留下…
展开
-
几分钟学会 OpenStack 架构
文章引用地址:http://www.cnblogs.com/CloudMan6/p/5340622.html终于正式进入 OpenStack 部分了。今天开始,CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱。OpenStack 已经走过了 6 个年头。每半年会发布一个版本,版本以字母顺序命名。现在已经到第 12 个版本 Liberty(字母 L转载 2017-02-24 09:49:03 · 1468 阅读 · 0 评论 -
DPDK之(九)——收发包分析
前言:DPDK收发包是基础核心模块,从网卡收到包到驱动把包拷贝到系统内存中,再到系统对这块数据包的内存管理,由于在处理过程中实现了零拷贝,数据包从接收到发送始终只有一份,对这个报文的管理在前面的mempool内存池中有过介绍。这篇主要介绍收发包的过程。一、收发包分解收发包过程大致可以分为2个部分1.收发包的配置和初始化,主要是配置收发队列等。2.数据包的获取和发送,主要是从队列中获转载 2017-05-17 16:56:17 · 10043 阅读 · 0 评论 -
openstack plugin 之(一)怎样写 OpenStack Neutron 的 Plugin
鉴于不知道Neutron的人也不会看这篇文章,而知道的人也不用我再啰嗦Neutron是什么东西,我决定跳过Neutron简介,直接爆料。首先要介绍一下我的开发环境。我没有使用DevStack,而是直接在电脑上安装了三个Virtual Box,然后根据OpenStack的Ubuntu 安装指南部署了一个环境:一个控制节点,一个网络节点和一个计算节点。接下来我会直接在控制节点上修改 /neutro转载 2017-05-25 15:41:09 · 732 阅读 · 1 评论 -
openstack plugin 之(二)怎样写 OpenStack Neutron 的 Plugin
其实上一篇博文中的内容已经涵盖了大部分写Neutron插件的技术问题,这里主要还遗留了一些有关插件的具体实现的问题。首先,Neutron对最基本的三个资源:Network, Port 和 Subnet 的基本调用都已经定义好了API接口。如果你的插件也需要用到这些资源,最好直接实现它们的接口。API接口的定义可以再 neutron/neutron_plugin_base_v2.py 这个文件中转载 2017-05-25 15:42:27 · 502 阅读 · 0 评论 -
openstack plugin 之(四)如何区分 OpenStack Neutron Extension 和 Plugin
原文链接:https://www.cnblogs.com/zhutianshi/p/3902315.htmlNeutron 里面的 extension 和 plugin 是非常相似的两个概念,我花了好久才貌似搞懂了两者的区别,还不一定完全正确。在OpenStack 的官网wiki中,可以找到它们两个的定义:Plugin:Neutron exposes a logical API ...转载 2017-05-25 15:45:45 · 520 阅读 · 3 评论 -
openstack plugin 之(三)怎样写 OpenStack Neutron 的 Extension
前两篇文章讨论了怎么写一个 Neutron 的插件。但是最基本的插件只包括 Network, Port,和 Subnet 三种资源。如果需要引入新的资源,比如一个二层的 gateway 的话,就需要在插件的基础上再写一个 extension, 也就是扩展。Neutron 已经预定义了很多扩展,可以参看 neutron/extensions 下面的文件,我在这里就不一一列举了。如果正好有一种是你转载 2017-05-25 15:44:32 · 517 阅读 · 0 评论 -
openstack plugin 之(五)怎样写 OpenStack Neutron 的 Extension
接着之前一篇文章,再来谈谈 Extension 的具体实现问题。我使用的是本地数据库加远程API调用的方法,所以先要定义一下数据库中 myextension 如何存储。首先,我们可以在自己的 plugin 根目录下新建一个 db 文件夹,以及三个文件:- neutron/ - plugins/ - myplugin/ - __init__.py -转载 2017-05-25 15:47:04 · 363 阅读 · 0 评论 -
openstack plugin 之(六)怎样写 OpenStack Neutron 的 Extension
通过上几章的介绍,我们现在的 myplugin 文件夹看上去应该是这样的:- neutron/ - plugins/ - myplugin/ - __init__.py - plugin.py - extensions/ - __init__.py - myextension.py -转载 2017-05-25 15:51:46 · 410 阅读 · 0 评论 -
openstack plugin 之(七)怎怎样写 OpenStack Neutron 的 Extension
上文说到需要在 /neutronclient/v2_0/myextension/extension.py 中分别定义五个 class:List/Show/Create/Delete/UpdateExtension。具体形式如下:import argparseimport loggingfrom neutronclient.neutron import v2_0 as neut转载 2017-05-25 15:52:55 · 464 阅读 · 0 评论 -
openstack plugin 之(八)怎样修改 Openstack Horizon(Dashboard)的显示界面
Openstack 有很多项目,比如 nova 是虚拟机管理,neutron 是虚拟网络管理, glance 是存储管理,而 horizon 是负责 Openstack 的统一界面。horizon 的源代码和 neutron 的不太一样,分布在两个地方,一个是 /usr/lib/python2.7/dist-packages/horizon 下面,这里放的是一些最基本的、可以共享的类、表格和模板等转载 2017-05-25 15:54:04 · 2559 阅读 · 0 评论 -
openstack plugin 之(九)怎样修改 Openstack Horizon(Dashboard)的显示界面
上一篇文章介绍了 Dashboard 的基本结构框架,那接下来的问题就是如何在这个框架中加入我们自己想要的内容了。在真正动手之前,让我们先来看看官方的页面是怎么做出来的。首先我们进入 /usr/share/openstack-dashboard/openstack_dashboard/dashboards/admin/networks 文件夹下面,可以看到有这几个文件和子文件夹:../netw转载 2017-05-25 15:55:05 · 1771 阅读 · 1 评论 -
LBaas之(一)官网配置
ContentsLBaaS v1LBaaS v2Configuring LBaaS v2 with an agentConfiguring LBaaS v2 with OctaviaAdd LBaaS panels to DashboardLBaaS v2 operationsBuilding an LBaaS v2 load balancerAdding an转载 2017-05-27 08:41:39 · 1201 阅读 · 0 评论 -
LBaas只(二) Neutron中的L4/L7高级服务框架与LBaaS
Service InsertionService Insertion是Neutron中实现L4/L7层服务的框架。Neutron以前只有一级插件结构用于实现各种L2层技术(如LinuxBridge,OVS等,部署时分两块:用于和数据库打交道的NeutronPlugin+用于干实际事情的L2Agent),对于L3层的路由和dhcp是采用单独的agent(l3-agent,dhcp-agent转载 2017-05-27 08:43:57 · 503 阅读 · 0 评论 -
LBass之(三)Neutron LBaaS Service基本知识
在OpenStack Grizzly版本中,Quantum组件引入了一个新的网络服务:LoadBalancer(LBaaS),服务的架构遵从Service Insertion框架。LoadBalancer为租户提供到一组虚拟机的流量的负载均衡,其基本实现为:在neutron-lbaas-agent中生成Haproxy的配置文件然后启动Haproxy。Neutron LBaaS Service转载 2017-05-27 08:45:51 · 1546 阅读 · 0 评论 -
LBaas之(四)Neutron/LBaaS/API
目录1OpenStack LBaaS API 1.01.1Overview1.1.1Intended Audience1.1.2Document Change History1.1.3Resources1.2Chapter 1. Overview1.2.1High-Level Task Flow1.2.2Concepts转载 2017-05-27 08:50:05 · 1058 阅读 · 0 评论 -
LBaas之(六)python-neutronclient架构分析
python-neutronclient架构分析命令执行流程图 1 命令执行流程 当执行neutron命令时,Python-neutronclient实际执行shell.py中的main函数。在main函数中,构造一个NeutronShell对象,然后调用该对象的run()函数。在run()函数中,进行log配置、参数解析、等操作,然后调用run_subco转载 2017-05-30 22:01:57 · 1182 阅读 · 0 评论 -
经典KVM详解,太详细太深入了
KVM 介绍(1):简介及安装http://www.cnblogs.com/sammyliu/p/4543110.html学习 KVM 的系列文章: (1)介绍和安装(2)CPU 和 内存虚拟化(3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton)(4)I/O PCI/PCIe设备直接分配和 SR-IOV(5)libvirt转载 2017-05-24 09:22:31 · 18327 阅读 · 0 评论 -
使用OVS DPDK
转:http://blog.csdn.net/quqi99/article/details/51087955硬件要求网卡得支持DPDK,见:http://dpdk.org/doc/nicsCPU得支持DPDK, 测试命令:cat /proc/cpuinfo |grep pdpe1gb不一定非要支持DPDK硬件的网卡才能做实验,因为DPDK也支持转载 2017-04-13 23:15:10 · 4488 阅读 · 0 评论 -
Neutron中的L4/L7高级服务框架与LBaaS
Service InsertionService Insertion是Neutron中实现L4/L7层服务的框架。Neutron以前只有一级插件结构用于实现各种L2层技术(如LinuxBridge,OVS等,部署时分两块:用于和数据库打交道的NeutronPlugin+用于干实际事情的L2Agent),对于L3层的路由和dhcp是采用单独的agent(l3-agent,dhcp-agent转载 2017-04-13 23:09:45 · 763 阅读 · 0 评论 -
openstack 逻辑构架真相
转载自:http://blog.csdn.net/u010305706/article/details/52206175别以为真懂OpenStack!先别着急骂我,我也没有说我真懂Openstack我其实很想弄懂Openstack,然而从哪里下手呢?作为程序员,第一个想法当然是代码,Code Talks,什么都可以忽悠,代码是实实在在的,何况原来也深入读过Lucene,转载 2017-02-24 10:22:30 · 3978 阅读 · 0 评论 -
CentOS7上配置Open vSwitch和VXLAN实例
环境实验环境主机环境[yuwh@node0 ~]$ uname -aLinux node0 3.10.0-123.9.3.el7.x86_64 #1 SMP Thu Nov 6 15:06:03 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux[yuwh@node0 ~]$ cat /etc/redhat-releaseCentOS Linu转载 2017-02-24 11:00:06 · 5294 阅读 · 0 评论 -
openstack 核心部件 openswitch 源码分析和逻辑整理
OVS 核心代码OVS 架构OVS 主要的数据结构数据结构关系图主要的数据结构和数据结构的参数数据结构代码datapath 模块datapath 简介datapath 代码vswitchd 模块vswitchd 代码 - [主循环](#主循环)动态过程分析数据流流向添加网桥收包处理流表匹配upcall 消息处理相关内容Linux R转载 2017-02-24 16:27:26 · 2450 阅读 · 0 评论 -
几分钟搞定 OpenStack Heat AutoScaling 根据CPU 自动伸缩VM
一、背景Openstack的Heat是在H版之后加入的组件,旨在创建一套业务流程,更轻松的管理一个集群。集群内的虚拟机可以作为一个整体,统一的为客户提供服务。Heat中把功能定义成资源,在Heat中会用到Nova,Neutron,Ceilometer等组件,这些都可以看成是资源,通过模板文件来描述,模板文件可以是yaml格式,也可以是json格式,一般是yaml格式。AutoScali转载 2017-02-24 16:46:55 · 4370 阅读 · 0 评论 -
轻松搞定 OpenStack Heat 如何来实现和支持编排
本文首先简单介绍了 OpenStack 和 OpenStack Heat,特别是 Heat 的架构。然后介绍了什么是编排,Heat 编排在其中的位置。接着在介绍了 Heat 模板后,从基础架构、软件配置和部署、自动资源伸缩、负载均衡、Heat 和配置管理工具的集成和 IBM UCDP/UCD 的集成等角度详细阐述了 Heat 如何来支持编排。OpenStack 简介OpenSt转载 2017-02-24 17:00:53 · 3743 阅读 · 0 评论 -
OpenStack Heat 如何来实现和支持编排
OpenStack Heat 介绍Heat 是一个基于模板来编排复合云应用的服务。 它目前支持亚马逊的 CloudFormation 模板格式,也支持 Heat 自有的 Hot 模板格式。模板的使用简化了复杂基础设施,服务和应用的定义和部署。模板支持丰富的资源类型,不仅覆盖了常用的基础架构,包括计算、网络、存储、镜像,还覆盖了像 Ceilometer 的警报、Sahara 的集群、Trove转载 2017-03-18 16:15:32 · 9755 阅读 · 2 评论 -
OpenStack Heat模板详解
Heat模板全称为heat orchestration template,简称为HOT。 1 典型Heat模板结构heat_template_version: 2015-04-30description: # a description of the templateparameter_groups: # a declaration of input paramet转载 2017-03-18 16:28:33 · 4226 阅读 · 0 评论 -
几分钟搞定 Openstack 环境搭建
1.[ntp安装]ntp主要为同步时间所用,时间不同步,可能造成你不能创建云主机yum install chrony vi /etc/chrony.conf增加 server NTP_SERVER iburst allow 你的IP地址网段(允许你的ip地址网段可以访问ntp) systemctl enable chronyd.service(加入系统自启动)转载 2017-02-26 14:05:06 · 7405 阅读 · 1 评论 -
OpenStack Ceilometer API说明
1.概述Ceilometer是OpenStack中的一个子项目,它像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。Ceilometer的核心架构图如下: 图1 Ceilometer的核心架构图 图2 Ceilometer架构模型2.安装2.1安装服务apt-get install cei转载 2017-03-18 17:09:05 · 3249 阅读 · 1 评论 -
Openstack组件 — Keystone认证功能实现原理
目录目录前言Keystone安装列表Keystone架构Keystone的管理对象一个理解Keystone管理对象功能的例子Keystone管理对象之间的关系Keystone V3的新特性V3的改进Authorization授权功能的应用Authentication认证功能的应用过程前言Keystone实现始终围绕着Keyston转载 2017-02-27 14:02:39 · 3770 阅读 · 0 评论 -
openVswitch(OVS)实现之源代码分析之数据结构
http://blog.csdn.net/yuzhihui_no1/article/details/39188373转载 2017-03-20 16:51:39 · 659 阅读 · 0 评论 -
openVswitch(OVS)实现之源代码分析之工作流程
一、收发数据包: 前面已经把分析openVswitch源代码的基础(openVswitch(OVS)源代码分析之数据结构)写得非常清楚了,虽然访问的人比较少,也因此让我看到了一个现象:第一篇,openVswitch(OVS)源代码分析之简介其实就是介绍了下有关于云计算现状和openVswitch的各个组成模块,还有笼统的介绍了下其工作流程,个人感觉对于学习openVswitch源代转载 2017-03-20 16:59:14 · 928 阅读 · 0 评论 -
openstack——RabbitMQ
nova中各个组件之间的交互是通过“消息队列”来实现的,其中一种实现方法就是使用RabbitMQ,对RabbitMQ的使用,官方文档上有一个非常好的Get Started,由浅及深,结合例子,很容易理解。现在对RabbitMQ的理解,就是利用它可以非常灵活的定制自己想要实现的消息收发机制。其中,有这样几个角色:producer, consumer, exchange, queueprodu转载 2017-03-15 10:50:02 · 987 阅读 · 0 评论 -
OpenStack 中 RabbitMQ 的原理
本文是 OpenStack 中的 RabbitMQ 使用研究 两部分中的第一部分,将介绍 RabbitMQ 的基本概念,即 RabbitMQ 是什么。第二部分将介绍其在 OpenStack 中的使用。 1 RabbitMQ 的基本概念RabbitMQ 是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。AMQP 是一个定义了在应用或者组织之间传送消息的协转载 2017-03-15 11:00:27 · 679 阅读 · 0 评论 -
openstack——RabbitMQ 的oslo.messaging 和 Cinder 中 MessageQueue 消息的发送和接收
1. Cinder 中创建卷的端到端过程该过程主要包括两部分:第一部分即初始化部分:cinder-api 服务启动过程中 (参见另一篇文章),APIRouter 类被初始化,接着它会初始化 VolumeController 类,最终,SchedulerAPI 类以及 VolumeAPI 类会被初始化,它们分别会调用 get_client 方法获取一个 RPCClient 的实例,其中,转载 2017-03-15 11:12:21 · 928 阅读 · 0 评论 -
WAFaas modsecurity整体规则的介绍
安装脚本:wget -O /tmp/modsecurity.sh -t 0 http://lnamp.yundaiwei.com/modsecurity/install.sh&&sh /tmp/modsecurity.sh* mod_security是Apache服务器的一个模块,可以有效防护SQL注入、xss跨站等攻击方式。* 安装使用mod_security模块会增加CPU占用,请转载 2017-06-20 10:37:32 · 2104 阅读 · 0 评论