1 前言

今天我们为一位朋友搭建一套OpenStack云平台。


我们使用Kolla部署stein版本的OpenStack云平台。

kolla是用于自动化部署OpenStack的一个项目,它基于docker和ansible来实现;docker主要负责镜像制作、容器管理。而ansible主要负责环境的部署和管理。

2 实验环境介绍

由于我个人笔记本性能有限,因此本次实验采用all-in-one模式部署,即所有服务都部署在一台主机上。

其实只要all-in-one模式熟练部署,多节点部署上手很快的

2.1 系统准备

2.2 逻辑拓扑图

3 开始部署

3.1 Linux系统环境配置

1)主机网卡配置


2)关闭防火墙、selinux及libvirtd服务

[root@qll251 ~]# systemctl stop firewalld
[root@qll251 ~]# systemctl disable firewalld

[root@qll251 ~]# vim /etc/selinux/config
改:SELINUX=enforcing
为:SELINUX=disabled

[root@qll251 ~]# systemctl stop libvirtd.service
[root@qll251 ~]# systemctl disable libvirtd.service

[root@qll251 ~]# reboot #重启生效

3)安装epel源

yum -y install epel-release

4)CentOS 部分常用软件安装

yum install -y vim net-tools  bash-completion-extras git

小提问:bash-completion-extras这个安装包有什么作用?

5)配置主机名及hosts文件

[root@qll251 ~]# hostname qll251
[root@qll251 ~]# echo "qll251" > /etc/hostname
[root@qll251 ~]# echo "192.168.1.251  qll251" >> /etc/hosts

6)同步时间

[root@qll251 ~]# yum -y install ntp
[root@qll251 ~]# systemctl start ntpd
[root@qll251 ~]# systemctl enable ntpd

7)配置 pip 镜像源,方便快速下载python库

[root@qll251 ~]# mkdir ~/.pip
[root@qll251 ~]# vim ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

3.2 安装基础包和docker服务

1)安装基础包

yum -y install python-devel libffi-devel gcc openssl-devel  python-pip

2)升级pip版本,不然后期安装会有报警

3)安装docker-ce

  • 安装依赖包
yum -y install yum-utils device-mapper-persistent-data lvm2
  • 添加docker-ce yum源文件
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 安装docker-ce
 yum -y install docker-ce
  • 启动docker服务
systemctl start docker
systemctl enable docker

4)指定docker 镜像加速器

[root@qll251 ~]# vim /etc/docker/daemon.json添加如下内容:
{"registry-mirrors": ["https://0i6rnnzu.mirror.aliyuncs.com"]
}

该加速器地址是我在阿里云上申请的,大家可直接使用

5)设置docker volume卷挂载方式

[root@qll251 ~]# mkdir /etc/systemd/system/docker.service.d
[root@qll251 ~]# vim  /etc/systemd/system/docker.service.d/kolla.conf# 添加如下内容
[Service]
MountFlags=shared

解释一下:MountFlags=shared,表示当宿主机新增分区时,docker服务无需重启即可识别。添加此参数后期OpenStack中使用cinder存储时,新加磁盘也比较方便

6)重启使配置生效

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

3.3 从github 获取Kolla和Kolla-Ansible

1)安装ansible

yum -y install ansible

2)下载kolla及kolla-ansible代码

git clone https://github.com/openstack/kolla -b stable/stein
git clone https://github.com/openstack/kolla-ansible -b stable/stein# 如果已有镜像,只执行第二步即可

3)手动安装kolla-ansible

python ~/kolla-ansible/setup.py install

4)安装kolla-ansible需要依赖包


[root@qll251 ~]# pip install -r /root/kolla-ansible/requirements.txt

如果出现此报错,我们强制更新即可;

执行:

[root@qll251 ~]# pip install --ignore-installed PyYAML

5)安装kolla需要依赖包

[root@qll251 ~]# pip install -r /root/kolla/requirements.txt

注意:如果出现类似如下错误:

requests 2.20.0 has requirement idna<2.8,>=2.5, but you'll have idna 2.4 which is incompatible

同样,强制更新requets库即可;

[root@qll251 ~]# pip install --ignore-installed requests

6)拷贝配置文件

[root@qll251 ~]# cd ~/kolla-ansible/
[root@qll251 kolla-ansible]# cp -r ./etc/kolla/* /etc/kolla/
[root@qll251 kolla-ansible]# cp ./ansible/inventory/* /etc/kolla/

#看下我们都拷贝了哪些文件
[root@qll251 ~]# ls /etc/kolla/
all-in-one globals.yml multinode passwords.yml
[root@qll251 ~]#

