ToB企服应用市场:ToB评测及商务社交产业平台
标题:
云计算:openstack学习条记和环境摆设
[打印本页]
作者:
惊雷无声
时间:
2024-6-21 13:07
标题:
云计算:openstack学习条记和环境摆设
记录一次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企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4