前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >杨校老师课堂之云计算私有云OpenStack框架快速搭建

杨校老师课堂之云计算私有云OpenStack框架快速搭建

作者头像
杨校
发布2022-05-11 16:36:04
1.4K0
发布2022-05-11 16:36:04
举报
文章被收录于专栏:Java技术分享圈

1.什么是OpenStack

OpenStack是一系列开源软件项目的组合。 OpenStack是目前非常流行的开源云操作系统 OpenStack是基础设施资源的系统管理平台。 OpenStack对数据中心的计算、存储和网络资源进行统一管理。 OpenStack作为虚拟机、裸金属服务器和容器等的云基础架构和基础设施平台。

2. OpenStack项目及其组成

3. OpenStack项目及其组成

  • 仪表板(Dashboard)——Horizon
  • 计算服务(Compute Service)——Nova
  • 网络(Networking)——Neutron
  • 对象存储(Object Storage)——Swift
  • 块存储(Block Storage)——Cinder
  • 身份服务(Identity Service)——Keystone
  • 镜像(Image Service)——Glance

OpenStack基金会与社区 OpenStack基金会是一个非营利组织。 OpenStack基金会分为个人会员和企业会员两大类。 OpenStack社区是世界上规模非常大也非常完善的开源社区之一。 技术委员会负责总体管理全部OpenStack项目。 项目技术负责人则负责管理项目内的事务,对项目本身的发展进行决策。 OpenStack社区对个人会员而言是非常开放的。

4.OpenStack安装

  1. 准备OpenStack安装环境
  2. 创建实验用的虚拟机实例。
  3. 在实验用虚拟机实例中安装CentOS。
  4. 禁用防火墙与SELinux。
  5. 停用NetworkManager服务。
  6. 设置网络。
  7. 设置主机名。
  8. 更改语言编码。
  9. 设置时间同步

5.快速安装:

基于Packstack安装器安装一体化OpenStack云平台

5.1 准备工作:

(1)准备一台能够安装OpenStack的实验用计算机,建议使用VMware虚拟机。 (2)该计算机应安装CentOS 7,我这是基于CentOS 7.6版本。 (3)禁用防火墙与SELinux。

代码语言:javascript
复制
[root@hadoop1 ~]# systemctl stop firewalld

(4)停用NetworkManager服务。

代码语言:javascript
复制
[root@hadoop1 ~]# systemctl stop NetworkManager

[root@hadoop1 ~]# systemctl disable NetworkManager

(5)设置网卡。