配置文件解释:

  • all-in-one #安装单节点OpenStack的ansible自动安装配置文件

  • multinode # 安装多节点OpenStack的ansible自动安装配置文件

  • globals.yml # 部署OpenStack的自定义配置文件

  • passwords.yml #存放OpenStack各个服务的密码

6)生成随机密码

[root@qll251 ~]# kolla-genpwd

使用kolla提供的密码生成工具自动生成OpenStack各服务的密码,如果密码不填充,后面的部署环境检查时不会通过的。

7)修改随机密码文件

# 为了方便登录Dashboard,我们将密码修改为123123
[root@qll251 ~]# vim /etc/kolla/passwords.yml165 keystone_admin_password: 123123

8)修改globals.yml配置文件

[root@qll251 ~]#  vim /etc/kolla/globals.yml
# 指定镜像的系统版本15 kolla_base_distro: "centos"
# 指定安装方式18 kolla_install_type: "binary"
# 指定安装stein版本的OpenStack21 openstack_release: "stein"
# 本次实验采用all-in-one模式,未启用高可用。填写宿主机IP即可31 kolla_internal_vip_address: "192.168.1.251"
# OpenStack内部管理网络89 network_interface: "eth0"
# Neutron外网网络
107 neutron_external_interface: "eth1"
# 本次实验采用all-in-one模式,未启用高可用
192 enable_haproxy: "no"

3.4 开始部署OpenStack

1)生成SSH Key,并授信本节点

ssh-keygen
ssh-copy-id root@192.168.1.251

2)配置单节点all-in-one配置文件

[root@qll251 ~]# vim /etc/kolla/all-in-one
# 将文件中所有的localhost替换成qll251
:1,$s/localhost/qll251/

去掉文件中所有包含“ansible_connection=local”

:1,$s/ansible_connection=local//

其实如果是单节点部署,这个步骤是可选的。带大家过一遍配置文件吧

3)带有kolla的引导服务器部署依赖关系

[root@qll251 ~]# kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers

执行结果如下:

4)对主机执行预部署检查

[root@qll251 ~]# kolla-ansible -i /etc/kolla/all-in-one prechecks

执行结果如下:

其实如果能走到这一步,后面的实验基本就没啥问题了,加油!

5)拉取OpenStack镜像

[root@qll251 ~]# kolla-ansible -i /etc/kolla/all-in-one  pull

我们看下它在执行什么

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FkBFhzT0-1587031174141)(https://imgkr.cn-bj.ufileos.com/8b766bc2-2152-4ce3-80b8-4f1184854628.png)]

正在下载OpenStack镜像,等等哦

聪明的小伙伴会趁它在自动部署过程中,思考下当命令敲下去以后它都做了哪些操作

6)执行OpenStack部署

kolla-ansible -i /etc/kolla/all-in-one  deploy

7)验证部署

kolla-ansible -i /etc/kolla/all-in-one  post-deploy

执行结果如下,则说明您的OpenStack环境已部署成功!Congratulations!

同时也生成了admin用户的凭证, 即/etc/kolla/admin-openrc.sh文件

我们看下该凭证:

4 登录OpenStack云平台

在浏览器中输入:http://192.168.1.251

用户名:admin

密码:123123

登录密码我们在passwords.ym中指定为123123,在实际生产环境中可不能设置这么简单哦。

到此已完成OpenStack云平台的部署,明天我们再来讨论下OpenStack 云平台基本使用方法及利用OpenStack客户端命令创建一台测试云主机。

最后的话

别看我搭建这么顺利呀,真到你部署了,可能会满屏报错哦。一定要细心,一不留神就会出现如下情况:

当然也不要有心里负担,以上报错基本都是不细心导致的,比如配置文件中多敲了一个空格或者中英符合复用等。要有信心并且细心哦,相信你可以的!

业务搭载离不了云服务器,选择合适的平台最重要!

从目前国内云计算市场的格局来看,国内云计算前三强分别是阿里云、腾讯云和华为云,阿里云、腾讯云作为背靠互联网平台的企业,更偏向于B端用户;华为与作为传统的通信巨头,更偏向于G端。

本人从事云计算相关工作至今已有多年,国内主流的云平台都接触过,包括他们的销售及技术团队,对各家的产品也小有了解,并且指导过数百家企业迁移上云,对云平台选择也有一定的发言权!

网上有很多评测,评测数据也五花八门,说谁好的都有,这个两篇博文分析汇总的非常详细,分享给大家,文档地址:

博文1:云服务器哪家好!阿里云、腾讯云、华为云的服务器配置及价格对比?​

博文2:阿里云服务器突发型t6、n4、s6、c5、c6怎么选?和腾讯云服务器标准型s3、sn3ne、s4、s5、sa2相比哪家好?全面解析

