如何使用 OpenStack CLI - 每天5分钟玩转 OpenStack(22)

 

本节首先讨论 image 删除操作,然后介绍 OpenStack CLI 的使用方法,最后讨如何 Troubleshoot。

Web UI 删除 image

  1. admin 登录后,Project -> Compute -> Images

    在列表中选择格式为 ARI 和 AKI 的 image,点击
  2. 点击确认删除
  3. 操作成功

CLI 删除 image

  1. 设置环境变量
  2. 查询现有image

  3. 删除image

如何使用 OpenStack CLI

OpenStack 服务都有自己的 CLI。
命令很好记,就是服务的名字,比如 Glance 就是 glance,Nova 就是 nova。

但 Keystone 比较特殊,现在是用 openstack 来代替老版的 keystone 命令。
比如查询用户列表,如果用 keystone user-list

会提示 keystone 已经 deprecated 了。
用 openstack 命令代替

不同服务用的命令虽然不同,但这些命令使用方式却非常类似,可以举一反三。

1. 执行命令之前,需要设置环境变量。

这些变量包含用户名、Project、密码等;
如果不设置,每次执行命令都必须设置相关的命令行参数

2. 各个服务的命令都有增、删、改、查的操作

其格式是

CMD <obj>-create [parm1] [parm2]…
CMD <obj>-delete [parm]
CMD <obj>-update [parm1] [parm2]…
CMD <obj>-list
CMD <obj>-show [parm]

例如 glance 管理的是 image,那么:
CMD 就是 glance;obj 就是 image
对应的命令就有

glance image-create
glance image-delete
glance image-update
glance image-list
glance image-show

再比如 neutron 管理的是网络和子网等,那么:
CMD 就是 neutron;obj 就是 net 和 subnet
对应的命令就有

网络相关操作

neutron net-create
neutron net -delete
neutron net -update
neutron net -list
neutron net –show

子网相关操作

neutron subnet-create
neutron subnet -delete
neutron subnet -update
neutron subnet -list
neutron subnet–show

有的命令 <obj> 可以省略,比如 nova
下面的操作都是针对 instance

nova boot
nova delete
nova list
nova show

3. 每个对象都有 ID

delete,show 等操作都以 ID 为参数,例如

4. 可用 help 查看命令的用法

除了 delete,show 等操作只需要 ID 一个参数,其他操作可能需要更多的参数,用 help 查看所需的参数,格式是

CMD help [SUB-CMD]

例如查看 glance 都有哪些 SUB-CMD

查看 glance image-update 的用法

如何 Troubleshooting

OpenStack 排查问题的方法主要是通过日志,Service 都有自己单独的日志。
Glance 主要有两个日志,glance_api.log 和 glance_registry.log,保存在 /opt/stack/logs/ 目录里。

devstack 的 screen 窗口已经帮我们打开了这两个日志,可以直接查看

g-api 窗口显示 glance-api 日志,记录 REST API 调用情况
g-reg 窗口显示 glance-registry 日志,记录 Glance 服务处理请求的过程以及数据库操作

