实验室组织参加软件杯,对云平台有需求,但毕竟没有太多的时间部署完整的组件,所以就搜集了一波资料,一键部署Openstack。仅供测试。

Openstack含有很多组件,负责不同的功能,在这不做赘述。

Openstack的百科:

OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。

OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。

OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。

OpenStack云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack除了有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、 Cisco、 Canonical等重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。

下面切入正题。


OS

本篇基于CentOS-7-x86_64-Minimal-1804,附上TUNA的下载链接。

配置不要太低,不建议在笔记本及低配置的台式机上安装。


# 前期准备

关闭selinux并重启机器

vim /etc/selinux/config
# enforcing 改为 disabled

reboot 0

IP 地址

请使用静态IP。

安装 wget

yum -y install wget

更换 CentOS 源

cd /etc/yum.repos.d

# 备份原有源
mv CentOS-Base.repo CentOS-Base.repo.bak

# 下载阿里云的 CentOS 7 源
wget http://mirrors.aliyun.com/repo/Centos-7.repo

# 使其生效
mv  Centos-7.repo CentOS-Base.repo
yum clean all
yum makecache

同步时间

安装并配置启动ntp。因为是测试部署且服务器时间一般均正确,跳过。


# 开始安装

下载一键安装组件openstack-packstack

yum install -y http://rdo.fedorapeople.org/rdo-release.rpm
yum install -y openstack-packstack

关闭NetworkManager和防火墙

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl stop firewalld
systemctl disable firewalld

启动部署脚本

packstack --allinon

编码问题ValueError: unknown locale: UTF-8解决

在系统环境变量(/etc/profile)中添加如下条目:

export LANG="en_US.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_ALL=

并使之生效。

source /etc/profile

Python执行时No module named pkg_resources错误解决

手动下载distribute至服务器:

wget http://www.ld80.cn/zb_users/upload/2018/04/201804031522768135203196.zip

安装并使用unzip解压,修改distribute_setup.py,执行。

yum -y install unzip
unzip distribute_setup.zip
vim distributed_setup.py

# 定位至http,修改其为https:
/http

# 执行
python distribute_setup.py

接下来应该就可以进入正常的自动化安装过程了。整个过程需等待1小时左右。安装完成后以http://[你的IP]/dashboard登陆进入Openstack控制台。

查看默认密码

cat /root/keystonerc_admin

Have fun!


上传镜像如果出现问题,可这样解决:

# 身份验证
source ~/keystonerc_admin

# 终端操作
glance image-create --name ubuntu --file ~/xenial-server-cloudimg-amd64-uefi1.img --disk-format qcow2 --container-format bare

解释:

  • -name NAME 上传完镜像在openstack中显示的名称;

  • -disk-format DISK_FORMAT 镜像格式;openstack支持的格式详情请看官方介绍;

  • -container-format CONTAINER_FORMAT 图片的容器格式,可以是ami,ari,aki,ovf,bare默认是bare

  • -owner TENANT_ID 那个租户可以使用此镜像

  • -size SIZE 这个镜像的大小

  • -min-disk DISK_GB 这个镜像启动最小需要的大小;

  • -min-ram DISK_RAM 启动这个镜像需要的最小内存;

  • -location IMAGE_URL 在web界面中可以使用url地址上传镜像,目前支持http协议的;

  • -file FILE 镜像所在本地目录;

  • -checksum CHECKSUM 镜像数据验证;

  • -is-public [true/false] 是否共享此镜像;共享后其他用户也可以使用此镜像启动instance;

若noVNC连接失败,请添加[ip] openstack到hosts中。


本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

Openstack Horizon 默认端口号修改 上一篇
Cloudera Manager & CDH 部署 下一篇