Openstack常用命令

2023-11-03

目录

一、创建用户

二、创建删除模板和模板其他操作

三、创建更新删除镜像

四、创建网络

五、VPN的使用

六、创建容器swift模块


前言:

在linux中使用openstakc命令前 需要source /etc/keystone/admin-openrc.sh 获取令牌

一般每个模块的命令都有create、delete、list、show等常规命令

 一、创建用户

openstack user --help 可以查看命令行的详细信息

  user create 创建一个用户
  user delete 删除一个用户
  user list 列出所有用户
  user password set 为用户创建一个密码
  user show 列出用户详细信息

openstack user create --domain demo --password 000000 --description csdn-giantfox giantfox

| Field               | Value                            |
+---------------------+----------------------------------+
| description         | csdn-giantfox                    |
| domain_id           | a38fc98e1d3d4ae3b627e300bc55fb8f |
| enabled             | True                             |
| id                  | 23bd115fbef94cf7871d63db3b4d754b |
| name                | giantfox                         |
| options             | {}                               |
| password_expires_at | None 

 如果删除用户直接 可以用openstack user delete 用户的ID或者名称

二、创建删除模板

openstack flavor create --ram 1024 --vcpus 2 --disk 20 --swap 10 --id 666  giantfox

+----------------------------+----------+
| Field                      | Value    |
+----------------------------+----------+
| OS-FLV-DISABLED:disabled   | False    |
| OS-FLV-EXT-DATA:ephemeral  | 0        |
| disk                       | 20       |
| id                         | 666      |
| name                       | giantfox |
| os-flavor-access:is_public | True     |
| properties                 |          |
| ram                        | 1024     |
| rxtx_factor                | 1.0      |
| swap                       | 10       |
| vcpus                      | 2        |
+----------------------------+----------+

openstack flavor delete giantfox

模板即被删除

  flavor create 创建
  flavor delete 删除
  flavor list 列出所有flavor类型        
  flavor set  新增添信息
  flavor show 列出某一flavor的详细信息

 三、镜像相关操作

镜像操作有两种 一个是glance 和 常规oepnstack image 这两个差不多类似 两者都会讲到

openstack image create  --container-format bare --disk-format qcow2 --min-disk 10 --min-ram 1024 --shared --tag giantfox --file CentOS-7-x86_64-2009.qcow2 centos0 

+------------------+------------------------------------------------------+
| Field            | Value                                                |
+------------------+------------------------------------------------------+
| checksum         | c939f3fc8bc41f0b0a0a5fa6f2a4ce83                     |
| container_format | bare                                                 |
| created_at       | 2022-10-25T02:21:43Z                                 |
| disk_format      | qcow2                                                |
| file             | /v2/images/26d1e1a8-77c0-4c95-b97e-488c3ed53154/file |
| id               | 26d1e1a8-77c0-4c95-b97e-488c3ed53154                 |
| min_disk         | 10                                                   |
| min_ram          | 1024                                                 |
| name             | centos0                                              |
| owner            | 1cfd6c8e24c840769dc72145df7cd508                     |
| protected        | False                                                |
| schema           | /v2/schemas/image                                    |
| size             | 399900672                                            |
| status           | active                                               |
| tags             | giantfox                                             |
| updated_at       | 2022-10-25T02:21:45Z                                 |
| virtual_size     | None                                                 |
| visibility       | shared                                               |
+------------------+------------------------------------------------------+

以上创建了一个最小硬盘为10G 内存为1G的镜像 --tag是打标签 --shared是共享镜像 --progress 是查看镜像上传的进程

测试完毕后通过openstack image delete centos0 删除镜像

glance 命令模式为

glance image-create --name centos0 --disk-format qcow2 --container-format bare --min-disk=10 --min-ram 1024 --file CentOS-7-x86_64-2009.qcow2 

glance还有一个命令是很有用的 当我们创建一个项目时里面的用户是看不到此镜像的 因为我们要把镜像共享出去并更新镜像可以使用

#首先我们创建一个项目

openstack project create --domain demo deyA

#创建一个用户

