OpenStack从入门到放弃?全面技术总结

开篇先借用一位跟了7年OpenStack项目的大佬的文章,说一下目前云计算行业的趋势,以及OpenStack的问题。突出标题“从入门到放弃”

然后简单说一下openstack的技术原理及平台搭建,毕竟是要放弃的,就少说一点了。

什么是云计算?

云计算是一种按使用量付费的模式,这种模式提供可用的,便捷的,按需的网络访问,进入可配置的计算资源共享池(包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需要投入少量的管理工作,或与服务供应商进行很少的交互。通常涉及通过互联网来提供,动态易扩展的虚拟化的资源。

云计算的三大服务模式:

IaaS云:

IaaS(Infrastructure as a Service),即基础设施即服务

提供给消费者的服务是对所有计算基础设施的使用

包括处理CPU,内存,存储,网络和其他基本的计算资源

用户能够部署和运行任意软件,包括操作系统和应用程序

IaaS通常分为三种用法:公有云,私有云和混合云

PaaS云:

PaaS(Platform-as-a-Service),意思是平台即服务

以服务器平台或者开发者开发环境按需提供的服务

PaaS不仅仅是单纯的基础平台,还包括对该平台的技术支持,应用系统开发,优化等服务

简单地说,PaaS也可以说是中间件即服务

SaaS云:

SaaS(Software-as-a-Service)软件即服务

是一种通过Internet提供软件的模式

软件厂商将应用软件部署在服务器上,客户可以根据自己实际需求,通过互联网自助购买所需的应用软件服务

SaaS云服务也可以说是一种软件云服务

知名云服务商:

国外:亚马逊(AWS),微软Azure,IMB SCE+……

国内:华为云,阿里云,百度云,腾讯云……

OpenStack起源:

OpenStack是一个由NASA(美国国家航天局)和Rackspace合作研发并发起的项目

OpenStack是一套IaaS解决方案

OpenStack是一个开源的云计算管理平台

以Apache许可证为授权

OpenStack结构图:

OpenStack从入门到放弃?全面技术总结

OpenStack组件:

Horizon组件:

Horizon为OpenStack服务的Web控制面板,它可以管理实例,镜像,创建秘钥对,对实例添加卷,操作Swift容器等

实例管理:创建,终止实例,查看终端日志,VNC连接,添加卷等

访问与安全管理:创建安全群组,管理密钥对,设置浮动IP等

镜像管理:编辑或删除镜像

管理用户,配额及项目用途

Keystone组件:

为其他服务提供认证和授权的集中身份管理服务

也提供了集中的目录服务

支持多种身份认证模式,如密码认证,令牌认证,以及AWS(亚马逊Web服务)登录

为用户和其他服务提供了SSO认证服务

Nova组件:

在节点上用于管理虚拟机的服务

Nova是一个分布式的服务,能够与Keystone交互实现认证,与Glance交互实现镜像管理

Nova被设计成在标准硬件上能够进行水平扩展

启动实例时,如果有则需要下载镜像

Glance组件:

扮演虚拟机镜像注册的角色

允许用户直接存储拷贝服务器镜像

这些镜像可以用于新建虚拟机的模板

镜像采用qcow2技术(写时复制后端盘)

Swift组件:

对象存储的组件

对于大部分用户来说,swift不是必须的

只有存储数量达到一定级别,而且是非结构化数据才有这样的需求

Neutron组件:

一种软件定义网络服务

用于创建网络,子网,路由器,管理浮动ip地址

可以实现虚拟交换机,虚拟路由器

可用于在项目中创建VPN

不同主机上的服务器有的需要相互隔离,有的需要互联互通

Cinder组件:

为虚拟机管理存储卷的服务

为运行在Nova中的实例提供永久的块存储

可以通过快照进行数据备份

经常应用在实例存储环境中,如数据库文件

安装时间同步服务器:

openstack集群内部要求时间同步

安装openstack服务:

配置步骤:

1.配置DNS服务器

2.配置主机名IP地址解析

3.配置时间服务

4.yum源配置

5.安装OpenStack软件包

6.安装Nova软件包

1.配置DNS服务器(三台主机都需要配置)

OpenStack安装时需要使用dns来解析域名

查看/etc/resolv.conf,如果局域网有域名服务器,且能访问外网不用修改,如果不能解析外网域名,可以修改成外网任意dns服务器,如果文件中有search的行,需要删除,否则会给主机加上后缀

2.配置主机名IP地址解析(三台主机都需要配置)

由于局域网中没有搭建dns服务器,所以主机的名称是无法解析成IP的,但是OpenStack在服务间调用的时候会使用主机名称,为了保证服务能正常使用需要修改/etc/hosts文件,也可以自己搭建dns服务器。

3.配置时间服务(三台主机都需要配置)

OpenStack与nova服务器之间的时间必须保持一致

4.yum源配置(三台主机都需要配置)

yum源即为安装包目录,可以下载好所需的安装包手动rpm安装

5.安装OpenStack软件包

6.安装Nova软件包(nova1,nova2)

私有云环境检查:

1.禁用selinux,卸载firewalld和NetworkManager

2.主机名必须能够解析

3.检查配置主机yum源(4个,10670)

4.以及软件包是否安装

5.检查NTP服务器是否可用

6.检查/etc/resolv.conf不能有search开头的行

配置应答文件(OpenStack主机上):

安装完OpenStack后,网卡文件发生了变化

br-ex将eth0作为了接入外网的端口

ovs-vsctl命令:

登录管理:

horizon是一个用以管理,控制OpenStack服务的Web控制面板,也称之为Dashboard仪表盘,可以管理实例,镜像,创建秘钥对,对实例添加卷,操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或者VNC直接访问实例。基于python的django web框架进行开发

由于版本BUG在登录horizon前需要修改配置文件:

OpenStack从入门到放弃?全面技术总结

命令行登录:

/root/keystonerc_admin(软件的环境变量及认证文件,包括用户名密码)

项目的概念:

项目是由admin角色的用户创建的

项目:一组隔离的资源和对象,由一组关联的用户进行管理

根据配置的需求,项目对应一个组织,一个公司或是一个使用客户等

项目中可以有多个用户,项目中的用户用来管理虚拟资源

项目相关信息保存到数据库中

默认项目:

缺省情况下,packstack安装的openstack中有两个独立的项目

admin:为admin账户创建的项目

services:与安装的各个服务相关联

创建项目:

配额默认

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

通过命令创建项目:

创建名为myproject项目

查看项目

删除项目

用户管理:

什么是用户:

用户在OpenStack中用于身份认证

管理员用户admin一般在packstack安装过程中创建

其他用户由管理员用户创建,并指定可以访问的项目

非管理员用户创建后,保存到数据库中

用户权限:

非管理员用户权限:

启动实例、创建卷和快照、创建镜像、分配浮动ip、创建网络和路由器、创建防火墙以及规则和策略、查看网络拓扑项目使用情况等

创建用户:

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

使用新建用户登录:

OpenStack从入门到放弃?全面技术总结

通过命令创建用户:

创建xiaoyong用户,指定密码为xiaoyong

列出已有用户

删除用户

修改密码

云主机类型(资源模板):

云主机类型就是资源的模板

它定义了一台云主机可以使用的资源,如内存的大小,磁盘容量和cpu核数等

openstack提供了几个默认的云主机类型

管理员还可以自定义云主机类型

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

命令行管理云主机类型:

创建一个云主机类型demo.tiny(内存512M,磁盘10G,1cpu)

列出所有的云主机类型openstack flavor list

删除云主机类型:

镜像管理:

在红帽openstack平台中,镜像指的是虚拟磁盘文件

磁盘文件中应该已经安装了可启动的操作系统

镜像管理功能由Glance服务提供

它形成了创建虚拟机实例最底层的块结构

镜像可以由用户自己制作,也可以通过红帽官方站点下载

镜像磁盘格式:

raw:非结构化磁盘镜像格式

vhd:VMware,Xen,Microsoft,VirtualBox等均支持的磁盘格式

vmdk:是VMware的虚拟磁盘格式

vdi:VirtualBox虚拟机和QEMU支持磁盘格式

iso:光盘数据内容的归档格式

qcow2:QEMU支持的磁盘格式,空间自动扩展,并支持写时复制copy-on-write

COW(copy-on-write):

直接映射原始盘的数据内容。当数据有修改要求时,在修改之前自动将旧数据拷贝存入前端盘后,对前端盘进行修改。原始盘始终是只读的

OpenStack从入门到放弃?全面技术总结

qemu-img命令:是虚拟机的磁盘管理命令

格式:qemu-img 命令 参数 块文件名称 大小

常用的命令有

create:创建一个磁盘

info:查看磁盘信息

resize:扩容磁盘空间

创建Qcow2格式文件

创建新的镜像盘文件

qemu-img create -f 格式 磁盘路径 大小

查询镜像盘文件的信息:

-b使用后端模板文件:

通过horizon平台创建镜像:

OpenStack从入门到放弃?全面技术总结

使用命令创建镜像:

列出已有镜像:

删除镜像:

Neutron网络管理:

网络管理:

实例被分配到子网中,以实现网络连通性

每个项目都可以有1到多个子网

每个项目都能拥有多个私有网络

各个项目的私有网络互相不受干扰

网络间可用vlan隔离

提供商网络:将实例连接到现有网络,实现虚拟机实例与外部系统共享同一二层网络

创建wlan网络:

通过horizon设置外部wlan网络:

OpenStack从入门到放弃?全面技术总结

项目管理员xiaoyong查看网络拓扑情况

OpenStack从入门到放弃?全面技术总结

命令行模式创建网络:

外部网络只有管理员admin有权限设置

创建一个名为wlan的,属于xiaoyong的网络,flat(直连)外部网络

查看网络:

项目管理员xiaoyong设置子网:

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

命令行创建wlan子网:

设置名为wlan_subnet子网

删除子网:

创建lan网络:

项目管理员xiaoyong创建私有网络:

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

添加路由:

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

创建云主机:

云主机创建过程,最终是调度nova节点上的compute服务和libvirtd服务创建虚拟机

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

常见错误:

1.创建云主机时状态错误

解决办法:查看nova主机的libvirtd服务是否启动

2.创建云主机时长时间处于调度状态

解决办法:查看nova主机的openstack-nova-compute是否启动

3.打开控制台时无法正常连接提示code1006

检查/etc/hosts文件解析是否正确

查看/etc/nova/nova.conf文件的vncserver_proxyclient_address是否有后缀,若有在/etc/hosts文件中加上即可

安全组与浮动IP:

浮动IP是干什么的?

浮动IP一般需要花钱购买(公网IP)

浮动IP地址用于从外界访问虚拟机实例

浮动IP地址只能从现有浮动IP地址池中分配

虚拟机实例启动后,可以为其关联一个浮动IP地址

虚拟机实例也可以解除IP地址绑定

分配浮动ip,管理员xiaoyong登录平台分配

OpenStack从入门到放弃?全面技术总结

为云主机绑定浮动ip

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

安全组:

安全组用于控制对虚拟机实例的访问

安全组在高层定义了哪些网络及哪些协议是被授权可以访问虚拟机实例的

每个项目都可以定义自己的安全组

项目成员可以编辑默认的安全规则,也可以添加新的安全规则

每个规则都有出和入两个方向

所有的项目都有一个默认的default安全组

创建安全组:

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

添加ssh和icmp实现ping和ssh远程

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

如果需要开放所有端口,选择其他协议

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

OpenStack从入门到放弃?全面技术总结

测试ssh和icmp

扩容计算节点:

基础环境准备:

参考nova1的配置过程:

配置静态IP:192.168.1.12,主机名nova2

禁用selinux,卸载firewalld和NetworkManager

修改/etc/hosts,添加所有主机的解析

配置yum源,安装软件python-setuptools libvirt-daemon libvirt-daemon-driver-qemu libvirt-client qemu-kvm

检查ntp时间服务器是否同步chronyc sources -v

去除/etc/resolv.conf的search开头的行

编辑openstack主机的anwser.ini应答文件

在openstack主机上重新执行安装命令

安装后,Apache配置已被还原,需要重新添加

管理员admin登录openstack,可以看到两个nova计算节点

OpenStack从入门到放弃?全面技术总结

创建虚拟机后,openstack会自动分配虚拟机到nova节点上

登录admin管理员可以查看虚拟机分配的计算节点,项目管理员没有查看权限

OpenStack从入门到放弃?全面技术总结

此时实现了不同nova间网络互通:

OpenStack从入门到放弃?全面技术总结

其实OpenStack平台对于虚拟机的时代来说真的很强大,但是如今是微服务的时代。了解技术原理就行,重要的是docker和k8s。

以上就是我的从入门到放弃文章。

如果此文对你有帮助,可以留下你的赞再走,码字很辛苦的,谢谢支持。

Those time when you get up early and you work hard. Those time when you stay up late and you work hard. Thosetimes when you don’t feel like working, you’re too tired and you don’t want to push yourself but you do it anyway. That is actually the dream. That’s the dream.

OpenStack从入门到放弃?全面技术总结

亲身经历,云服务器遭遇挖矿病毒之后

OpenStack从入门到放弃?全面技术总结

一个开源的HTML5流媒体播放器

OpenStack从入门到放弃?全面技术总结

把Windows打造成一个NTP时间同步服务器

来源:运维贼船

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月9日
下一篇 2022年1月9日

相关推荐