草庐IT

开源云平台“Openstack”(一)

Jack丶韦 2023-03-28 原文

1、Openstack介绍

OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合,为私有云和公有云提供可扩展的弹性的云计算服务,由 Rackspace和NASA共同开发的云计算平台,主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。

2、Openstack的核心项目

计算(Compute)
对象存储(Object Storage)
镜像服务(Image Service)
身份服务(Identity Service)
网络&地址管理(Network)
块存储 (Block Storage)
UI 界面 (Dashboard)
测量 (Metering)
部署编排 (Orchestration)
数据库服务(Database Service)

3、基础环境配置

节点名称

CPU

内存

磁盘

操作系统镜像

controlle节点

2VCPU

4GB

50GB

CentOS-7-x86_64-Minimal-1804.iso

Compute1节点

2VCPU

4GB

50GB

CentOS-7-x86_64-Minimal-1804.iso

Vmware Workstation虚拟机开启虚拟化引擎:

4、修改网络

master节点


note节点

5、安装Keystone服务

①安装keystone服务软件包

yum -y install openstack-keystone httpd mod_wsgi

cd /etc/yum.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum install python-devel
wget ftp://ftp.pbone.net/mirror/vault.centos.org/7.8./messaging/x86_64/qpid-proton/Packages/q2003/qpid-proton-c-0.28.0-1.el7.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/epel/testing/6.2019-05-29/x86_64/Packages/p/python2-qpid-proton-0.28.0-1.el7.x86_64.rpm
rpm -Uvh --replacepkgs python*.rpm --nodeps --force
yum -y install centos-release-openstack-train

②创建keystone数据库

③配置数据库连接

④为keystone服务创建数据表

su -s /bin/sh -c "keystone-manage db_sync" keystone

⑤创建令牌

⑥创建签名秘钥和证书

⑦定义用户、租户和角色

cat /etc/keystone/admin-openrc.sh

a、创建服务

openstack service create --name keystone --description "OpenStack Identity" identity

b、创建认证端点

openstack endpoint create --region RegionOne identity public http://controller:5000/v3
openstack endpoint create --region RegionOne identity internal http://controller:5000/v3
openstack endpoint create --region RegionOne identity admin http://controller:35357/v3

c、创建域

openstack domain create --description "Default Domain" default
复制

d、创建租户

openstack project create --domain default --description "Admin Project" admin

e、创建用户

openstack user create --domain default --password 000000 admin

f、创建角色

openstack role create admin

g、添加admin角色到admin用户和租户

openstack role add --project admin --user admin admin

h、创建service项目

openstack project create --domain default --description "Service Project" service

i、创建demo租户

openstack project create --domain default --description "Demo Project" demo

j、创建demo用户

openstack user create --domain default --password 000000 demo

k、创建user角色

openstack role create user

l、添加user角色到demo租户和用户

openstack role add --project demo --user demo user

m、清除环境变量

unset os_TOKEN os_URL

⑧创建admin-openrc.sh


⑨获取token测试

6、安装Glance服务

①安装glance镜像服务软件包

yum install -y openstack-glance

②创建glance数据库

③配置文件创建数据库连接

④为镜像服务创建数据库表

⑤创建用户

openstack user create --domain default --password 000000 glance

openstack role add --project server --user glance admin

⑥配置镜像服务

⑦创建Endpoint和API端点

openstack endpoint create --region RegionOne image public http://controller:9292
openstack endpoint create --region RegionOne image internal http://controller:9292
openstack endpoint create --region RegionOne image admin http://controller:9292

⑧启动服务

⑨测试上传镜像

7、安装Nova服务

①安装nova计算服务软件包

yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-console-nova-novncproxy openstack-nova-scheduler

②创建数据库

③配置数据库连接

④同步数据库

⑤创建用户

openstack user create --domain default --password 000000 nova
openstack role add --project service --user nova admin

⑥配置计算服务

