Openstack 一键测试部署
layout: post
title: "Openstack 一键测试部署"
date: 2018-05-14 00:18:20 +0800
categories: 云计算技术
description: 只是用来应急的,生产部署的过程较为繁琐。
实验室组织参加软件杯,对云平台有需求。虽然用传统的虚拟化也可以满足需求,但还是想整个Openstack提升逼格。
但毕竟没有太多的时间,所以就搜集了一波资料,通过一键部署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控制台。
[图片上传失败...(image-1824-1531906137344)]
查看默认密码
cat /root/keystonerc_admin
Have fun!
[图片上传失败...(image-45d286-1531906137344)]
上传镜像如果出现问题,可这样解决:
# 身份验证
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中。