OpenStack常用命令 您所在的位置:网站首页 openstack查看网络组件命令 OpenStack常用命令

OpenStack常用命令

2024-02-21 04:32| 来源: 网络整理| 查看: 265

一、keystone常用命令:

创建项目(租户):

openstack project create --description "Test Project" test

更改项目名称:

openstack project set 93f6b89e92dc4ed3b758f530bc2da84e --name test-new

 查看项目的详细信息:

openstack project show 93f6b89e92dc4ed3b758f530bc2da84e

 查询所有租户信息:

openstack project list

删除项目(租户):

openstack project delete 93f6b89e92dc4ed3b758f530bc2da84e

查询所有用户信息,如下所示。

openstack user list

 创建用户(手动输入密码):

openstack user create --domain default --password-prompt tom

 创建用户,直接指定密码:

openstack user create --domain default --password=tom tom

 更改用户信息:

openstack user set tom --name tom-new

删除名为“tom-new”的用户。

openstack user delete tom-new

查询所有角色信息:

openstack role list

创建角色:

openstack role create role1

将角色赋予用户。

openstack role add --user testuser --project demo role1

查看用户的角色分配的结果。

openstack role list --user testuser --project demo

删除用户角色分配信息:

openstack role remove --user testuser --project demo role1

删除角色“role1”。

openstack role delete role1 二、glance常用命令

查询所有镜像:

openstack image list

创建名为test的镜像:

openstack image create ‘test’ --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public #--container-format 镜像容器格式,是将镜像文件打包成可供OpenStack使用的格式。 #它定义了如何存储和管理镜像文件。bare:这是最简单的镜像容器格式,它将镜像文件 #直接储存在一个文件中,没有进行任何压缩或加密。

更新镜像test为私有属性:

openstack image set test --private

 删除镜像:

openstack image delete cirros

查看镜像的详细信息:

openstack image show cirros

将镜像与项目进行关联:

openstack image add project cirros projectName

 移除镜像与项目的关联:

openstack image remove project cirros projectName  三、实例规格 flavor 管理

创建实例类型: 

openstack flavor create --id 1234 --vcpus 1 --ram 64 --disk 1 m1.nano # --vcpus 虚拟机的核数 # --disk 默认以GB为单位 # --ram 默认以MB为单位 # 实例类型ID:实例类型ID是全局唯一的,它可以是整数,也可以是自动生成的UUID。 # 实例类型名称:实例类型标识字段。 # 虚拟内核:需要使用的虚拟CPU核数。 # 内存:需要使用的内存大小(MB)。 # 根磁盘:虚拟机实例的根(/)文件系统所需的磁盘空间(GB)。 # 临时磁盘:虚拟机实例使用的临时磁盘空间,默认值为0。临时磁盘来源于本地存储,供虚拟机实例使用。 # 当关闭虚拟机实例时,临时磁盘中的数据会丢失。 # 交换空间:虚拟机实例需要使用的交换空间(MB),默认值为0。 # RX/TX因子:定义输入输出与网络硬件带宽的比例。缺省值是1即和硬件带宽相同。

查询所有实例类型:

openstack flavor list

 删除实例类型(可以根据id删除,也可以根据名称删除):

openstack flavor delete 1234

 查询实例类型详细信息:

openstack flavor show 1234 四、neutron 常用命令

创建vxlan类型的netowrk(交换机):

openstack network create --provider-network-type vxlan inside

查询所有的network:

openstack network list

查询network的详细信息: 

openstack network show inside1

 删除指定的network:

openstack network delete inside1

 创建名为inside的网段:

openstack subnet create --subnet-rang 10.0.0.0/24 --network inside1 net1

列出所有网段: 

openstack subnet list

 查询网段的详细信息: 

openstack subnet show net1

 删除指定的网段:

openstack subnet delete net1

创建外部网络network:

openstack network create --external --provider-physical-network external --provider-network-type flat outside # --external 表示这是一个外部网络 # --provider-physical-network 将物理网络也就是网卡映射到某个虚拟的网络, # 在将虚拟网络赋值给该网络,映射关系在openvswitch.ini文件中

给外部网络添加子网:

openstack subnet create --subnet-rang 172.16.1.0/24 --network outside outnet

创建路由器:

openstack router create R1

 查看路由器详细信息:

openstack router show R1

列出所有的路由器:

openstack router list

删除路由器:

openstack router delete R1

 查看安全组列表:

openstack security group list

 给虚拟机设置安全组:

