不只是安装,Kolla 让 OpenStack 运维变简单

使用 kolla 部署的 OpenStack 环境和传统直接安装的环境相比较,因为使用了全容器化部署,基本操作上有很大不同。对于初学者,操作变得更清晰和更简单了,但是如果你已经有了一定的经验,可能反而会不习惯。

本篇文章就以“创建实例”这个最简单的任务,带你掌握最基本最常用的操作。

概述

在上一篇文章中,我们把环境搭建完成,登录之后就结束了。今天的任务就是初步验证环境的可用性,最直接的办法莫过于创建一个虚拟机了。

这不是一个零基础的 OpenStack 教程,以下内容假定读者已有一定的基本操作经验。

准备工作

首先,为了能够启动一个虚机,至少需要完成下面的准备工作:

新建镜像

新建规格

新建网络

这些操作都将在 dashboard 上完成,不涉及后台,所以和其它环境并没有什么不同。

新建镜像

首先下载一个专门用来测试的迷你 Linux 系统镜像,CirrOS,进入下载页面 后选择最新的 0.4.0 版本:

针对不同的 CPU 架构和使用场景,有不同的镜像格式:

点击直接下载最新的 64 位版本 cirros-0.4.0-x86_64-disk.img,镜像的文件格式是 qcow2

qcow2 是镜像的格式,有时保存为 .img 后缀,可用 file 命令查看。

$ file cirros-0.4.0-x86_64-disk.img cirros-0.4.0-x86_64-disk.img: QEMU QCOW Image (v3), 46137344 bytes 新建规格

因为我们在 VirtualBox 虚机中部署的 All-In-One 环境,本身也没有多少资源可用了,CirrOS 系统也不需要很多内存,我们就创建一个迷你的规格,

1 vCPU

512 MB 内存

1 GB 存储

满足测试即可。

新建网络

Kolla 部署环境时,已经默认配置了 VxLAN 类型的隧道网络,我们直接创建租户网络即可。

还记得我们安装系统时的第 2 块网卡么,那是专门给 Neutron 的外部网络准备的,本次实验我们暂时还用不到。

新建实例

然后开始新建实例,如果不出意外会遇到如下错误:

创建失败~~ 接下来让我们去后台检查并解决。

这里有可能会遇到另一个问题,错误日志会显示消息超时,错误原因是 nova-scheduler 服务在系统重启后有一定几率会启动失败,请参考下面的指导,重启服务即可。

检查服务状态

在平常部署的环境里,OpenStack 的各个服务安装后会在系统里注册为后台服务,我们查看服务的命令是和操作系统相关,例如:

$ systemctl status openstack-nova-api

使用了 kolla 部署的环境,所有的服务都是在 docker 容器中启动的,我们直接查看容器的状态就可以了:

$ sudo docker ps

可以看到每个服务都对应到一个容器。比如 nova 有几个子服务,nova-api,nova-compute 等,都是独立的容器。正如我前面说的,相对于以为的环境,对新手来说,到底一套 OpenStack 系统有哪些服务在运行,可能还不那么清楚,现在看上去一目了然。

注意,服务名是减号 - 连接,而容器的名字是用下划线 _ 连接

大部分情况下,容器内的服务出现问题,导致容器状态异常的情况下,它们都会自动重启。当然,也可能会有启动不了的情况。这时候,使用 docker ps 命令只会显示已经启动的容器,不能代表大家都正常,必须加上 -a 选项,列出所有容器:

$ sudo docker ps -a

各个容器看上去没什么异常,我们去检查一下服务的日志。

查日志

传统的安装方式中,每个服务在 /var/log 目录下有各自的日志文件保存路径,例如 /var/log/nova

现在每个服务都是一个容器,我们自然会想到登入到容器里面,查看相应的日志文件:

[kolla@control01 ~]$ sudo docker exec -it nova_compute bash (nova-compute)[nova@control01 /]$ cd /var/log/nova/ (nova-compute)[nova@control01 /var/log/nova]$ ls (nova-compute)[nova@control01 /var/log/nova]$ <-- 空的

竟然是空的!不过不用着急。我们不妨先思考下如果日志文件真的保存在容器中会怎样?

一个问题,或者说一个业务流程,往往会涉及到多个服务,也就是说,日常在排查问题时,需要查看多个日志文件。所以可以想见,像这样每个容器逐个进去查看文件,会非常地不方便。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyjpw.html