什么是 OpenStack?
官方网站给出的定义是:
OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.
粗略翻译:
OpenStack 是一个可以控制整个数据中心里大量的计算、存储和网络资源池的云操作系统,它通过一个既能赋予管理员控制资源的能力,也能让普通用户调配资源的可视化控制面板(Dashboard)来管理这一切。
对开发者来说,我们需要知道的是,OpenStack 是由一系列开源组件构成的基础设施即服务(Infrastructure as a Service,简称IaaS)范畴的云平台解决方案,它让用户方便的构建和管理自己的云平台,它正在解决以及将要解决的主要问题就是如何自动管理物理主机上虚拟出来的虚拟机和虚拟资源。
主要组件以及作用
Project | Service | Catalog |
---|---|---|
NOVA | Compute Service 计算服务 | Compute |
GLANCE | Image Service 镜像服务 | Compute |
SWIFT | Object Store 对象存储 | Storage, Backup & Recovery |
CINDER | Block Storage 块存储 | Storage, Backup & Recovery |
KEYSTONE | Identity service 认证服务 | Security,Identity & Compliance |
NEUTRON | Networking 网络服务 | Networking&Content Delivery |
HORIZON | Dashboard 管理界面 | Management Tools |
组件内部也并不是完全一体,紧密耦合的状态,这样方便了组件的扩展和维护,组件之间也并不是孤立的,有时候一个操作可能需要多个组件共同完成,下图就是从整个 OpenStack 的全局技术架构的角度看它的组件,以及之间的大致的调用关系。
全局视图准备动手之前
-
你需要熟悉 Python 语言,不管 2.x 还是 3.x
因为 OpenStack 各个组件主要是基于 Python 开发,熟悉 Python 语言就自然成为一个不可或缺的准备工作。虽然 2.x 和 3.x 现在都被广泛的试用,并无太大优劣之分,不过我还是推荐学习 3.x,你可以从这些地方获取到学习资料- 英文教程:
- 中文教程:
-
WSGI 和 Paste Deployment 相关知识点
Win环境中远程调试 OpenStack 代码设置
OpenStack 的各个组件现在还只能部署在 Linux 环境中, 如果我们想调试 OpenStack 组件的代码,那么必须远程调试,下面就简单的说明一下调试环境的搭建。
-
先安装 dokan 库,然后安装 win-sshfs, 安装 win-sshfs 的时候,不会有具体提示信息,安装成功之后可以在任务栏看到它的图标
图标 -
安装 pycharm,或者 liclipse ,下载地址见上节
-
在需要调试的代码环境中安装 pydevd 包,方法:pip install pydevd
-
将挂载的工程导入到 IDE 里面,由于是远程访问,速度可能稍慢,等待他完成