私有云OpenStack保姆级教学

一、Openstack介绍

OpenStack是由美国国家航空航天局(NASA)与Rackspace公司合作研发并发起的,以Apache许可证授权的自由软件和开放源代码的云计算技术解决方案,其是一个项目也是一个软件,主要用于实现云项目,因云项目操作系统而存在。

作用:用于部署公有云、私有云,并实现对云项目管理。

开发语言: Python

网址: http://www.openstack.org

 为基础组件具体提供可行性操作的项目

Compute计算服务

Networking 网络服务

object Storage 对象存储服务Block Storage块存储服务ldentity身份认证服务lmage Service镜像服务Dashboard Ul界面Metering测量orchestration部署编排Database Service数据库服务......

Compute计算服务代号:Nova
用于为用户管理虚拟机实例,根据用户需求提供虚拟服务。负责虚拟机创建、开机、关机置CPU、内存等规格。
Networking网络服务代号:Neutron
为云平台提供网络虚拟化,为用户提供网络接口。

object Storage对象存储

代号:Swift
用于为云平台提供对象存储服务,允许使用其进行文件存储及检索。例如,可为Glance提Block Storage块存储服务

代号:Cinder
用于为云平台提供块存储服务,管理块设备等,例如:创建卷、删除卷等。

ldentity身份认证代号:Keystone
为OpenStack中其它服务提供身份验证、服务注册、服务令牌等功能。

lmage Service镜像服务代号:Glance
为云平台虚拟机提供镜像服务,例如:上传镜像、删除镜像等。

Dashboard Ul页面
代号:Horizon
用于为OpenStack提供Web管理门户,例如:启动云主机、创建网络、设置访问控制等。Metering测量服务
代号:Ceilometer
用于收集OpenStack内部发生的资源使用进行统计,然后为计费和监控提供数据支撑。orchestration编排部署
代号: Heat
为云平台提供软件运行环境自动化部署。Database Service云数据库
代号:Trove
用于为用户提供在OpenStack环境中提供可扩展和可靠的关系型数据库或非关系型数据库引擎
 

二、Openstack思维导图

三、计算组件nova

3.1、nova介绍

计算就是选择计算节点,分配cpu、mem等资源的过程

资源调度策略
nova-scheduler模块通过过滤和权重计算,来决策VM实例创建在哪个计算节点上。

过滤(Filter)结合VM实例的配置文件,按已定的匹配顺序,对所有的主机列表进行条件匹配,最终选择合适的计算
常见的Filter:

RetryFilter(过滤已用节点)--AvailabilityZoneFilter(可用节点)--RamFilter(内kEilter(磁盘匹配)--CoreFilter(CPU匹配)--ComputeFilter(服务正常)--ComputeCapabter(特性匹配)--ImagePropertiesFilter(映像属性匹配)--ServerGroupAntiAffinityFirGroupAffinityFilter(主机组)

计算权重(Weight)

对过滤后的计算节点进行空闲资源评分,谁的分最高,就确定哪台主机

默认情况下nova-scheduler 根据计算节点空闲的内存量计算权重值,空闲内存越多,权重越高

nova-api:负责接收和相应外部的操作请求,RESTful格式的API,是外部访问Nova的唯途径。nova-api-metadata: 是 nova-api 的一个子服务,为VM实例的创建提供 metadata 信息。

compute Core组件:
nova-scheduler: 负责VM实例的资源调度
nova-compute:管理VM实例,通过消息队列接收请求,并承担操作工作。

nova-Conductor: nova-compute 借助 nova-conductor 实现对数据库的访问

nsole Interface组件

nova-cert:负责身份认证nova-consoleauth: 用户控制台的授权验证nova-novncproxy: VNC代理,支持基于浏览器的vnc 客户端

3.2、nova控制节点部署

官方文档 OpenStack Docs: 安装并配置控制节点

现在不需要配置openstack-nova-placement-api

导入数据时速度会有点慢

3.3、nova计算节点部署

[libvirt]参数组下面加上virt_type=qemu
但如果是生产环境用物理服务器搭建就应该为virt_type=kvm
不能使用kvm,因为我们本来就在kvm里面搭建的云平台,cat /proc/cpuinfo l egrep' vmx l svm '是查不出来的

四、网络组件neutron

4.1、网络(neutron)概念

OpenStack Networking (neutron) ,允许创建、插入接口设备,这些设备由其他的OpenStack服务管理。插件式的实现可以容纳不同的网络设备和软件,为Openstack架构与部署提供了灵活性。
它包含下列组件:
neutron-server
接收和路由API请求到合适的openstack网络插件,以达到预想的目的.
OpenStack网络插件和代理
插拔端口,创建网络和子网,以及提供IP地址,这些插件和代理依赖于供应商和技术而不同,OpenStack网络基于插件和代理为Cisco虚拟和物理交换机、NEC OpenFlow产品,Open vSwitch,Linux bridging以及VMware NSX 产品穿线搭桥。
常见的代理L3(3层),DHCP(动态主机IP地址),以及插件代理。

消息队列
大多数的OpenStack Networking安装都会用到,用于在neutron-server和各种各样的代理进程间路由信息也为某些特定的插件扮演数据库的角色,以存储网络状态
OpenStack网络主要和OpenStack计算交互,以提供网络连接到它的实例

OpenStack网络(neutron)管理OpenStack环境中所有虚拟网络基础设施(VNI),物理网络基础设施(PNI)的接入层。OpenStack网络允许租户创建包括像 firewall, :term:`load balancer`和 :term:`virtual private network (VPN)`等这样的高级虚拟网络拓扑。

网络服务提供网络,子网以及路由这些对象的抽象概念。每个抽象概念都有自己的功能,可以模拟对应的物理设备:网络包括子网,路由在不同的子网和网络间进行路由转发。

对于任意一个给定的网络都必须包含至少一个外部网络。不像其他的网络那样,外部网络不仅仅是一个定义的虚拟网络。相反,它代表了一种OpenStack安装之外的能从物理的,外部的网络访问的视图。外部网络上的IP地址可供外部网络上的任意的物理设备所访问

外部网络之外,任何 Networking 设置拥有一个或多个内部网络。这些软件定义的网络直接连接到虚拟机。仅仅在给定网络上的虚拟机,或那些在通过接口连接到相近路由的子网上的虚拟机,能直接访问连接到那个网络上的虚拟机。

如果外部网络想要访问实例或者相反实例想要访问外部网络,那么网络之间的路由就是必要的了。每一个路由都配有一个网关用于连接到外部网络,以及一个或多个连接到内部网络的接口。就像一个物理路由一样,子网可以访问同一个路由上其他子网中的机器,并且机器也可以访问路由的网关访问外部网络。

另外,你可以将外部网络的IP地址分配给内部网络的端口。不管什么时候一旦有连接连接到子网,那个连接被称作端口。你可以给实例的端口分配外部网络的IP地址。通过这种方式,外部网络上的实体可以访问实例.

网络服务同样支持安全组。安全组允许管理员在安全组中定义防火墙规则。一个实例可以属于一个或多个安全组,网络为这个实例配置这些安全组中的规则,阻止或者开启端口,端口范围或者通信类型。

每一个Networking使用的插件都有其自有的概念。虽然对操作VNI和OpenStack环境不是至关重要的,但理解这些概念能帮助你设置Networking。所有的Networking安装使用了一个核心插件和一个安全组插件(或仅是空操作安全组插件)。另外,防火墙即服务(FWaaS)和负载均衡即服务(LBaaS)插件是可用的。

4.2、neutron控制节点部署

网络配置方法主要就是两个选项,根据实际情况中官方文档查看并配置

扁平网络(Flat):大局域网,不支持VLAN及其它网络隔离机制;

本地网络(Local): 所有的VMs位于本地Compute节点,且与external网络隔离;

局域网络(VLAN):通过使用VLAN的IDs创建多个providers或tenant网络;4096个

隧道网络(VXLAN和GRE):以上都是虚拟网络

4.3、neutron计算节点部署

4.4、排错方法diff

当不确定配置文件是否和文档一模一样时可以过滤配置文件输出到文本之后复制粘贴文档中的配置文件用diff命令对比两个文件内容是否一致,不一致会输出信息

五、Dashboard组件horizon
 

根据官方文档直接部署安装即可

六、块存储组件cinder

6.1、块存储组件cinder介绍

  美国时间2023年10月08日,OpenStack社区发布了OpenStack的第13个版本——Mitaka,新版本聚焦于可管理性、可扩展性和终端用户体验。目前OpenStack在云构建领域已经成为了使用最为广泛的开源软件,成为了企业和服务提供商的云平台选项,为企业应用优化和云原生软件开发架起了桥梁。此外,它们还是一个整合引擎,可以通过单独的一套API实现对裸机、虚拟机和容器编排框架的管理。

块存储服务(cinder)为实例提供块存储。存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的。还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等。

典型情况下,块服务API和调度器服务运行在控制节点上。取决于使用的驱动,卷服务器可以运行在控制节点、计算节点或单独的存储节点

6.2、cinder在控制节点上部署

根据官方文档直接部署安装即可

官方文档可能没有和glance连接的这个配置,需要注意

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值