探索自己搭建云计算平台

莱莱  论坛元老 | 2024-8-28 12:23:38 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1032|帖子 1032|积分 3096

一.引言

OpenStack是一个自由、开源的云计算平台,它主要作为基础设施即服务部署在公有云和私有云中,提供虚拟服务器和别的资源供用户使用。该软件平台由相互关联的组件构成,控制着整个数据中央内不同厂商的处置处罚器、存储和网络资源的硬件池,用户可以通过基于网络的仪表盘、下令行工具或RESTful网络服务来管理。
本文内容主要利用虚拟化环境搭建OpenStack,每一个焦点功能模块由一个虚拟系统举行支撑, 由于官方文档对中文文档的更新较慢,目前只有英文版在随版本的更新在维护,颠末自己不停的实践和总结, 终于在虚拟化环境中将OpenStack成功跑起来。
目前先计划模拟实现云计算四个关键节点:控制节点、云计算节点、网络节点、存储节点
本文的主要内容在于控制节点的安装和组件部署过程。
二.开始前的准备

2.1.系统镜像

ubuntu镜像版本:22.04.3 LTS,下载所在ownload Ubuntu Desktop | Download | Ubuntu

2.2.模拟节点

在虚拟化环境中至少安装四个ubuntu系统虚拟机, 这四个虚拟机分别模拟Openstack的Controller节点、Compute节点、Network节点、Storage节点。


  • Controller节点:运行焦点控制和协调服务,非常关键
  • Compute节点:提供计算资源, 运行虚拟机
  • Network节点:提供网络服务,使虚拟机互联,也较关键
  • Storage节点:提供存储服务,可以从使用简单的文件存储开始
下面这个是我在虚拟化页面中创建的针对四个节点的虚拟镜像:

将四个镜像举行关机, 点击"编辑设置",在CPU选项卡中,勾选三项开启虚拟化功能,如图所示:

2.3 系统更新

更新Ubuntu软件源,确保可以安装到最新稳固的OpenStack组件,依次执行以下下令:
  1. # apt update
  2. # apt dist-upgrade
复制代码
在四个ubuntu虚拟机上完成以上步调后,记得天生一个最新的系统镜像快照, 保证这个快照是安装完系统软件升级的快照。
三.配置NTP服务器

输入以下下令安装chrony:
  1. # apt install chrony
复制代码
安装成功后,编辑文件/etc/chrony/chrony.conf, 添加如下语句:

保存重启服务:
  1. # service chrony restart
复制代码
四.安装OpenStack库

安装OpenStack客户端:
  1. # apt install python3-openstackclient
复制代码
五.安装SQL数据库

SQL数据库服务通常运行在控制节点上,通过以下下令安装SQL数据库:
  1. # apt install mariadb-server python3-pymysql
复制代码
安装成功后,使用vim创建并编辑文件: /etc/mysql/mariadb.conf.d/99-openstack.cnf文件, 写入以下内容:

保存之后,执行以下下令重启mysql服务:
  1. # service mysql restart
复制代码
下一步将运行一个脚本来保护数据库服务,特殊是为数据库账户选择合适的root暗码,执行下令:
  1. # mysql_secure_installation
复制代码
运行后,将出现以下提示要求输入当前的root暗码:

设置完成root暗码后,还会做一些别的的安全设置, 前两个可以选'n',背面的直接选'y'即可完成设置。
七.安装消息队列

openstack使用消息队列来协调服务之间的操作和状态信息,消息队列服务通常运行在控制节点上。
执行以下下令安装消息队列:
  1. # apt install rabbitmq-server
复制代码
执行下面的下令添加一个名为openstack的用户:
  1. # rabbitmqctl add_user openstack RABBIT_PASS
复制代码
执行完成如图所示:

接下来将给账户分配一些权限,允许openstack用户举行配置、写入和读取访问权限:
  1. # rabbitmqctl set_permissions openstack ".*" ".*" ".*"
复制代码
八.安装内存缓存

服务的identity服务认证机制使用Memcached来缓存令牌, memcached服务通常运行在控制节点上,如果是在生产服务器上,最好同时启用防火墙、身份验证和加密的组合来保护内存缓存服务。
运行以下下令执行安装流程:
  1. # apt install memcached python3-memcache