openstack user create --domain demo --paasword 123456 userA

#将用户和项目绑定

openstack role add --project deyA --user userA user

#使用命令查看用户和租户

[root@controller ~]# openstack project list    
+----------------------------------+---------+
| ID                               | Name    |
+----------------------------------+---------+
| 1cfd6c8e24c840769dc72145df7cd508 | admin   |
| 2a74116c0dd94b5db1b75be5f3e9eab6 | deyB    |
| 47c79b3db9554e5db36dceb26dc4f7cb | demo    |
| 78a8b881e79c46d4a19104671ddd7534 | service |
| 957a2695eb7c4af59307c33048d03322 | deyA    |
+----------------------------------+---------+

[root@controller ~]# openstack user list                  
+----------------------------------+-----------+
| ID                               | Name      |
+----------------------------------+-----------+
| 06b6cbe057264218b324b0bd29b99f8e | swift     |
| 23bd115fbef94cf7871d63db3b4d754b | giantfox  |
| 4a4e0697cae24eea83c8c9de2ff92a49 | neutron   |
| 51ed1e29c9584fa88171787d405cfdef | useraaj1  |
| 6ea87548e62c44608603a57932900fca | useraa1   |
| 718523b8ba3441cca7b7ee43ef264d1d | demo      |
| 8afea25eea1a480c9cd919f7575dd82e | cinder    |
| 932bf7389126430a820de77f90a79158 | placement |
| 9e20393dca944d29a0598806ac4b6665 | nova      |
| b24ba1364b0f462bba95550993294302 | glance    |
| cc6486aaacc44b7caebb3e0a5b2180da | userB     |
| d699ff9a733f4cf3a16c9f8b119eb489 | admin     |
| de9b6b0e061d40fb8bdf2b4616a25dec | user1     |
| e6a7f018d5984d53930207b1708eac64 | userA     |

+----------------------------------+-----------+

可见 用户已经创建

但用户userA是看不到 我们刚才创建的centos0 镜像的

首先将镜像共享给A租户,命令格式为glance member-create <image id> <project id>,命令如下所示

glance member-create 1d50e278-c14c-47f0-8307-a79b77418ed9 957a2695eb7c4af59307c33048d03322

在共享之后,镜像的状态是pending状态,此时还需要激活镜像,命令如下:

glance member-update 1d50e278-c14c-47f0-8307-a79b77418ed9 957a2695eb7c4af59307c33048d03322 accepted

此时镜像的状态就变为了accepted,切换至userA账户中查看镜像列表信息,命令如下所示:

export OS_PROJECT_NAME=deyA

export OS_USERNAME=userA

export OS_PASSWORD=123456

glance image-list

可以查看到镜像了

四 、创建网络

#创建vlan类型的网络

openstack network create --provider-network-type vlan --provider-physical-network provider network-vlan --provider-segment 2000

#添加子网

openstack subnet create --network network-vlan --allocation-pool start=192.168.200.100,end=192.168.200.200 --gateway 192.168.200.1 --subnet-range 192.168.200.0/24 subnet-vlan

#创建flat类型的网络

openstack network create --provider-network-type flat --provider-physical-network provider network-flat --share 

#添加子网

openstack subnet create --network network-flat --allocation-pool start=192.168.200.100,end=192.168.200.200 --gateway 192.168.200.1 --subnet-range 192.168.200.0/24 subnet-flat

--internal 创建的是内网

--external 创建外网

五、VPN的添加与使用

Openstack Havana 版本中, Neutron 增加的一个功能就是 VPNaas ,将 VPN 功能引
入到了 Neutron 中,虽然在 Havana 版中只支持 IPSec 协议的 VPN ,功能还比较弱,但这
个关键特性已经有了,后续会不断加强该特性。
VPN 可以通过在 L2 L3 层建立一条逻辑链路,让广域网上多个内网能够相互访问。 VPN
的实现方式很多,有基于租用专用物理线路实现的,也有基于以太网的虚连接的实现方
# 这里不做详细的操作了 若有需要可以私信我

六、创建容器

