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常用命令 的相关文章

  • 在其他数组中使用 ForEach 的索引

    为什么我不能使用 FromEach 的索引作为其他数组的索引 这个索引是Int 那么有什么问题呢 var word String return slova selector var symbols Array
  • 是否可以将 Swifts 自动数值桥接复制到 (U)Int8/16/32/64 类型的 Foundation (NSNumber)?

    Question 是否可以将 Swifts 数值桥接复制到 Foundation sNSNumber参考类型 例如Int32 UInt32 Int64 and UInt64类型 具体来说 复制下面介绍的自动按分配桥接 这种解决方案的预期用法
  • 内核的panic()函数是否完全冻结所有其他进程?

    我想确认内核的panic 功能和其他类似kernel halt and machine halt 一旦触发 保证机器完全冻结 那么 所有的内核和用户进程都被冻结了吗 是panic 可以被调度程序中断吗 中断处理程序仍然可以执行吗 用例 如果
  • iOS推送通知:当应用程序处于后台时,如何检测用户是否点击了通知?

    关于这个主题有很多 stackoverflow 线程 但我仍然没有找到好的解决方案 如果应用程序不在后台 我可以检查launchOptions UIApplicationLaunchOptionsRemoteNotificationKey
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • linux下如何从文本文件中获取值

    我有一些文本格式的文件 xxx conf 我在这个文件中有一些文本 disablelog 1 当我使用 grep r disablelog oscam conf 输出是 disablelog 1 但我只需要值1 请问你有什么想法吗 一种方法
  • 如何使用Android获取Linux内核的版本?

    如何在 Android 应用程序中获取 Linux 内核的版本 不是 100 确定 但我认为调用 uname r 需要 root 访问权限 无论如何 有一种不太肮脏的方法可以做到这一点 那就是 System getProperty os v
  • .showsPhysics 内存泄漏

    我最近花了 5 个小时尝试调试 Spritekit 应用程序中的内存泄漏 应用程序启动后 我注意到内存使用量略有上升 我花了 5 个小时中的 3 个小时挖掘参考资料 了解强与弱的关系ARC https developer apple com
  • 如何从 ContentView 外部显示 SwiftUI 警报?

    我正在构建 Swift 应用程序 并试图找出如何显示警报 我有一个单独的 swift 文件正在执行一些计算 并且在某些条件下我希望它向用户显示警报 基本上告诉他们出了问题 然而 我见过的大多数例子都要求警报在ContentView或以其他方
  • Swift SpriteKit edgeLoopF​​romRect 问题

    下面的代码可以识别底部和顶部边缘场景和球按预期弹开 但是 那左边缘和右边缘现场的情况一直被破坏 如果施加足够的力 球会离开屏幕 然后最终返回 就好像场景的边缘超出了 iPhone 模拟器窗口的边缘 import SpriteKit clas
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 无法在 Swift 中对闭包进行弱引用

    Update 我试着不弱化地写一下 好像也没有漏的情况 所以也许这个问题已经没有必要了 在 Objective C ARC 中 当你想让一个闭包能够在闭包内部使用它自己时 该块不能捕获对自身的强引用 否则它将是一个保留循环 因此您可以使闭包
  • 检查已安装的软件包,如果没有找到则安装

    我需要检查已安装的软件包 如果未安装则安装它们 RHEL CentOS Fedora 示例 rpm qa grep glibc static glibc static 2 12 1 80 el6 3 5 i686 如何在 BASH 中进行检
  • 为什么同一个curl命令在windows和linux下输出不同的东西?

    为什么同样的curl o file https www link com 命令输出不同的东西 例如 如果我运行命令curl o source txt https www youtube com playlist list PLIx6Fwnp
  • 根据一个数组对多个数组进行排序

    如何根据数组对一堆数组进行排序createdAt 例如 2015 11 02 19 19 35 0000 将它们组合成另一种类型 字典 以便在 tableView 中使用是否有益 如果有的话如何 var comment AnyObject
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • iOS:如何知道 reloadData() 已完成其任务?

    我想滚动到给定索引 self boldRowPath 但是当我调试时scrollToRow之前执行reloadData 如何知道reloadData已完成 func getAllTimeEvent self arrAllTimeEvent
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • 如何更改 SwiftUI 列表中分隔符的颜色?

    我在 SwiftUI 中创建了一个列表 我想更改颜色或删除分隔符 因为在 UIKit 中 我们可以轻松更改 TableView 中分隔符的颜色 下面是 SwiftUI 中列表的代码和 UI 图片 State private var user

随机推荐

  • 标准库类型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