复制代码
使用vim编辑配置文件/etc/memcached.conf, 将配置文件中的-l 127.0.0.1改为: -l 控制节点IP所在, 如图所示:

完成后,执行以下下令重启服务:
  1. # service memcached restart
复制代码
九.配置身份认证服务

9.1 安装和配置keystone

身份认证服务安装在控制节点机器上,直接输入mysql进入MariaDB数据库:
  1. # mysql
复制代码
接着输入下令创建一个名为keystone的数据库,如图:

下一步给keystone数据库对应的访问权限并设置一个暗码,用暗码内容更换‘KEYSTONE_DBPASS’,下令如下:
  1. MariaDB > GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS';
  2. MariaDB > GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';
复制代码
接下来开始安装keystone,在下令行里输入以下下令:
  1. # apt install keystone
复制代码
在安装keystone的过程中,会同时安装Apache HTTP服务,这个背面也会用到, 不用自己单独去装。
继续编辑配置文件:/etc/keystone/keystone.conf,找到标签项:[database],如图所示:

接着找到标签项[token],将注释去掉,如图所示:

接着开始添补身份服务数据库,输入以下指令执行:
  1. # su -s /bin/sh -c "keystone-manage db_sync" keystone
复制代码
执行该指令后要轻微多等一会儿,必要将之前配置的信息写入数据库。
完成之后开始初始化Fernet密钥存储库,输入以下指令:
  1. # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
  2. # keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
复制代码
这两条指令执行成功后不会返回任何信息, 下面继续配置引导身份服务。
在下令行中输入以下指令执行:
  1. # keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
  2.   --bootstrap-admin-url http://192.168.201.202:5000/v3/ \
  3.   --bootstrap-internal-url http://192.168.201.202:5000/v3/ \
  4.   --bootstrap-public-url http://192.168.201.202:5000/v3/ \
  5.   --bootstrap-region-id RegionOne
复制代码
此中ADMIN_PASS为适合管理用户的暗码,自己设置一个自己容易记住的暗码。
9.2 配置Apache HTTP服务器

编辑配置文件:/etc/apache2/apache2.conf文件并配置ServerName引用控制器节点的选项:

配置完成后保存退出,执行以下指令重启HTTP服务:
  1. # service apache2 restart
复制代码
十.安装配置OpenStack仪表板

在控制节点上安装仪表板,唯一的焦点服务是身份服务,在安装仪表板之前,要首先确保Apache HTTP服务和Memcached服务精确安装、配置和操作身份服务。
首先安装仪表板的软件包,执行以下下令安装:
  1. # apt install openstack-dashboard
复制代码
安装完成后,编辑文件:/etc/openstack-dashboard/local_settings.py,并完成以下操作:
1.配置仪表板以使用controller节点上的OpenStack服务,如图所示:

2.配置ALLOWD_HOSTS
留意,配置文件中有两处是ALLOWD_HOSTS,这里修改的是第一个,也就是靠近配置文件最上面的那个,如图所示:

3.配置memcached会话存储服务
配置项直接看图所示:

4.启用身份API版本3
配置项直接看图所示:

5.启动对域的支持
文件中没有该选项,这里我新增了一条,如图:

6.配置user为通过仪表板创建的用户的默认角色:
文件中没有该选项,这里新增了一条,如图:

最后, 重启apache2服务,让配置生效:
  1. # systemctl reload apache2.service
复制代码
十一.验证

在电脑的欣赏器中输入: http://192.168.201.202/horizon,将打开OpenStack的仪表板登录界面,如图所示:

输入账户名:admin和暗码,即可成功登录OpenStace,如图:

十二.总结

由于篇幅原因,本章只针对控制节点做了配置, 背面的文章会陆续将别的节点的信息汇聚到我们的仪表板之中举行查察管理。
本章节主要实现了以下组件的配置:


  • 虚拟机的安装和配置
  • 控制节点所在机器的系统软件升级
  • NTP服务器安装和配置
  • OpenStack客户端安装配置
  • SQL数据库安装配置
  • 内存缓存安装配置
  • 消息队列安装配置
  • 身份认证服务配置
  • OpenStack仪表板安装和配置
  • 仪表板登录
下一章节内容计划:


  • 安装和配置计算节点
  • 在控制节点的仪表板中管理计算节点

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莱莱

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表