container相关命令

  container create
  container delete
  container list
  container save
  container set
  container show
  container unset

与上面的命令类似 这里多了一条container save的命令

openstack container create giantfox #创建一个名字叫做giantfox的容器

swift 命令

delete  删除容器中的一个或多个对象。

download下载从容器下载对象。

list列出帐户或对象的容器

post更新帐户、容器、容器的元信息,或对象;如果不存在,则创建容器。

copy复制对象,可选添加元

stat显示帐户、容器或对象。

upload将文件或目录上载到给定容器。列出群集功能。

tempurl创建临时URL。

auth显示与auth相关的环境变量。

swift upload giantfox -S 10000000 cirros-disk.qocw2 # 将镜像上传到容器并切片保存

swift post giantfox 也可以用这个命令 创建容器

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Openstack常用命令 的相关文章

  • 如何获取 linux 实用程序 tail 的源代码?

    这个命令确实非常有用 但是我可以在哪里获取源代码以查看内部发生的情况 thanks tail 实用程序是 Linux 上 coreutils 的一部分 源压缩包 ftp ftp gnu org gnu coreutils coreutils
  • 如何用X11复制到剪贴板?

    使用 OS X 上的框架 我可以使用以下命令将 PNG 复制到粘贴板 在 C 中 显然我可以将 NSPasteboard 与 Cocoa 一起使用 include
  • 如何使用 PKAddPassButton 创建“添加到苹果钱包”按钮以进行本地化通行证

    在我的 iOS 项目中 我有一个屏幕 允许用户创建苹果通行证并将其添加到钱包中 Apple 建议使用 PKAddPassButton 创建 添加到苹果钱包 按钮 当我尝试使用以下代码创建苹果通行证时 let passButton PKAdd
  • 如何将 4 个字节转换为 Swift 浮点数?

    我正在用 Swift 编写一个 MsgPack 解析器作为学习该语言的一种方式 感觉不太适合这项任务 但我一直在进步 现在我遇到了一个块 我似乎无法说服它将 4 个字节转换为浮点数 var bytes Array
  • InstaPy:“错误,无法确定 64 位 Linux 的正确文件名”

    有人知道如何解决或解决这个问题吗 来自控制台的堆栈跟踪 执行后报告错误 InstaPy Version 0 6 9 Workspace in use home zanettra InstaPy Error unable to determi
  • 如何让 clangd 转向 c++20

    当没有其他信息时 如何让 clangd 回退到 c 20 例如 在第一次构建之前 cmake 可以生成一个 这是在带有最新 LLVM 的 Arch Linux 上 这是通过 Emacs LSP 运行的 但这应该没有什么区别 你可以加 Com
  • 构建 makefile 依赖/继承树

    如果我解释得不好或者问了一些明显的问题 我很抱歉 但我是 Linux 内核的新手 而且有点深入 我们有一个嵌入式 Linux 系统 它附带一个 文档非常糟糕的 SDK 其中包含数百个文件夹stuff 大多数文件夹包含rules make m
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • 领域数据库对象看起来是空的,但实际上不是

    我在用Realm https realm io对于一个小而简单的项目 我正在使用最新版本的框架 昨天从 Github 编译 和当前 AppStore 版本的 Xcode with Swift 2 1 我正在通过 segue 将 Realm
  • 使用 Metal 高效计算 UIImage/CIImage 中有多少透明像素

    我们可以计算有多少个透明像素的最快方法是什么CIImage UIImage 例如 如果我们谈论效率 我的第一个想法是使用Metal Kernel使用任一CIColorKernel左右 但我不明白如何使用它来输出 计数 我还有其他想法 使用某
  • Xcode 6.4 Swift 单元测试无法编译:“GPUImage.h 未找到”“无法导入桥接标头”

    我的 Xcode 项目构建并运行良好 它有 Swift 和 Objective C 代码 它已安装 GPUImage 我向它添加了单元测试 现在它将不再编译 找不到 GPUImage h 文件 导入桥接标头失败 以下是我发现并尝试过的解决方
  • Inotify linux 监视子目录

    是否可以以这种模式监视目录 storage data usernames Download gt storage data Download 我需要监视每个用户的下载文件夹中是否进行了更改 也许我需要创建所有路径的列表 将其放入数组中 并在
  • 在 SwiftUI 中,如何执行手势但将手势转发到其后面的视图?

    我正在创建一个工具提示系统 如果用户触摸工具提示之外的任何地方 我想关闭工具提示 我希望这样在工具提示之外的触摸既可以消除工具提示 又可以激活用户点击的任何控件 因此 您可以打开一个工具提示 然后仍然单击工具提示外部的按钮 并在第一次点击时
  • 具有透明背景的 Swift 模态视图控制器 [重复]

    这个问题在这里已经有答案了 我知道这个话题很受欢迎 但我在编程语言中遇到了一些问题 事实是我仍然不明白我把代码放在哪里 好吧 我就来说说整个案子 我正在尝试制作一个与正常情况稍有不同的模态 Swift 通过单击按钮 ViewControll
  • 如何以编程方式从Linux中的进程名称获取进程ID

    在我的项目中 我们使用 ACE 自适应通信环境 中间件来编写可在 Windows 和 Linux 上运行的独立于操作系统的代码 要求是从进程名称中获取进程 ID 由于 ACE 不支持这一点 因此我们必须使用特定于平台的宏来分离 Window
  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • CIAdditionCompositing 给出不正确的效果

    我正在尝试通过平均其他几个图像来创建图像 为了实现这一点 我首先将每个图像变暗 其系数等于我平均的图像数量 func darkenImage by multiplier CGFloat gt CIImage let divImage CII
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 如何在特定 systemd 服务重新启动时触发自定义脚本运行

    我想知道如何安排自定义脚本在重新启动服务时运行 我的用例是 每当重新启动 Tomcat 服务时 我都必须运行多个命令 我想知道是否有一种方法可以编写脚本并安排它在重新启动 Tomcat 服务时运行 我已将 tomcat 脚本设置为 syst
  • 未捕获的 Kotlin 异常:kotlin.native.In CorrectDereferenceException:非法尝试访问非共享

    我尝试使用 Kotlin MPP Multiplatform 开发 Android 和 iOS 之间的共享库 但我面临着 iOS 中线程的问题 对于我在 iOS 中的应用程序 我在主线程中建立了对象 但它可能调用其他线程中的函数并抛出此异常

