一·初识OpenStack

xiaoxiao2021-02-28  66

###(本文所有提及OSP=OpenStack Platform)###

1 OpenStack组建架构。

OpenStack项目是一个开源的云计算平台,旨在实现很简单,大规模可伸 缩,功能丰富。来自世界各地云计算开发人员和技术人员共同创建 OpenStack项目。OpenStack通过一组相关的服务提供一个基础设施即 服务(IaaS)解决方案。每个服务提供了一个应用程序编程接口(API),促进了这种集成。 后期的不断演化与更新,目前较为常用的剩下以下几个(可以自由选择安装模块与建):

Keystone Nova Glance Horizon Swift Cinder Neutron Heat

1)登录Horizon Web 界面:

OpenStack Platform 控制面板是用于管理OpenStack 服务的浏览器型图 形用户界面。此控制面板也称为Horizon,可以进行自定义 Horizon 控制面板 启动实例所需的组件: OpenStack 中实例指的是虚拟机实例 Horizon 控制面板可以启动和管理实例 在启动实例之前,您需要创建和上传镜像,包含有实例的操作系统和软件 在OSP 环境中,虚拟机存储为镜像,镜像提供虚拟机文件系统的模板 需要新的虚拟机时,可启动新的实例可以从同一镜像启动多个实例

2)启动实例所需的组件-镜像Image :

镜像是包含虚拟磁盘的文件,拥有可引导的操作系统可以创建或自定义镜像; 也可以导入不同软件供应商提供的多种预制镜像 在多租户云环境中,用户也可将个人的镜像与其他项目共享 镜像可以使用各种各样的格式(RAW、QCOW2、ISO、VMDK、VHD、ARI、 AKI和AMI) 当前项目的镜像可以在Horizon 控制面板的Images下找到

3)启动实例所需的组件-类别Flavor :

在OpenStack 中,虚拟硬件模板称为类别 Flavor 指定实例最小RAM 量、最小磁盘空间和VCPU 数目Horizon 控制面板 可修改和删除现有的类别,或创建新的类别 非特权用户启动实例时,可以在Horizon 控制面板中找到当前项目的类别只有 管理员有权编辑类别或创建新类别(这些权限也可委派给其他用户) 管理员帐户有权访问Admin 选项卡,其中提供了Flavors

4)启动实例所需的组件-网络Neutron:

网络为实例添加网络和路由管理员可以创建和配置网络和子网,其他OpenStack 服务将虚拟设备连接到 这些网络上的端口,从而配置稳健的网络拓扑 OpenStack 网络支持每个项目拥有多个专用网络,并且允许项目选择自己的 IP寻址方案,即使IP 地址与其他项目所用的相重叠也无妨 网络拓扑可以在Horizon 控制面板的Project 菜单下或单击Network > NetworkTopology 来查看

5)连接实例控制台Console :

实例启动成功后,Horizon 控制面板可以和实例连接 控制台提供了一个直接访问实例的途径 在Horizon 控制面板中,单击Compute,然后单击Instances 选择含有您要连接的实例的行,再单击More,然后选择Console.使用实例上 运行的操作系统的有效用户名和密码,登录实例控制台 若要查看控制台日志,可右键单击实例链接,再选择Open Link inNewTab。 在新选项卡中,选择Log 选项卡

6)验证实例-验证网络连接:

若要验证设置,可登录实例,再尝试使用网络访问其他实例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 服务器

2 OpenStack CLI。

1)OpenStack Platform 工具集:

Horizon 为云用户和管理员提供了一个用户友好环境,但一些任务需要更大的灵活性(如脚本功能)来支持 OSP 提供了一套CLI 工具,实施所有通过OpenStack 服务API 提供的功能 以前的OSP 版本将CLI 工具集实施为一组客户端工具,每一工具对应一种 OpenStack 服务。例如,keystone 命令管理Keystone 身份服务,而nova命令则管理实例 目前OpenStackCLI 采用了一种新的做法,即统一CLI 名为openstack 的命令

2)Keystone 凭据:

与要求用户名和密码的控制面板一样,OpenStackCLI 工具集也要求用户正确验证身份后才能被授权使用OSP 环境中的各种服务 若要成功通过身份验证,用户必须至少指定中的参数 这些参数可以通过环境变量或作为openstack 命令的参数来指定 OS_AUTH_URL 环境变量中包含的端点对应于Keystone 服务的公共端点。默认情况下,它绑定到TCP 端口5000 建议为每一组用户身份验证参数创建一个keystonerc_ 文件 默认情况下,PackStack 在/root 目录下创建keystonerc_admin 文件。它包含部署的OpenStack Platform 环境中管理员的身份验证参数

3) Keystone 令牌:

为增强安全性,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 命令获取关于某一命 令的特定命令操作信息

3 使用CLI 启动实例

实例由用户部署在项目中。默认用户只能看到部署到同一项目的所有实例 如果通过连入外部网络的路由器为该项目启用了外部访问,实例便能够访问该

外部网络类别是一组资源(如磁盘驱动器和内存),它们在实例部署时分配到该实例。要 部署实例,必须指定至少一个类别和一个镜像 默认情况下,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 1

4 OPS架构描述

OpenStack 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 模板格式的多个复合云应用。

转载请注明原文地址: https://www.6miu.com/read-2628852.html

最新回复(0)