• Openstack_第二课_Openstack框架说明


    一、Openstack组件说明

    1、Compute (Nova)计算服务 

    Nova是OpenStack计算的弹性控制器。OpenStack云实例生命期所需要的各种动作都将由Nova进行处理和支撑,这就意味着Nova以管理平台的身份登场,负责管理整个云的计算资源,网络、授权及测读。虽然Nova本身并不提供任务虚拟能力,但是它将使用libvirt API与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口,而且这些接口与Amazon的Web服务接口是兼容的。

    Nova它提供了一种配置计算实例(即虚拟服务器)的方法。Nova支持创建虚拟机、裸机服务器,并且对系统容器的支持有限。Nova在现有linux服务器之上作为一组守护进程运行,已提供该服务。

    它需要以下额外的OpenStack服务来实现基本功能:

    • Keystone:这是为OpenStack服务提供身份和身份验证
    • Glance:这提供了计算镜像存储库。所有计算实例都是从Glance镜像启动的。
    • Neutron:他负责提供计算机实例在引导时连接到的虚拟或物理网络。

    Nova主要功能包括:

    • 实例生命周期管理
    • 计算资源的管理
    • 向外提供REST风格的API

    这三个组件组件通过消息中间件传输通信

    Nova包含以下主要部分:

    API Server(nova-api)位于表示层。用于接受外部请求

    消息队列服务(Rabbit MQ)

    运算工作站(nova-comoute)负责虚拟机的创建和分配

    网络控制器(nova-network)

    卷管理(nova-volume)

    调度器(nova-scheduler)调度如何选择哪个主机创建VM

    2、Image Service(Glance)镜像服务

    OpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中:

    • 本地文件系统(默认)
    • S3(Simple Storage Service 简单存储服务)直接存储
    • S3对象存储(作为S3访问的中间渠道)
    • OpenStack对象存储等等。

    功能及特点:

    提供镜像的管理、包含镜像的导入、格式以及制作相应的模板等相关服务。

    Glance包含以下构件:

    1)Glance-API

    主要负责接收相应镜像管理命令的Resrful请求,分析消息请求信息并分发其所带的命令(如新增,删除,更新等)默认绑定端口是9292.

    2)Glance-Registry:

    主要负责接收响应镜像元数据命令的Restful请求。分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等)。more绑定的端口号是9191.

    3、Identity Service(Keystone)认证服务

    Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖资深REST(基于Identity API)系统进行工作主要对(单不限于)Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定,下图显示了身份认证服务的流程:

     功能及特点:

    提供了其余所有组件的认证信息/令牌的管理、创建、修改等等、使用MySQL等数据库存储认证信息。

    4、Object Storage(Swift)对象存储

    Swift是OpenStack提供一种分布式,持续虚拟对象存储,它类似于Amazon Web Service的S3简单存储服务。Swift具有跨节点百级对象存储的能力。Swift内建冗余和失效备源管理,也能欧处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。

    Swift的功能及特点:

    • 海量对象存储
    • 大文件(对象)存储
    • 数据冗余管理
    • 归档能力----处理大数据集
    • 为虚拟机和云应用提供数据容器
    • 处理流媒体
    • 对象安全存储
    • 备份与归档
    • 良好的可伸缩性

    5、Block Storage (Cinder) 块存储

    Cinder 是OpenStack Block Storage服务,用于为Nova虚拟机,lronic裸机主机,容器等提供卷。

    Cinder的目标是:

    • 基于组组件体系结构:快速添加新的行为
    • 高度可用:扩展到非常严重的工作负载
    • 容错:隔离进程避免级联失败
    • 可恢复的:故障应该易于诊断,调试和纠正
    • 开放标准:成为社区驱动api的参考实现

    作为Cinder的最终用户,我们将使用Cinder创建和管理使用欧冠Horizen用户界面,命令行工具, 如python-cinderclient,或者直接使用REST API。

    Cinder的所有功能都是通过REST API公开,可用于使用Cinder构建更复杂的逻辑或自动化, 这可以直接使用或者通过各种SDK使用。

    Cinder服务通过一系列守护进程的交互来工作,这些进程名称cinder-*永久驻留在主机或机器上,我们可以从单个节点运行所有二进制文件,也可以分布在多个节点上,我们也可以在与其他OpenStack服务想用的节点上运行他们。

    6、Networking(Neutronn)网络服务

    提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理界面。

    7、Dashboard(Horizon)仪表板

    提供了以Web形式对所有节点的所有服务的管理,通常把该服务称为Dashboard。

    8、Orchestration(Heat)编排

    提供了基于模板来实现云环境中的资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩、负载均衡等高级特性。

    9、Telemetry(Ceilometer)  监控

    提供对物理资源以及虚拟资源的监控,并记录这些数据,读数据进行分析,在一定条件下触发对应动作

    10、Database Service(Trove)数据库服务

    提供管理数据库节点的Trove相关、同时提供Trove在Horizon中的管理面板。

    11、Data Processing (Sahara)数据处理

    二、安装架构说明

    • 操作系统: CentOS7
    • OpenStack版本: juno
    • 关闭防火墙和SELinux
    • Controller Node: 1 processor, 2 GB memory, and 5 GB storage
    • Network Node: 1 processor, 512 MB memory, and 5 GB storage
    • Compute Node: 1 processor, 2 GB memory, and 10 GB storage

    1、网络拓扑环境

    a、节点说明:

    • controller:控制节点,负责对其余节点的控制,包含虚拟机创建、迁移、网络分配、存储分配等等;Keystone、Trove、Glance
    • block:存储节点,Cinder
    • computer1:计算节点,Nova
    • network:网络节点,Neutronn

    b、网络说明:

    • Management Network :管理网络,四台主机之间通信的网络
    • Instance Tunnels Network:实例网络,虚拟机与虚拟机之间通信的网络
    • External Network:外部网络,虚拟机与公网沟通的网络,通过Neutronn组件代理上网

    c、IP地址规划

    • controller:M:192.168.222.5
    • block:M:192.168.222.20
    • computer1:M:192.168.222.10、I:172.16.0.10
    • network:M:192.168.222.6、I:172.16.0.6、E:100.100.100.10

    d、节点资源配置情况

    • controller:CPU:2、内存:1.5G、网卡:1块、存储:100GB
    • block:CPU:2、内存:1G、网卡:1块、存储:20G 100GB 100GB
    • computer1:CPU:最大资源、内存:最大资源、网卡:2块、存储:100GB
    • network:CPU:2、内存:1.5G、网卡:3块、存储:30GB

     

  • 相关阅读:
    ThreadLocal垮线程池传递数据解决方案:TransmittableThreadLocal
    java steam 使用指南groupingBy进阶用法
    微言Netty:百万并发基石上的epoll之剑
    ES聚合查询详解(一)
    肝了一个月的Netty知识点(上)
    kafka 如何保证消息不丢失
    IO多路复用
    Java 重入锁
    Kotlin中的协程和多线程比较实验
    mysql性能排查思路
  • 原文地址:https://www.cnblogs.com/gxnihao/p/13098458.html
Copyright © 2020-2023  润新知