随机推荐

  • 标准库类型sring

    1 string 类型表示可变长的字符序列 需要包含头文件 include 2 定义和初始化 string 对象 拷贝初始化 使用了 号 直接初始化 用 3 string 对象的操作 cin lt lt string 会忽略前面的空白的无效
  • Java访问数据库的速度瓶颈问题的分析及解决

    内容 速度瓶颈问题的提出 JDBC访问数据库的机制 不同模式的 JDBC接口的选择 Java程序中SQL语句格式的优化 软件模型中对数据库访问的设计模式的优化 将深入研究的问题 参考资料 关于作者 FoolsGarden SMTH 自由Ja
  • 解决VS Code连接远程服务器使用Python中的matplotiib包画图无法显示的问题

    项目场景 在使用VS Code连接远程服务器使用Python中的matplotiib包画图时 会出现无法显示的问题 问题描述 在直接执行画图程序时 会报错 RuntimeError Invalid DISPLAY variable 原因分析
  • [Java学习]报错:类 OperatorDemo01 是公共的, 应在名为 OperatorDemo01.java 的文件中声明

    搭建好环境 用notepad 编写完程序 打开cmd编译文件 算数运算符 public class OperatorDemo01 public static void mian String args int a 6 int b 4 Sys
  • 编译原理(第四版)复习 (一)

    第一章 编译概述 编译程序 将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序 解释程序 也是一种翻译程序 将源程序翻译并执行 边解释边执行 两者的区别 解释程序的执行过程不会生成目标程序 编译过程的5个阶段 词法分析 语法分析
  • 用Python实现进制转换,这一篇教程就够了

    Python 实现进制转换 一 导言 导语 在计算机进行数据交换时 常常会有一个进制转换的过程 我们知道计算机只认0 和 1 在内存系统中 基本基于二进制进行运算的 但是有时候数据过于庞大 为了方便存储管理 计算机会使用十六进制存储数据 但
  • GNU-ld链接脚本浅析

    0 Contents 1 概论 2 基本概念 3 脚本格式 4 简单例子 5 简单脚本命令 6 对符号的赋值 7 SECTIONS命令 8 MEMORY命令 9 PHDRS命令 10 VERSION命令 11 脚本内的表达式 12 暗含的连
  • web前后端分离

    1 介绍 参考链接 https www cnblogs com leotsai p vuejs front backend architecture html 前后端分离的话 则可以很好的解决前后端分工不均的问题 将更多的交互逻辑分配给前端
  • JDBC学习(四)时间类型

    在Java代码中 java sql包原则上不能出现在DAO以外的地方 数据库和java中的时间类型的对应关系 DATE gt java sql Date TIME gt java sql Time TIMESTAMP gt java sql
  • 概念基础:恶意软件混淆的方法

    2020 05 20 看了一些网站的内容 发现主要存在四种方式 xor 加壳 base64编码 rot13 arm的一个指令 1 2 分别是简答介绍了这集中方式 3 是一个实验室的工具 可以取出一些混淆的字符串 但是只支持pe格式 在原理方
  • Android和iOS 测试五个最好的开源自动化工具

    本文主要介绍Android和iOS 五个最好的开源自动化工具 这里整理了相关资料 希望能帮助测试软件的朋友 有需要的看下 自动化测试在产品测试上有着非常重要的作用 实现测试自动化有多种积极的方式 包括最大限度地减少测试执行时间 在关键的发布
  • 相约久久网 -- 有很多东西值得学习

    http www meet99 com 转载于 https www cnblogs com yqskj archive 2012 10 07 2714622 html
  • flutter 怎么实现app整体灰度

    今天举国哀悼 进入各种大厂的app也可以看到主色都变成灰色的了 作为程序员我们肯定会想怎么可以实现的 我简单研究了10分钟 flutter中只要在整体外面套一个ShaderMask 然后修改blendMode即可 核心代码 class My
  • CentOS7目录结构详细版

    原文地址 http www cnblogs com ellisonDon archive 2012 10 03 2710730 html 原文地址 https www cnblogs com ellisonDon archive 2012
  • SpringBoot集成ShardingJDBC系列【2】—— 基于yaml基本配置

    文章只负责讲解sharding的相关配置 springboot其他的配置自己解决 文章内容将分开发布 便于平时查阅 基于yaml基本配置 在application yml配置文件中对mybatis plus做简单的配置 这里不对Mybati
  • Flutter设置Container的高度随ListView或者GridView

    在做移动端的时候 很多时候会需要下图所示的需求 如图1美团外卖首页的一部分 先进行需求分析 这个模块可以设计成Container包含GridView GridView中子内容个数由后台数据控制 但是在直接写Container包含GridVi
  • 第130篇 在 OpenSea 上创建自己的 NFT 商店(2)

    本文介绍一种通过自己部署智能合约 在 OpenSea 上创建自己的 NFT 商店的方法 1 ERC721合约 写一个最简单的标准 ERC721 合约 源码 SPDX License Identifier MIT pragma solidit
  • java 简介

    java 简介 1991 年Sun公司的James Gosling 詹姆斯 高斯林 等人开始开发名称为 Oak 的语言 希望用于控制嵌入在有线电视交换盒 PDA等的微处理器 1994年将Oak语言更名为Java 1 java体系结构 j2s
  • C语言笔记 指针 数组

    C语言中 指针做函数参数传递二维数组有两种基本方法 1 传递 数组指针 include
  • Openstack常用命令

    目录 一 创建用户 二 创建删除模板和模板其他操作 三 创建更新删除镜像 四 创建网络 五 VPN的使用 六 创建容器swift模块 前言 在linux中使用openstakc命令前 需要source etc keystone admin