如果是高并发,高IO业务场景,需要确定服务器规格,可让业务应用性能发挥到最佳,参考官方文档:

阿里云服务器规格:规格实例族 - 云服务器 ECS

腾讯云服务器规格:规格实例族 - 云服务器CVM

手把手带你去搭建一套OpenStack云平台相关推荐

  1. 干货 | 手把手教你搭建一套OpenStack云平台

    1 前言 今天我们为一位朋友搭建一套OpenStack云平台. 我们使用Kolla部署stein版本的OpenStack云平台. kolla是用于自动化部署OpenStack的一个项目,它基于dock ...

  2. 30分钟快速搭建一套私有云平台

    本文介绍一种基于starvcenter快速搭建私有云平台的方法,实现30分钟内完成一套私有云平台的部署. 整个安装过程真的太简单了,仅需4个步骤.话不多说,上干货~ 1.下载starvcenter的i ...

  3. 手把手教你搭建OpenStack云平台(超级详细)

    一.前言 OpenStack云平台搭建需要两个节点,一个是controller(控制节点),另一个是compute(计算节点). 控制节点(controller)规划如下: 一块200G的硬盘.两块网 ...

  4. CentOS上搭建OpenStack云平台只需8G内存!!!

    Hello!大家好,今天阿坤为大家带来8G内存的云平台搭建,按照官方的标准是需要32G,最少也是16G内存的,但是阿坤觉的还不是极限,所以今天带大家挑战8G内存搭建最小云平台! 环境准备 1.总共需要 ...

  5. 先电Openstack云平台搭建【超级详细】【附带镜像】

    前言 大二上学期学习Openstack,苦于百度与CSDN上没有对应版本的教程,学的十分艰难,在此,将我的Openstack云平台搭建过程写出,留给新手学习 准备工作: VMware Workstat ...

  6. OpenStack云平台搭建(3) | 部署Glance

    目录 1.登录数据库授权 2.安装glance 3.测试一下 安装部署Glance镜像服务 Image Service  镜像服务: 代号:Glance: 为云平台虚拟机提供镜像服务,例如:上传镜像. ...

  7. Openstack云平台的搭建与部署(具体实验过程截图评论拿)

    目录 Openstack云平台的搭建与部署................................... 3 Keywords:Openstack.Cloud Computing.Iaas.. ...

  8. 云计算 openstack 云平台搭建详细教程(基于 Vmware 虚拟机搭建)

    OpenStack 和 云计算 1.OpenStack 基本概述 早在1988年,类似云计算概念的"网络就是计算机"概念就被 SUN 微系统公司 的合作创建者约翰 · 盖奇首次提出 ...

  9. OpenStack云平台搭建(4) | 部署Placement

    目录 安装部署Placement 1.登录数据库授权 2.安装palcement-api 安装部署Placement [Placement]服务 是从[nova]服务中拆分出来的组件,作用是收集各个[ ...

最新文章

  1. Delphi(Tuxedo,BDE,ADO)三合一数据集组件HsTxQuery
  2. Extjs遇到的一些问题
  3. Java语法糖之foreach
  4. mysql主从复制 火墙_MySQL高级知识(十五)——主从复制
  5. 简单工厂和 工厂设计模式--抽象工厂模式--Java实现
  6. 常用基础Linux操作命令总结与hadoop基础操作命令
  7. keil5出现‘Target not created‘
  8. mysql 列换行 表设计 设计_MySql行转列、列转行
  9. NEFU 大一寒假训练六(二分查找)2020.01.05
  10. Java集合基础练习题
  11. 【好玩的代码雨(附源代码
  12. DruidDataSource
  13. 李白打酒加强版(dp)
  14. PN结的空间电荷区与耗尽区
  15. 问题1:老毛桃一键装机打开后安装目录只显示u盘
  16. 数据挖掘相关免费软件
  17. php本地安装mysql报错443_Mysql性能剖析工具--Anemometer部署
  18. 硬件IIC和软件IIC区别
  19. SaaS-初识SaaS
  20. 今天发布视频-深海采矿船

热门文章

  1. 安卓系统能运行 linux,重磅!安卓系统竟能运行PC软件,实测效果令人惊在当场!...
  2. flexible.js在华某为手机上使用rem时,页面宽度超出手机屏幕宽度
  3. 功率MOS管驱动设计与PCB layout注意事项
  4. 如果阿里、华为们的智慧城市只是停留顶层设计,那么我们终将会被抛下
  5. 各种插值法的python实现
  6. 100部电影,100种人生,你看过几部?
  7. 求职软件开发工程师,我需要准备什么?一些资源分享
  8. Vue中slot与slot-scope的理解及使用
  9. hexo个人博客收录百度
  10. Autodesk PowerShape Ultimate 2021中文版