如果需要得到最详细的日志信息,可以在 /etc/glance/*.conf 中打开 debug 选项。
devstack 默认已经打开了 debug。

在非 devstack 安装中,日志在 /var/log/glance/ 目录里。

下节我们开始学习 Nova。

时间: 2024-10-23 21:50:46

如何使用 OpenStack CLI - 每天5分钟玩转 OpenStack(22)的相关文章

教你看懂 OpenStack 日志 - 每天5分钟玩转 OpenStack(29)

  instance 从创建到删除的整个生命周期都是由 Nova 管理的. 后面各小节我们以 instance 生命周期中的不同操作场景为例,详细分析 Nova 不同组件如何协调工作,并通过日志分析加深大家对 Nova 的理解. 在研究 Nova 各个操作之前,我们先来学习一个重要的内容:OpenStack 日志.OpenStack 的日志记录了非常详细的细节信息,是我们学习和 troubleshoting 的利器. 日志的位置 我们实验环境使用的是 devstack,日志都统一放在 /opt/

Troubleshooting OpenStack 瘫痪 - 每天5分钟玩转 OpenStack(160)

  这是 OpenStack 实施经验分享系列的第 10 篇. 是软件就会有 bug,OpenStack 也不例外,只要用它就一定会遇到故障.Troubleshooting(故障排除)是运维 OpenStack 等开源项目的重要技能,遇到问题后一定要借助社区的力量定位.搜索.分析并解决问题. 下面 CloudMan 将分享一个真实的案例,还原当时 Troubleshooting 的过程,希望能给大家一些启发. 问题描述 某天客户的 OpenStack 突然全线瘫痪:任何操作都无法正常完成,一直处

OpenStack 架构 - 每天5分钟玩转 OpenStack(15)

终于正式进入 OpenStack 部分了. 今天开始,CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱. OpenStack 已经走过了 6 个年头. 每半年会发布一个版本,版本以字母顺序命名.现在已经到第 12 个版本 Liberty(字母 L). OpenStack最初只有两个模块(服务),现在已经有 20+(见下图),每个模块作为独立的子项目开发. 面对如此庞大的阵容,作为初学者我们如何起步呢? 这也是 CloudMan 写这个系列教程的初衷: 通过实际操作帮助初学

写在最前面 - 每天5分钟玩转 OpenStack(1)

<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重实践并兼顾理论 主要从实际操作的角度带着大家学习 OpenStack.   为啥要写这个? 简单回答是:因为OpenStack 学习难度大,但如果掌握了价值会很大 先做一个自我介绍吧. 本人网名CloudMan,在 IT 这个行当已经摸爬滚打了十多年,05年之前是搞上层应用开发的,那时候 Java 比较火,所

cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)

本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件.  设置 hostname cloud-init 默认会将 instance 的名字设置为 hostname.但这样不太方便,有时希望能够将二者分开,可利用 cloud-init 的set_hostname 模块实现.set_hostname 它会查询 metadata 中 hostname 信息,默认值就是 instance 的名字.我们可以指定自己的 hostname,方法是将下面的内容传给

学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)

作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder 和 Neutron.请大家看下图: 此图截自 https://www.openstack.org/software/project-navigator/,这是 OpenStack 官方定义的 6 个 Core Service.每个模块都会从三个维度来衡量: ADOPTION - 采用度 MATUR

Cinder 组件详解 - 每天5分钟玩转 OpenStack(47)

本节我们将详细讲解 Cinder 的各个子服务. cinder-api cinder-api 是整个 Cinder 组件的门户,所有 cinder 的请求都首先由 nova-api 处理.cinder-api 向外界暴露若干 HTTP REST API 接口.在 keystone 中我们可以查询 cinder-api 的 endponits. 客户端可以将请求发送到 endponits 指定的地址,向 cinder-api 请求操作. 当然,作为最终用户的我们不会直接发送 Rest API 请求

Nova 组件详解 - 每天5分钟玩转 OpenStack(26)

本节开始,我们将详细讲解 Nova 的各个子服务. 前面架构概览一节知道 Nova 有若干 nova-* 的子服务,下面我们将依次学习最重要的几个.今天先讨论 nova-api 和 nova-conductor. nova-api Nova-api 是整个 Nova 组件的门户,所有对 Nova 的请求都首先由 nova-api 处理. Nova-api 向外界暴露若干 HTTP REST API 接口. 在 keystone 中我们可以查询 nova-api 的 endponits. 客户端就

1 张图秒懂 Nova 16 种操作 - 每天5分钟玩转 OpenStack(44)

前面我们讨论了 Instance 的若干操作,有的操作功能比较类似,也有各自的适用场景,现在是时候系统地总结一下了. 如上图所示,我们把对 Instance 的管理按运维工作的场景分为两类:常规操作和故障处理. 常规操作 常规操作中,Launch.Start.Reboot.Shut Off 和 Terminate 都很好理解. 下面几个操作重点回顾一下: Resize通过应用不同的 flavor 调整分配给 instance 的资源. Lock/Unlock可以防止对 instance 的误操作