openstack server create --flavor small --image cirros --network=652773a0-ff6f-427b-a159-0b42f7f52ffc --security-group default vm1

 查看节点中的LinuxBridge:

brctl show

查看节点的网络信息:

ip a

 给路由器添加外部网关:

openstack router set R1 --external-gateway outside # 这里设置路由器网关是指向我们刚刚创建的外部网络,因为我们为外部网络创建过一个 # 网段,路由器会直接连到这个网段,获取一个ip地址

 给路由器添加子网:

openstack router add subnet R1 net1

给路由器移除子网:

openstack router remove subnet R1 net1

查看路由器的端口信息:

openstack port list --router R1

删除网络与路由器的时候需要按照顺序删除(先移除虚拟机上所有子网,再删除路由器):

openstack router remove subnet R1 net1 openstack router delete R1

查看所有的命名空间:

ip netns list # 命名空间起到隔离网络资源的作用,例如一台虚拟机与一台DHCP服务器处于同一个命名空间 # 不同的主机去找自己对应的DHCP服务器查找地址

进入路由器所在的命名空间执行命令:

ip netns exec qrouter-fjsofdf-asfsd-fsidfhs ip a

查看路由器的转发规则:

ip netns exec qrouter-003fjjs-jfsiodf-vbs iptables -t nat -S # 我们配置的snat都是在路由器中的iptable进行设置的,他帮我们做的地址转换 五、RabbitMQ的常用命令

创建登录rabbitmq的用户:

rabbitmqctl add_user openstack admin

给用户赋所有权限:

rabbitmqctl set_permissions openstack ".*" ".*" ".*"

将用户设置为该管理员:

rabbitmqctl set_user_tags openstack administrator 六、虚拟机 server 管理

查虚拟机列表:

openstack server list

为虚拟机添加安全组:

openstack server add security group vm1 test

 为虚拟机添加固定IP(fixed IP)

openstack server add fixed ip vm1 192.168.1.5

为虚拟机添加浮动IP(Float IP)

openstack server add floating ip vm1 192.168.1.5

 为虚拟机移除安全组:

openstack server remove security group vm1 test

 为虚拟机移除固定IP(fixed IP)

openstack server remove fixed ip vm1 192.168.1.5

为虚拟机移除浮动IP(Float IP)

openstack server remove floating ip vm1 192.168.1.5

暂停虚拟机:

openstack server pause vm1

 恢复暂停的虚拟机:

openstack server unpause vm1

 挂起虚拟机:

openstack server suspend vm1

 恢复挂起的虚拟机:

openstack resume server vm1

 删除虚拟机:

openstack server delete vm1

 创建虚拟机:

openstack server create --flavor small --image cirros --network=652773a0-ff6f-427b-a159-0b42f7f52ffc default vm1

查当前节点上创建的虚拟机:

virsh list

登录虚拟机内部:

virsh console instance-42923201 七、主机聚合aggregate

 创建主机集合:

openstack aggregate create --zone xx agg1 # --zone 任意定义一个区域 #主机集合是管理员根据硬件资源的某一属性来对硬件进行划分的功能,只对管理员可见, #主要用来给nova-scheduler组件通过某一属性来进行实例的调度。创建主机集合时, #需要设置可用域,可用域通常是对Computes节点上的资源在小的区域内进行逻辑上的分组和隔离。 #例如在同一个数据中心,可以将可用域规划到不同的机房,或者在同一机房的几个相邻的机架, #从而保障如果某个可用域的节点发生故障(如供电系统或网络),而不影响其他的可用域上节 #点运行的虚机,通过这种划分来提高OpenStack的可用性。主机集合是在可用域的基础上更进一 #步地进行逻辑的分组和隔离。例如可以根据不同的Computes节点的物理硬件配置将具有相同共性 #的物理资源规划在同一主机集合之下,或者根据用户的具体需求将几个Computes节点规划在具有 #相同用途的同一主机集合之下,通过这样的划分有利于提高OpenStack资源的使用效率。创建一个 #主机集合,需要选择放在里面的主机,主机可以存在于多个集合中。

 删除主机集合:

openstack aggregate delete agg1

 查看主机集合列表:

openstack aggregate list

 查看主机集合详细信息:

openstack aggregate show agg1

 给主机集合增加主机:

openstack aggregate add host compute

 给主机集合移除主机:

