OpenStack单节点平台搭建

准备安装环境

1、创建虚拟机

内存建议16GB

CPU(处理器)双核且支持虚拟化

硬盘不低于200GB

网卡能够访问互联网即可(NAT或桥接模式)
OpenStack单节点平台搭建_第1张图片

2、在虚拟机中安装CentOS 7操作系统

链接:https://pan.baidu.com/s/1XI_EVj4ASED_83H1U-lHdQ
提取码:yqr5
复制这段内容后打开百度网盘手机App,操作更方便哦

3、NetworkManager服务

NetworkManager与OpenStack网络组件Neutron冲突,所以停用它,改用传统的网络服务network来管理网络。

systemctl disable NetworkManager

systemctl stop NetworkManager

systemctl enable network

systemctl start network

4、禁用防火墙与SELinux

为方便测试,应关闭防火墙与SELinux

systemctl disable firewalld

systemctl stop firewalld

setenforce 0

vi /etc/selinux/config

OpenStack单节点平台搭建_第2张图片

5、设置网络

虚拟机的IP地址应该为静态地址,此实例中虚拟机网络使用NAT,网卡配置文件如下:
OpenStack单节点平台搭建_第3张图片

cat /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none   #(这个是表示你使用什么样的路由协议,有三种不同写法,如果是none和static表示你用的是静态路由,那么你在接下来的项目里就必须填写IPADDRNETMASKGATEWAY这三个选项。如果是dhcp表示你使用动态路由协议,那IPADDRNETMASKGATEWAY这些选项就可以不必填写。如果填写了,就以你填写的值为准)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy  
NAME=ens33  
UUID=b3ec17d2-064a-4d4a-a3af-6e79abe50597  #UUID做到系统中独一无二
DEVICE=ens33  #网卡名
ONBOOT=yes  #启动这个网卡的开关
IPADDR=172.16.70.144 #IP地址
PREFIX=24   #子网掩码
GATEWAY=172.16.70.2   #网关
DNS=223.5.5.5   #DNS域名解析器

6、设置主机名

此处将主机名设置为node-a,一旦更改主机名,必须将新的主机名追加到/etc/hosts文件中:

hostnamectl set-hostname node-a
vi /etc/hosts

在这里插入图片描述

7、更改语言编码(可选)

如果CentOS7安装的是非英语版本,那么在/etc/environment文件中添加以下定义

LANG=en_US.uft-8

LC_ALL=en_US.utf-8

8、设置时间同步(可选)

整个OpenStack环境中所有节点的时间必须上同步的,在CentOS中一般使用chrony软件来进行时间同步。由于此例为all-in-one部署,只有一台服务器,所以此步可省略。

9、准备所需的软件库

CentOS系统安装后默认的repo文件能支持OpenStack库,但由于是国外软件仓库,速度比较慢,所以推荐使用国内yum源。
1、配置yum仓库
(1)基础软件仓库
所有节点,首先删除或备份系统中原有repo文件,然后下载阿里云或网易centos镜像到本地,以163源为例。

rm -f /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/centos7.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

或者
curl centos7.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo >> /etcyum.repos.d/test.repo

(2)Openstack软件仓库新增一个openstack.repo文件
在该文件内部添加queens版本源及kvm源。
由于OpenStack从Pike版本开始,openstack-nova-compute组件的安装依赖的qemu-kvm版本不能低于2.9.0,而CentOS7现有的软件库不能提供qemu-kvm较新版本的安装。所以此处需新增kvm软件库来提供支持。

vi /etc/yum.repos.d/openstack.repo

[queens]
name=queens
baseurl=http://mirrors.163.com/centos/7/cloud/x86_64/openstack-queens/
enabled=1
gpgcheck=0
[kvm]
name=kvm
baseurl=http://mirrors.163.com/centos/7/virt/x86_64/kvm-common/
enabled=1
gpgcheck=0

(3)生成yum缓存

yum clean all
yum makecache

2、更新qemu-kvm软件
(1)查看当前qemu-kvm软件版本

rpm -qa | grep kvm
如果这里没查到可以直接
yum install -y kvm*
yum install -y qemu*

下载没用的话可以试一下
yum install -y qemu-kvm*

(2)更新软件
已是新版请忽略

yum update qemu*
rpm -qa | grep kvm

安装Packstack安装器

yum install -y openstack-packstack 

运行Packstack安装OpenStack

安装过程如下:(耗时大概25分钟,具体时间与网速及性能相关)

packstack --allinone
Installing:

Clean Up                                             [ DONE ]

Discovering ip protocol version                      [ DONE ]

# 设置SSH密钥

Setting up ssh keys                                  [ DONE ]

# 准备服务器

Preparing servers                                    [ DONE ]

# 安装Puppet和探测主机详情之前

Pre installing Puppet and discovering hosts' details [ DONE ]

# 准备预装的项目

Preparing pre-install entries                        [ DONE ]

# 设置证书

Setting up CACERT                                    [ DONE ]

# 准备AMQP(高级消息队列协议)项目

