云计算专业企业实践(三)-openstack系统组件介绍
这次的实践内容是通过网络会议进行的,昨天的实践今天补充记录一下,以备后续查阅。现在流媒体通信技术比较成熟,网络视频会议等工具使得很多物理上远距离的沟通变得方便很多,在云计算专业实践中,除了物理服务器的布置,网络拓扑结构的组织和安排以及布线等需要在现场进行实践锻炼外,其他如技能知识点的学习,相关软件系统的安装部署和维护都可以远程进行,工作不再太多的受物理距离的限制,可以节省出出行的时间来,有利于一天的生活工作安排。
言归正传,openstack是一个虚拟机平台系统,是IAAS系统中处于服务器硬件节点集合和原生操作系统之上运行的一个分布式系统,其功能用简介的一句话概括可以理解为虚机调度分配和管理系统。其中openstack系统上层实现主要是python语言,底层的开发有基于更高性能的c++语言。下面首先介绍一下openstack的几大模块。后续根据进一步的熟悉和理解再去补充或新增专门描述细节的文章,不正确的地方欢迎批评指正。
1、horizon-dashboard模块,GUI模块,理解为管理员和openstack系统进行交互的用户界面,是管理整个运行在底层(水平线下)openstack系统的维护通道,通过界面可以了解系统的运行状态等信息;
2、nova-compute模块,计算模块,也是openstack最核心和主要的模块,提供了nova-api,会涉及调用其他的模块如虚拟机镜像服务模块,存储模块,网络模块,用户认证模块等,是虚拟机调度、分配和运行管理的核心组件,也用到了cpu硬件虚拟化和linux内核中hypervisor虚拟化组件的功能,实际云计算平台运维的工作中有50%以上的问题会集中在此模块;
3、cinder-volume模块,存储模块,支持swift(openstack自带存储模块)和ceph分布式存储模块。提供cinder-api供horizon-dashboard层调用;
4、neturon-network模块,提供vpc(virtual private cloud)功能,可以通过逻辑封装实现虚拟网络的功能,vpc可以实现虚拟交换机,vxlan也是虚拟实现的局域网,可以方便不同租户和项目之间的隔离;网络模块也是很重要的模块,这部分逻辑虚拟实现的功能比较多,相关技术和概念相对也较复杂,后续会有机会再专门去记录和介绍;
5、glance-image service模块,是虚拟机镜像模块,负责存储和管理虚机镜像,通过管理多种虚机镜像,支持用户选择合适的镜像进行服务部署;在这里镜像是虚机操作系统镜像,如ubuntu系统还是windows系统的镜像文件,而容器镜像是docker服务中的运行在docker虚拟化技术上的系统环境镜像,是容器启动的系统文件。是不同的镜像概念;
6、keystore-identity service模块,为用户认证模块,提供了用户的信息,如用户设置的安全组策略,用户的身份信息等,主要用作权限认证,在其他模块中可能会调用该模块去验证权限等操作。
以上为openstack的主要的模块组件,实际的云计算环境部署的时候,一般的部署的步骤是:1、搭建云计算的物理服务器和硬件网络拓扑,如机架式服务器,三层交换机和网络布线等硬件物理结构的设计和实施;2、原生操作系统的安装,以及相关的环境设置,如hostname,ssh免密登录等;3、openstack云平台环境的安装,有基于kolla方式的较为便捷的部署方式,通过openstack kolla ansible(编排工具,偏向于支持运维服务)进行较为方便的安装部署,其中有几个种地按的配置文件需要了解,如globals.yaml,multinode.yaml等配置文件,需要对里边的配置项有比较深入的理解。