openstack aggregate remove host compute  八、安全组管理 安全组是一系列IP过滤规则的集合,控制对虚拟机实例的网络访问,实现相互信任的 虚拟机之间的通信。安全组类似防火墙,它是重要的安全隔离手段,通过设定各安全组 之间的安全规则,可搭建复杂的多层访问控制体系,达到系统整体安全。所有的租户都 有一个默认的安全组,这个是不能被删除的。建立虚拟机实例时,默认使用该安全组。 安全组具有如下特性: 1、 可按安全组、源IP、目的端口、内外网访问等条件进行访问控制。 2、 位于同城不同机房中的虚拟机实例,只要内网连通,可以工作在同一个安全组中。 3、 一个安全组可以包含多个虚拟机实例,但一个虚拟机实例也可以属于多个安全组。 4、 同一安全组中的虚拟机实例,默认互通。 5、 不论是否属于同一安全组,虚拟机都不能以任何方式查看其它虚拟机的网络流量。 安全组规则可控制允许到达与安全组相关联的虚拟机实例的入站流量以及允许离开虚拟 机实例的出站流量。没有任何其他规则的情况下,新建的安全组将拒绝所有入口流量, 并允许所有出口流量。安全组规则可以随时修改、修改后会立刻生效并应用于所有关联 的实例。对于安全组的每条规则,必须指定以下几项内容: (1)规则(协议类型):例如TCP、UDP和ICMP等。 (2)端口:可以输入单个端口(如8080)或一定的端口范围(如1-65535)。 (3)远程(访问类型):允许通过该规则的流量来源,可以通过以下两种方式实现: IP地址块:用于指定安全组开放的源或目的IP地址。如填写0.0.0.0/0表示允许所有IP地址访问。 安全组:该安全组中的任何实例都被允许使用该规则访问任一其它实例。 安全组的数量限制和安全组规则的数量限制分别由“/etc/nova/nova.conf”文件中“security_groups”和“security_group_rules”参数控制。

创建安全组:

openstack security group create hello --description "allow ping and ssh"

列出项目组中的安全组:

openstack security group list --project admin

查看安全组中的详细信息:

openstack security group show fhsifhsdfhsdf

 配置远端访问自己:

openstack security group rule create --remote-ip 10.1.1.4 1to3only

为虚拟机添加安全组:

openstack server add security group vm3 1to3only

为虚拟机移除安全组:

openstack server remove security group vm3 1to3only

查看虚拟机的安全组配置:

openstack server show rewww1231

查询指定安全组的规则:

openstack security group rule list hello

添加安全组规则到指定的安全组:

openstack security group rule create --protocol tcp --dst-port 22 hello

删除安全组规则:

openstack security group rule delete 18ab7052-d416-45af-9de3-cea39109e6ec

删除安全组:

openstack security group delete hello

查询安全组相关的参数:

openstack security group rule create -h

 列出所有的安全组规则:

openstack security group rule list # ID:每个安全组规则的唯一标识符。 # Security Group:规则所属的安全组。 # IP Protocol:规则所适用的 IP 协议,如 TCP、UDP 或 ICMP。 # Port Range:规则的端口范围,如单个端口或者端口范围。 # Remote Group:允许访问该规则的远程安全组。 # Direction:规则的流量方向,入站或出站。 # 我们在 DatabaseSG 中创建一个规则:方向:入站 协议:TCP # 端口范围:3306 (MySQL数据库的默认口) # Remote Group:WebServerSG # 这条规则的含义是,允许来自 WebServerSG 的成员访问 DatabaseSG # 的 3306 端口(MySQL默认端口)。如果在这两个安全组中都有虚拟机实例, # 那么现在来自 WebServerSG 的任何流量都可以访问属于 DatabaseSG 的任何虚拟机, # 但只限于端口3306。这样,通过设置 Remote Group 字段,我们建立了安全组之间的规则, # 允许特定安全组中的成员访问另一个安全组中定义的特定端口或服务。

九、Swift 容器管理

创建容器container1

openstack container create container1

 下载容器中的文件:

openstack object save --file new-object.txt container1 object.txt # --file 指定新文件的名字

 删除容器1:

openstack container delete container1

 列出所有容器:

openstack container list

 删除容器中的文件:

openstack object delete contailer1 aa.txt

列出容器中所有的文件 

openstack object list container1

 上传文件到容器:

openstack object create container1 object.txt

 查看文件的详细信息:

openstack object show container1 aa.txt

文件object.txt上传到容器container1

openstack object create container1 object.txt

查看容器container1中的文件

openstack object list container1



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有