Preparing AMQP entries                               [ DONE ]

# 准备MariaDB(现已代替MySQL)数据库项目

Preparing MariaDB entries                            [ DONE ]

# 修正Keystone LDAP参数

Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]

# 准备Keystone(认证服务)项目

Preparing Keystone entries                           [ DONE ]

# 准备Glance(镜像服务)项目

Preparing Glance entries                             [ DONE ]

# 检查Cinder(卷存储服务)是否有卷

Checking if the Cinder server has a cinder-volumes vg[ DONE ]

# 准备Cinder(卷存储服务)项目

Preparing Cinder entries                             [ DONE ]

# 准备Nova API(Nova对外接口)项目

Preparing Nova API entries                           [ DONE ]

# 为Nova迁移创建SSH密钥

Creating ssh keys for Nova migration                 [ DONE ]

Gathering ssh host keys for Nova migration           [ DONE ]

# 准备Nova Compute(计算服务)项目

Preparing Nova Compute entries                       [ DONE ]

# 准备Nova Scheduler(调度服务)项目

Preparing Nova Scheduler entries                     [ DONE ]

# 准备Nova VNC(虚拟网络控制台)代理项目

Preparing Nova VNC Proxy entries                     [ DONE ]

# 准备OpenStack与网络相关的Nova项目

Preparing OpenStack Network-related Nova entries     [ DONE ]

# 准备Nova通用项目

Preparing Nova Common entries                        [ DONE ]

# 以下准备Neutron(网络组件)项目

Preparing Neutron LBaaS Agent entries                [ DONE ]

Preparing Neutron API entries                        [ DONE ]

Preparing Neutron L3 entries                         [ DONE ]

Preparing Neutron L2 Agent entries                   [ DONE ]

Preparing Neutron DHCP Agent entries                 [ DONE ]

Preparing Neutron Metering Agent entries             [ DONE ]

Checking if NetworkManager is enabled and running    [ DONE ]

# 准备OpenStack客户端项目

Preparing OpenStack Client entries                   [ DONE ]

# 准备Horizon仪表板项目

Preparing Horizon entries                            [ DONE ]

# 以下准备Swift(对象存储)项目

Preparing Swift builder entries                      [ DONE ]

Preparing Swift proxy entries                        [ DONE ]

Preparing Swift storage entries                      [ DONE ]

# 准备Gnocchi(用于计费的时间序列数据库作为服务)项目

Preparing Gnocchi entries                            [ DONE ]

# 准备Redis(用于计费的数据结构服务器)项目

Preparing Redis entries                              [ DONE ]

# 准备Ceilometer(计费服务)项目

Preparing Ceilometer entries                         [ DONE ]

# 准备Aodh(警告)项目

Preparing Aodh entries                               [ DONE ]

# 准备Puppet模块和配置清单

Preparing Puppet manifests                           [ DONE ]

Copying Puppet modules and manifests                 [ DONE ]

# 应用控制节点(测试时可能需要较长时间)

Applying 192.168.199.21_controller.pp

192.168.199.21_controller.pp:                        [ DONE ]           

# 应用网络节点(测试时可能需要较长时间)

Applying 192.168.199.21_network.pp

192.168.199.21_network.pp:                           [ DONE ]        

# 应用计算节点(测试时可能需要较长时间)

Applying 192.168.199.21_compute.pp

192.168.199.21_compute.pp:                           [ DONE ]

# 应用Puppet配置清单

Applying Puppet manifests                            [ DONE ]

Finalizing                                           [ DONE ]

# 安装成功完成应用并给出其他提示信息

**** Installation completed successfully ******

Additional information:

# 执行命令产生的应答文件

 * A new answerfile was created in: /root/packstack-answers-20180606-112056.txt

# 未安装时间同步。,需要确认CentOS 7当前的系统时间正确,如果不正确,则需要修改

 * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.

# 在用户主目录下产生keystonerc_admin文件,使用命令行工具需要使用它作为授权凭据

 * File /root/keystonerc_admin has been created on OpenStack client host 192.168.199.21. To use the command line tools you need to source the file.

# 访问OpenStack Dashboard(Web访问接口),请使用keystonerc_admin中的登录凭据

 * To access the OpenStack Dashboard browse to http://192.168.199.21/dashboard .

Please, find your login credentials stored in the keystonerc_admin in your home directory.

# 安装日志文件名及其路径

* The installation log file is available at: /var/tmp/packstack/20180606-112055-8r6isW/openstack-setup.log

# Puppet配置清单路径

 * The generated manifests are available at: /var/tmp/packstack/20180606-112055-8r6isW/manifests

安装成功验证

通过物理机浏览器访问OpenStack,此例URL为http://172.16.70.181/dashboard,使用默认admin用户登录,admin用户密码存放在CentOS7系统中/root/keystonerc_admin文件下。

cat keystonerc_admin

OpenStack单节点平台搭建_第4张图片
OpenStack单节点平台搭建_第5张图片
OpenStack单节点平台搭建_第6张图片

你可能感兴趣的:(云计算,openstack)