论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
虚拟化.超融合.云计算
›
虚拟化与私有云
›
云计算:openstack学习条记和环境摆设
云计算:openstack学习条记和环境摆设
惊雷无声
金牌会员
|
2024-6-21 13:07:16
|
显示全部楼层
|
阅读模式
楼主
主题
682
|
帖子
682
|
积分
2046
记录一次openstack的学习和摆设
openstack
OpenStack是一个自由、开源的云计算平台。它主要作为底子办法即服务(IaaS)摆设在公用云和私有云中,提供虚拟服务器和其他资源给用户使用。该软件平台由相互关联的组件组成,控制着整个数据中心内不同的厂商的计算、存储和网络资源的硬件池。用户可以通过基于网络的仪表盘或者下令行工具管理。
应用场景:OpenStack是底子办法即服务(IaaS)软件,让任何人都可以自行创建和提供云计算服务。
核心服务组件
OpenStack 的主要部分(组件):
Nova(计算服务):
Nova 是 OpenStack 的计算服务组件,用于管理和调理虚拟机实例。它允许用户创建、启动、停止和管理虚拟机,还负责资源调理,以确保虚拟机在计算节点上得到适当的分配。
Neutron(网络服务):
Neutron 是 OpenStack 的网络服务组件,负责创建和管理虚拟网络资源,包括虚拟子网、路由、防火墙等。它使用户能够界说和配置虚拟网络拓扑,以便虚拟机实例之间和与外部网络进行通讯。
Cinder(块存储服务):
Cinder 是 OpenStack 的块存储服务组件,用于管理块级存储卷。它允许用户创建、附加、分离和备份块存储卷,以满足虚拟机实例的持久性存储需求。
Glance(镜像服务):
Glance 是 OpenStack 的镜像服务组件,用于管理虚拟机镜像。它允许用户上传、存储和共享虚拟机镜像,以便在创建虚拟机实例时使用。
Keystone(身份认证服务):
Keystone 是 OpenStack 的身份认证服务组件,用于管理用户身份验证和授权。它提供了用户、脚色、项目和权限管理,以确保只有经过身份验证和授权的用户才能访问 OpenStack 资源。
Swift(对象存储服务):
Swift 是 OpenStack 的对象存储服务组件,用于存储和检索大规模的非结构化数据,如文件、图片和视频。它提供了可扩展的对象存储能力,适用于云存储和数据备份。
Horizon(仪表板):
Horizon 是 OpenStack 的官方 Web 用户界面,用于管理和监视云资源。它提供了直观的图形界面,使用户能够通过欣赏器访问和控制 OpenStack。
Heat(编排服务):
Heat 是 OpenStack 的编排服务组件,用于界说和管理云底子办法的资源和配置。它允许用户创建模板,以自动化和编排云资源的摆设和配置。
Ceilometer(监控和计量服务):
Ceilometer 是 OpenStack 的监控和计量服务组件,用于收集、存储和分析云资源的使用和性能数据。它有助于云资源的监控、报告和计量。
Trove(数据库服务):
Trove 是 OpenStack 的数据库服务组件,用于管理和提供云数据库服务。它支持各种数据库引擎,使用户能够轻松地创建、扩展和管理数据库实例。
Sahara(大数据处置惩罚服务):
Sahara 是 OpenStack 的大数据处置惩罚服务组件,用于在云中摆设和管理大数据框架(如Hadoop、Spark等)。它提供了大数据处置惩罚的自动化工具和服务。
Zun(容器服务):
Zun 是 OpenStack 的容器服务组件,用于管理和编排容器。它支持 Docker 容器,并允许用户创建、摆设和管理容器化应用程序。
devstack
devstack是面向开发者的一个openstack摆设工具,用户可以指定不同的版本分支进行安装。devstack借助于Shell脚本实现openstack自动化摆设,devstack源码中的stack.sh即为安装脚本,该脚本默认会安装并配置nova,glance,horizon和keyston、eplacement。
摆设过程
创建stack用户
sudo useradd -s /bin/bash -d /opt/stack -m stack
sudo passwd stack #编辑stack用户的登录密码
sudo chmod +x /opt/stack #具有可执行权限
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
复制代码
切换到stack用户空间下
su - stack
复制代码
下载devstack源码
git clone https://opendev.org/openstack/devstack
cd devstack
复制代码
在devstack创建local.conf配置文件
[[local|localrc]]
ADMIN_PASSWORD=123456
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
TEMPEST_REPO=http://git.trystack.cn/openstack/tempest
LOGFILE=$DEST/logs/stack.sh.log
LOGDAYS=2
复制代码
安装
./stack.sh
复制代码
报错记录:
sudo apt install libldap-dev=2.5.11+dfsg-1~exp1ubuntu3.1 libldap-2.5-0=2.5.11+dfsg-1~exp1ubuntu3.1
sudo apt install libsasl2-dev=2.1.27+dfsg2-3ubuntu1 libsasl2-2=2.1.27+dfsg2-3ubuntu1
#第三条依赖:依赖关系可以使用aptitude安装
sudo aptitude install libsystemd0=249.11-0ubuntu3.7
复制代码
mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
复制代码
报错:
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xeu apache2.service" for details.
复制代码
查看apache日志
端口80被占用,如下图
将 Apache2 的监听端口更改为其他可用端口,必要编辑 Apache2 的配置文件。
sudo nano /etc/apache2/ports.conf
复制代码
找到以下行:
Listen 80
复制代码
将 80 更改为其他未被占用的端口,比方 8080:
Listen 80
80
复制代码
生存并退出配置文件
重新启动 Apache2 服务以使更改见效:
sudo systemctl restart apache2
复制代码
成功启动apache2
放宽依赖范围:您可以尝试放宽对grpcio的版本限制,让pip尝试选择与etcd3兼容的版本。可以这样做:
pip install etcd3==0.12.0 grpcio
复制代码
这将允许pip选择满足etcd3依赖的grpcio版本。
修改inc/python中pip_install函数,189行
报错:
No module named 'setuptools.command.build'
复制代码
官网有这个issue:https://github.com/pypa/setuptools/issues/3560,
按照这个issue去做也尚未解决,末了卸载这个包后,重新使用国内源下载
export ALL_PROXY=socks5://222.24.18.228:1080(这个是我们实行室的代理) 脚本执行到pip按照依赖部分会报错:
“ERROR: Could not install packages due to an OSError: Missing dependencies for SOCKS support.”
复制代码
解决:
unset all_proxy
unset ALL_PROXY
复制代码
但是执行后github克隆会很慢
找到git clone的脚本部分 在git clone时设置环境变量export ALL_PROXY=socks5://222.24.18.228:1080,执行完后unset all_proxy&&unset ALL_PROXY
脚本下载报错
单独克隆
export ALL_PROXY=socks5://222.24.18.228:1080 && git clone https://opendev.org/openstack/glance.git /opt/stack/glance && unset ALL_PROXY
复制代码
报错:
建议在一个全新的ubuntu系统上摆设,整个过程中会下载许多依赖包,在全新的系统上摆设可以避免包之间的辩论(上述过程中的题目大多是网络题目和包辩论)!!!!!!!!!!
摆设成功后,终端输出如下
=========================
DevStack Component Timing
(times are in seconds)
=========================
wait_for_service 10
async_wait 39
osc 141
apt-get 5
test_with_retry 3
dbsync 3
pip_install 80
apt-get-update 2
run_process 25
-------------------------
Unaccounted time 85
=========================
Total runtime 393
=================
Async summary
=================
Time spent in the background minus waits: 185 sec
Elapsed time: 393 sec
Time if we did everything serially: 578 sec
Speedup: 1.47074
Post-stack database query stats:
+------------+-----------+-------+
| db | op | count |
+------------+-----------+-------+
| cinder | SELECT | 143 |
| cinder | UPDATE | 5 |
| keystone | SELECT | 46308 |
| keystone | INSERT | 93 |
| cinder | INSERT | 4 |
| neutron | SELECT | 4142 |
| neutron | INSERT | 6084 |
| neutron | UPDATE | 115 |
| placement | SELECT | 48 |
| placement | INSERT | 60 |
| placement | SET | 2 |
| neutron | DELETE | 25 |
| nova_api | SELECT | 120 |
| nova_cell1 | SELECT | 151 |
| nova_cell0 | SELECT | 119 |
| nova_cell0 | INSERT | 9 |
| nova_cell0 | UPDATE | 6 |
| placement | UPDATE | 3 |
| glance | SELECT | 48 |
| glance | INSERT | 6 |
| nova_api | INSERT | 20 |
| nova_api | SAVEPOINT | 10 |
| nova_api | RELEASE | 10 |
| glance | UPDATE | 2 |
| nova_cell1 | INSERT | 6 |
| nova_cell1 | UPDATE | 21 |
+------------+-----------+-------+
This is your host IP address: 192.168.115.130
This is your host IPv6 address: ::1
Horizon is now available at http://192.168.115.130/dashboard
Keystone is serving at http://192.168.115.130/identity/
The default users are: admin and demo
The password: 123456
Services are running under systemd unit files.
For more information see:
https://docs.openstack.org/devstack/latest/systemd.html
DevStack Version: 2023.2
Change: 129d0964a87ad5757ba21587e1aa7daac2300447 Merge "Remove openeuler job from periodic and check queue" 2023-09-12 21:45:50 +0000
OS Version: Ubuntu 23.04 lunar
2023-09-18 07:59:37.003 | stack.sh completed in 394 seconds.
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
惊雷无声
金牌会员
这个人很懒什么都没写!
楼主热帖
基于 Sealos 的镜像构建能力,快速部署 ...
联合评测 DapuStor Roealsen5 NVMe SSD ...
学习TraceLogging事件,使用ETW记录, ...
Neo4j
蚂蚁金服杨军:蚂蚁数据分析平台的演进 ...
Linux之iptables(NAT表)——实验篇 ...
MySQL-带你上官网看索引
记一次实战 Shiro反序列化内网上线 ...
MySQL Hash Join前世今生
Linux(CentOs7)基础配置及安装本地yum ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表