⑦创建Endpoint和API端点

openstack service create --name nova --description "OpenStack Compute" compute
openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s

⑧启动服务

⑨验证nova

8、部署计算节点nova服务

①安装nova计算服务软件包

yum -y install openstack-nova-compute

②配置nova服务

③启动

④验证(在控制节点上)


9、安装Neutron服务

①创建neutron数据库

②创建用户

openstack user create --domain default --password 000000 neutron
openstack role add --project service --user neutron admin

③创建Endpoint和API端点

openstack service create --name neutron --description "OpenStack Networking" network
openstack endpoint create --region RegionOne network public http://controller:9696
openstack endpoint create --region RegionOne network internal http://controller:9696
openstack endpoint create --region RegionOne network admin http://controller:9696

④安装neutron网络服务软件包

⑤配置neutron服务

⑥编辑内核

⑦同步数据库

⑧启动服务


10、部署计算节点neutron服务

①安装软件包

yum -y install openstack-neutron-linuxbridge ebtables ipset

②配置neutron服务

③启动服务

④验证(在控制节点上)


有关开源云平台“Openstack”(一)的更多相关文章

  1. python - 开源 Twitter 克隆(在 Ruby/Python 中) - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion是否有任何用Ruby或Python编写的生产就绪的开源Twitter克隆?我对功能丰富的实现更感兴趣,而不仅仅是简单的Twitter消息(例如:API、FBconnect、通知等)谢谢!

  2. Gradle 自动化构建开源工具 - 2

    文章目录写在前面1、下载与安装(windows)1.1、idea中配置gradle2、基础知识(Gradle6.9为例)2.1、Gradle脚本语法2.1.1、dependsOn2.1.2、创建动态任务2.1.3、增加任务行为2.1.4、参数2.1.5、Ant任务2.1.6、方法2.1.7、默认任务2.1.6、依赖任务的不同输出3、java项目中使用3.1、在已有项目中构建gradle3.2、在新建项目时构建gradle(idea)3.3、gradle项目目录结构3.4、build.gradle3.4.1、plugins3.4.2、repositories3.4.3、dependencies3

  3. NFT交易平台开发 创建NFT数字藏品平台 - 2

    为什么需要NFT市场?NFTMarketplace允许用户购买、出售、交易、查看或创建自己的NFT,就像他们需要一个市场来购买物理或数字世界中的大多数产品一样。几乎每个人都可以进入NFT市场,但要做到这一点,用户必须满足以下要求:一个NFT市场用户账户,允许您在给定平台上购买NFT。你需要一个与区块链兼容的加密钱包来购买NFT。NFTMarketplace非常重要,因为它连接了买卖双方,并为用户提供了多种工具来快速创建自己的NFT。艺术家可以在市场上列出要出售的NFT,买家可以通过投标过程探索市场并购买物品。NFT市场开发过程解释创建NFT市场是一个耗时的过程,需要编程知识和理解。那么搭建NF

  4. Ruby跨平台EOF符号的写法 - 2

    在Ruby中是否有一种平台无关的方式将EOF符号写入字符串。在*nix中,我认为符号是^D,但在Windows中是^Z,这就是我问的原因。 最佳答案 EOF不是一个字符,它是一个状态。终端使用控制字符来表示此状态(C-d)。没有这样的事情是“读一个EOF字符”,写一个也是一样的。如果您正在写入文件,请在完成后将其关闭。看这个mailinglistpost:ItsoundslikeyouarethinkingofEOFasanin-bandbutspecialcharactervaluethatmarkstheendoffile.It

  5. 停车系统源码-基于springboot+uniapp开源项目 - 2

    Iparking停车收费管理系统-可商用介绍Iparking是一款基于springBoot的停车收费管理系统,支持封闭车场和路边车场,支持微信支付宝多种支付渠道,支持多种硬件,涵盖了停车场管理系统的所有基础功能。技术栈Springboot,MybatisPlus,Beetl,Mysql,Redis,RabbitMQ,UniApp功能云端功能序号模块功能描述1系统管理菜单管理配置系统菜单2系统管理组织管理管理组织机构3系统管理角色管理配置系统角色,包含数据权限和功能权限配置4系统管理用户管理管理后台用户5系统管理租户管理多租户管理6系统管理公众号配置租户公众号配置7系统管理操作日志审计日志8系统

  6. ruby-on-rails - 有没有很好的引用(开源)Rails NoSQL应用程序? - 2

    我有兴趣了解使用nosql将如何影响rails应用程序的架构/设计/代码。有人知道使用nosql持久性的开源rails应用程序的一个好例子吗?谢谢 最佳答案 看看这些项目:卡桑德拉用法atDigg。卡桑德拉用法atTwitter。Friendly用法atFetLife(nsfw)。最后,MyNoSQL是一个提供nosql相关信息的好网站。 关于ruby-on-rails-有没有很好的引用(开源)RailsNoSQL应用程序?,我们在StackOverflow上找到一个类似的问题:

  7. 视频融合技术解决方案,三维全景拼接赋能平台 - 2

    近年来,随着信息化时代的到来,三维全景拼接以视频监控领域为代表的智能硬件公司迅速崛起,随后全国各地在视频监控领域进行了大量的建设。但随着摄像头数量的增加,视频监控画面离散、庞杂、关联性差等诸多问题日渐凸显。如何优化现有视频技术,助力管理者或使用者有效、直观、准确地掌控现场实时动态,成为我国信息化前行路上面临的新课题。视频融合技术平台解决方案北京智汇云舟科技有限公司成立于2012年,专注于创新性的“视频孪生(实时实景数字孪生)”技术研发与应用。公司依托自研三维地理信息引擎(3DGIS),融合建筑信息模型(BIM)、视频监控(Video)、人工智能(AI)及物联网(IOT)等多种技术,并在此基础上

  8. ruby - 如何指定 gem 仅是 JRuby 平台? - 2

    我正在开发一个只适用于JRuby平台的gem。如何在我的.gemspec中指定它? 最佳答案 你可以简单地输入gemspecspec.platform='java'表示它仅适用于JRuby。具体设置平台可以看一下:RubygemSpecificationReference 关于ruby-如何指定gem仅是JRuby平台?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/189366

  9. ruby-on-rails - 选择 Ruby on Rails 作为基于浏览器的在线游戏平台 - 2

    对于类似Travian的在线策略游戏,我有一些(我认为)非常棒的想法。有些内容我还没有想通,还有一些我还不知道的挑战。这是一个相当大的项目,对于(还)不是熟练的Web开发人员的人来说可能太重了。我还是想试一试,但我在选择平台时遇到了麻烦。世界上的“规模”最近被抛得一团糟,我看到RubyonRails因规模不佳而受到抨击,所以我来这里是为了得到一些答案。我喜欢RubyonRails,无论是Ruby还是Rails。我当然不是这方面的专家,但我喜欢使用它。我之前也使用过Python+Django,也使用过PHP(我不喜欢它。)理想情况下,假设每个服务器有7000名玩家,大概每秒要处理大量数据

  10. ruby-on-rails - 有谁知道 Ruby On Rails 的任何跨平台 GUI 日志查看器? - 2

    我厌倦了使用:tail-fdevelopment.log跟踪我的Rails日志。相反,我想要在网格中显示信息并允许我对每个日志消息进行排序、过滤和查看堆栈跟踪的东西。有谁知道用于显示Rails日志的GUI工具。理想情况下,我想要一个独立的应用程序(不是Netbeans或Eclipse中的东西) 最佳答案 Splunk,有一个免费版本,限制为500mb,但具有与完整版本相同的所有功能。 关于ruby-on-rails-有谁知道RubyOnRails的任何跨平台GUI日志查看器?,我们在St

随机推荐