###(本文所有提及OSP=OpenStack Platform)###
OpenStack项目是一个开源的云计算平台,旨在实现很简单,大规模可伸 缩,功能丰富。来自世界各地云计算开发人员和技术人员共同创建 OpenStack项目。OpenStack通过一组相关的服务提供一个基础设施即 服务(IaaS)解决方案。每个服务提供了一个应用程序编程接口(API),促进了这种集成。 后期的不断演化与更新,目前较为常用的剩下以下几个(可以自由选择安装模块与建):
Keystone Nova Glance Horizon Swift Cinder Neutron HeatOpenStack Platform 控制面板是用于管理OpenStack 服务的浏览器型图 形用户界面。此控制面板也称为Horizon,可以进行自定义 Horizon 控制面板 启动实例所需的组件: OpenStack 中实例指的是虚拟机实例 Horizon 控制面板可以启动和管理实例 在启动实例之前,您需要创建和上传镜像,包含有实例的操作系统和软件 在OSP 环境中,虚拟机存储为镜像,镜像提供虚拟机文件系统的模板 需要新的虚拟机时,可启动新的实例可以从同一镜像启动多个实例
镜像是包含虚拟磁盘的文件,拥有可引导的操作系统可以创建或自定义镜像; 也可以导入不同软件供应商提供的多种预制镜像 在多租户云环境中,用户也可将个人的镜像与其他项目共享 镜像可以使用各种各样的格式(RAW、QCOW2、ISO、VMDK、VHD、ARI、 AKI和AMI) 当前项目的镜像可以在Horizon 控制面板的Images下找到
在OpenStack 中,虚拟硬件模板称为类别 Flavor 指定实例最小RAM 量、最小磁盘空间和VCPU 数目Horizon 控制面板 可修改和删除现有的类别,或创建新的类别 非特权用户启动实例时,可以在Horizon 控制面板中找到当前项目的类别只有 管理员有权编辑类别或创建新类别(这些权限也可委派给其他用户) 管理员帐户有权访问Admin 选项卡,其中提供了Flavors
网络为实例添加网络和路由管理员可以创建和配置网络和子网,其他OpenStack 服务将虚拟设备连接到 这些网络上的端口,从而配置稳健的网络拓扑 OpenStack 网络支持每个项目拥有多个专用网络,并且允许项目选择自己的 IP寻址方案,即使IP 地址与其他项目所用的相重叠也无妨 网络拓扑可以在Horizon 控制面板的Project 菜单下或单击Network > NetworkTopology 来查看
实例启动成功后,Horizon 控制面板可以和实例连接 控制台提供了一个直接访问实例的途径 在Horizon 控制面板中,单击Compute,然后单击Instances 选择含有您要连接的实例的行,再单击More,然后选择Console.使用实例上 运行的操作系统的有效用户名和密码,登录实例控制台 若要查看控制台日志,可右键单击实例链接,再选择Open Link inNewTab。 在新选项卡中,选择Log 选项卡
若要验证设置,可登录实例,再尝试使用网络访问其他实例OSP 网络的DHCP 代理为各个项目子网生成的网络namespace,充当DHCP 服务器 每一namespace 运行一个dnsmasq 进程,它能为虚拟机分配IP 地址 DHCP 服务器IP 地址范围在特定的子网中,可在Horizon 中找到 若要确定网络中使用的DHCP 服务器IP 地址,可单击Network 选项卡,然后 单击Networks 链接。在下一窗口中,单击网络的名称。在Network Overview 页面中,单击Ports 选项卡。DHCP服务器IP 地址列在Fixed IPs下 方
默认情况下,可以从实例网络Ping DHCP 服务器。使用ping -c3 X.X.X.X 命 令以尝试访问DHCP 服务器
Horizon 为云用户和管理员提供了一个用户友好环境,但一些任务需要更大的灵活性(如脚本功能)来支持 OSP 提供了一套CLI 工具,实施所有通过OpenStack 服务API 提供的功能 以前的OSP 版本将CLI 工具集实施为一组客户端工具,每一工具对应一种 OpenStack 服务。例如,keystone 命令管理Keystone 身份服务,而nova命令则管理实例 目前OpenStackCLI 采用了一种新的做法,即统一CLI 名为openstack 的命令
与要求用户名和密码的控制面板一样,OpenStackCLI 工具集也要求用户正确验证身份后才能被授权使用OSP 环境中的各种服务 若要成功通过身份验证,用户必须至少指定中的参数 这些参数可以通过环境变量或作为openstack 命令的参数来指定 OS_AUTH_URL 环境变量中包含的端点对应于Keystone 服务的公共端点。默认情况下,它绑定到TCP 端口5000 建议为每一组用户身份验证参数创建一个keystonerc_ 文件 默认情况下,PackStack 在/root 目录下创建keystonerc_admin 文件。它包含部署的OpenStack Platform 环境中管理员的身份验证参数
为增强安全性,OpenStack 使用令牌发送请求到OpenStack 服务API管理 用户身份验证和授权的服务称为OpenStack 身份服务或Keystone 此服务严格 检查客户端的身份,并且分配受其他内部服务信任的唯一身份验证令牌。该令牌 仅在有限的时限内有效。借助身份验证令牌,用户可以使用RESTAPI来请求其他 服务任务 令牌是封装有角色的唯一代码。当用户希望在RHOSP 中执行任务时,该任务 的服务将索取用户的令牌。如果令牌未就绪,客户端将使用其凭据来访问 Keystone 服务,生成并接收个人令牌 Keystone 服务验证令牌,根据令牌中嵌入的信息,客户端接收请求或拒绝可 以使用openstack token issue 命令来生成令牌 统一CLI : openstack 命令支持与各种OpenStack 服务交互的多个命令,以及不同的 命令操作和参数,并可使用选项来自定义输出 openstack 命令采用以下语法 $ openstack global-options command command-action arguments 使用openstack help 命令检索关于哪些命令可供使用的信息 使用openstack helpcommand 命令显示关于某一命令可使用哪些命令操作 的信息 使用openstack help command command-action 命令获取关于某一命 令的特定命令操作信息
实例由用户部署在项目中。默认用户只能看到部署到同一项目的所有实例 如果通过连入外部网络的路由器为该项目启用了外部访问,实例便能够访问该
外部网络类别是一组资源(如磁盘驱动器和内存),它们在实例部署时分配到该实例。要 部署实例,必须指定至少一个类别和一个镜像 默认情况下,OpenStack Platform 中已配置了一组类别,但没有配置镜像 openstack server image create 命令创建用于启动实例的镜像 新创建的实例分配到一个或多个安全组。安全组是网络访问规则的指定集合, 它们可限制不同类型的流量对实例的访问。新实例自动分配到default 安全组, 除非有明确指定。每一安全组中的规则控制传到实例的流量,它们也可以根据需 求进行更改 openstack server 命令包含多个命令操作。使用openstack help server 命 令显示命令操作的完整列表
$ openst ack server creat e--flavor flavor.d emo--ima ge demo.i mg d emo_i nstance $ openstack server list $ openstack server stop instance-name $ openstack server show demo 1 $ openst ack server d el el e server-na me$ openstack console logshow instancel $ openstack console url show instance 1OpenStack Platform 概述: OpenStack Platform 实施为一个包含互相交互的服务的集合,这些服务控 制计算、存储和网络资源
Horizon 控制面板服务:Horizon 是基于浏览器的界面,用于管理各种 OpenStack 服务。它为启动实例、管理网络和设置访问控制等操作提供一个图 形用户界面。
Keystone 身份服务中央化Keystone 身份服务能够其他服务提供身份验证和 授权。Keystone 也为特定OpenStack 云中运行的服务及关联的端点提供中央 目录。它支持多种身份验证形式,包括用户名和密码凭据、基于令牌的系统和 Amazon Web Servces (AWS) 登录。Keystone 充当 用户和组件的单点登录 (SSO) 身份验证服务。此服务负责创建和管理用户、角色以及项目。
Neutron 网络服务:Neutron是软件定义型网络服务,可帮助创建网络、子网、路由器和浮动IP 地址。用户可以创建接口设备,并将它们连接到实例和路由器。 管理员可以为路由器定义网关,以允许外部访问。OpenStack 联网功能随附了 各种插件和代理,可用于Cisco 虚拟和物理交换机,以及Open vSwitch等交换 机。常见代理为L3 和DHCP,后者为实例提供DHCP IP 地址。OpenStack 网络让 项目能够创建高级虚拟网络拓扑,这些拓扑中可包含防火墙、负载平衡器和虚拟 专用网络(VPN) 等服务。
Cinder 块存储服务 Cinder 服务管理虚拟机的存储卷。它是用于在Nova 计 算服务中运行的实例的永久块存储。可以通过执行快照来备份数据,快照可用于 还原数据,或者用于创建新的块存储卷。这通常在实例中用于存储,如数据库文 件。
Nova 计算服务Nova 管理节点上所运行的实例(虚拟机),并按需提供虚拟 机。它是一种分布式服务,与Keystone(身份验证)、Glance(镜像)和 Horizon(Web界面)进行交互。Nova 设计用于在标准硬件上横向扩展,并且下 载镜像以便根据需要启动实例。Nova 计算将libvirtd、qemu和kvm 用于虚拟机 监控程序Glance 镜像服务: Glance 服务充当虚拟机镜像的注册表,允许用户复 制服务器镜像以即时存储。这些镜像可在设置新实例时作为模板使用。
Swi ft对象存储服务: Swift 提供对象存储,供用户存储和检索文件。Swift 构架 为分布式,可实现横向扩展并且可为防错操作提供冗余。
Ceilometer 遥测服务: OpenStack 遥测服务提供用户级使用情况数据,它 们可用于客户记帐、系统监控或警告提醒。它可以从OpenStack 服务发送的通 知中收集数据,如计算使用情况事件,或者通过轮询OpenStack 基础架构资源 来收集。此外,该服务也提供插件系统,可用于添加新的监控指标。
Heat 编排服务: Heat 服务可通过表述性状态转移(REST) API 和兼容。
CloudFormation 的查询API,编排使用Amazon Web Services (AWS)CloudFormation 模板格式的多个复合云应用。