代码语言:javascript
复制
[root@hadoop1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 重启网卡服务
[root@hadoop1 ~]# systemctl restart network

(6)设置主机名。

代码语言:javascript
复制
# 作为举例,我这里最后一个单词hadoop1 是主机名; 可以更改为自己的主机名
[root@hadoop1 ~]# hostnamectl set-hostname  hadoop1

(7)设置时间同步

代码语言:javascript
复制
[root@hadoop1 ~]# yum -y install chrony
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * centos-ceph-nautilus: mirrors.aliyun.com
 * centos-nfs-ganesha28: mirrors.ustc.edu.cn
 * centos-openstack-train: mirrors.aliyun.com
 * centos-qemu-ev: mirrors.aliyun.com
 * epel: mirrors.bfsu.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.cn99.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 chrony.x86_64.0.3.2-2.el7 将被 升级
---> 软件包 chrony.x86_64.0.3.4-1.el7 将被 更新
--> 解决依赖关系完成

依赖关系解决

=============================================================================================================================================================
 Package                              架构                                 版本                                     源                                  大小
=============================================================================================================================================================
正在更新:
 chrony                               x86_64                               3.4-1.el7                                base                               251 k

事务概要
=============================================================================================================================================================
升级  1 软件包

总计:251 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在更新    : chrony-3.4-1.el7.x86_64                                                                                                                  1/2 
  清理        : chrony-3.2-2.el7.x86_64                                                                                                                  2/2 
  验证中      : chrony-3.4-1.el7.x86_64                                                                                                                  1/2 
  验证中      : chrony-3.2-2.el7.x86_64                                                                                                                  2/2 

更新完毕:
  chrony.x86_64 0:3.4-1.el7                                                                                                                                  

完毕!
5.2 详细操作记录

(1)准备所需的软件库。

代码语言:javascript
复制
# 安装Linux的epel的yum源的命令, 补充CentOS内容更新有时较滞后或缺失一些扩展的源
[root@hadoop1 ~]# yum -y install epel-release 

[root@hadoop1 ~]# yum install -y python2-setuptools

[root@hadoop1 ~]# yum -y install centos-release-openstack-train

(2)安装Packstack软件。

代码语言:javascript
复制
[root@hadoop1 ~]# yum -y install openstack-packstack

(3)运行Packstack,以“All-in-One”方式安装OpenStack Train版本。

代码语言:javascript
复制
[root@hadoop1 ~]# 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 ]
Gathering ssh host keys for Nova migration           [ DONE ]
# 准备Nova(计算服务)项目
Preparing Nova Compute entries                       [ DONE ]
Preparing Nova Scheduler entries                     [ DONE ]
Preparing Nova VNC Proxy entries                     [ DONE ]
Preparing OpenStack Network-related Nova entries     [ DONE ]
Preparing Nova Common entries                        [ DONE ]
# 准备Neutron(网络)项目
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 ]
# 检查NetworkManager是否启用并运行
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.101.166_controller.pp
192.168.101.166_controller.pp:                        [ DONE ]           
# 应用网络节点(测试时可能需要较长时间,可以考虑先开一局王者~)
Applying 192.168.101.166_network.pp
192.168.101.166_network.pp:                           [ DONE ]        
# 应用计算节点(测试时可能需要较长时间,可以考虑先开一局王者~)
Applying 192.168.101.166_compute.pp
192.168.101.166_compute.pp:                           [ DONE ]        
# 应用Puppet配置清单
Applying Puppet manifests                            [ DONE ]
Finalizing                                           [ DONE ]
# 安装成功,完成应用并给出其他提示信息
 **** Installation completed successfully ******
Additional information:
# 提示网络已采用OVN Neutron后端
 * Parameter CONFIG_NEUTRON_L2_AGENT: You have chosen OVN Neutron backend. Note that this backend does not support the VPNaaS or FWaaS services. Geneve will be used as the encapsulation method for tenant networks
# 执行命令产生的应答文件
 * A new answerfile was created in: /root/packstack-answers-20220415-231639.txt
# 未安装时间同步,需要确认CentOS当前的系统时间是否正确,如果不正确,则需要修改
 * 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.101.166. 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.101.166/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/20220415-231639-wZEI2M/ openstack-setup.log
# Puppet配置清单路径
 * The generated manifests are available at: /var/tmp/packstack/20220415-231639- wZEI2M/manifests
# 在命令行中执行以下命令,获取OpenStack主要组件Nova的当前安装版本。

(4)查看所安装的OpenStack版本。

代码语言:javascript
复制
[root@hadoop1 ~]# nova-manage --version
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.什么是OpenStack
  • 2. OpenStack项目及其组成
  • 3. OpenStack项目及其组成
  • 4.OpenStack安装
  • 5.快速安装:
    • 5.1 准备工作:
      • 5.2 详细操作记录
      相关产品与服务
      云数据库 MariaDB
      腾讯云数据库 MariaDB(TencentDB for MariaDB) 让您轻松在云端部署、使用 MariaDB 数据库。MariaDB 是在 MySQL 版权被 Oracle 收购后,由 MySQL 创始人 Monty 创立,其版权授予了“MariaDB基金会(非营利性组织)”以保证 MariaDB 永远开源,良好的开源策略,是企业级应用的最优选择,主流开源社区系统/软件的数据库系统,均已默认配置 MariaDB。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档