一、Keystone
1.创建用户
openstack user create [--domain <domain>] [--password <password>] [--email <email-address>] [--enable 或 --disable ] <name>
# --domain : 指定域名
# --password : 指定密码
# --email : 指定email地址
# name:用户名
#[--enable 或 --disable]:默认启用,即--enable
eg:openstack user create --domain $DOMAIN_NAME --password $ADMIN_PASS admin
2.创建项目(租户)
openstack project create [--domain <domain>] [--description <description>] [--enable | --disable] <project name>
# <peoject name> : 代表新建项目名
# <description> : 代表项目描述名
#[--enable | --disable]:默认启用,即--enable
eg:openstack project create --domain $DOMAIN_NAME --description "Admin Project" admin
3.创建角色
openstack role create <name>
eg:openstack role create admin
4.绑定用户和项目权限
openstack role add --user <user name> --project <project name> <role name>
eg:openstack role add --project admin --user admin admin
5.用户列表查询
openstack user list
6.查询用户详细信息、状态等
openstack user show ID/NAME
7.项目列表查询
openstack project list
8.查看项目详细信息
openstack project show ID/NAME
9.角色列表查询(权限查询)
openstack role list
10.查看角色详细信息
openstack role show ID/NAME
11.创建域
openstack domain create --description "Test Domain" test
12.查看所有域
openstack domain list
13.删除某角色
openstack role delete 角色名\ID
14.删除某用户
openstack user delete 用户名\ID
15.删除某项目
openstack project delete 项目名\ID
16.删除域
openstack domain delete test
17.删除服务
openstack service delete 服务名\服务ID
18.删除某用户的某角色
openstack role remove --project 项目名\ID --user 用户名\ID 角色名\ID
eg: openstack role remove --project projectTest --user admin Admin1
19.为组件创建服务实体
openstack service create --name 服务名 --description “服务描述” 类型
eg: openstack service create --name serviceTest --description "service test" type
二、Glance
1.创建镜像
glance image-create --name '' --disk-format qocw2 --container-format bare --progress < 镜像文件
# --disk-format:硬盘格式化为想要的格式
# --container-format: 容器格式化为想要的格式
eg: glance image-create --name CentOS7.5 --disk-format qcow2 --container-format bare --progress < /opt/images/CentOS_7.5_x86_64_XD.qcow2
2.查看镜像列表
glance image-list
3.查看镜像详细信息
glance image-show ID
4.删除镜像
glance image-delete ID
三、Nova
1.创建flavor(云主机类型)
nova flavor-create name id ram disk vcpus
# name:云主机类型名称
# id:规格ID,唯一标识,不能重复,取值auto则会由系统自动生成一个UUID作为规格ID;
# ram:内存大小,单位MB;
# disk:磁盘大小,单位GB;
# vcpus:VCPU核数;
eg:nova flavor-create test 1 4000 50 4
2.查看云主机类型列表
nova flavor-list
3.查看云主机类型详细信息
nova flavor-show ID/NAME
4.查看实例列表
nova list
5.查看监控列表
nova hypervisor-list
6.查看某个被监控详细信息
nova hypervisor-show ID
7.查看监控状态
nova hypervisor-stats
8.创建安全组
nova secgroup-create NAME ''
# 创建名为NAME的安全组,描述为‘’
9.添加默认安全组(default)ssh:
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
10.添加默认安全组(default)所有icmp协议
nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
11.显示安全组列表
nova secgroup-list
12.显示default安全组的规则
nova secgroup-list-rules default
13.创建云主机
nova boot {[--flavor <flavor>] [--image <image>] .........} <name>
# <name> : 实例名称
# [--flavor <flavor>]:虚拟机类型。
# [--image <image>]:选用的镜像。
[--image-with <key=value>] :镜像的元数据属性。
[--boot-volume <volume_id>:启动逻辑卷的ID。
[--snapshot <snapshot_id>] 快照
[--num-instances <number>] 实例数量
[--meta <key=value>] 元数据
[--file <dst-path=src-path>] 文件
[--key-name <key-name>] 密钥名称
[--user-data <user-data>] 注入的用户数据
[--availability-zone <availability-zone>] 可用域
[--security-groups <security-groups>] 安全组
[--block-device-mapping <dev-name=mapping>] 块存储格式化
[--block-device key1=value1[,key2=value2...]] 块设备参数
[--swap <swap_size>] 交换分区大小
[--ephemeral size=<size>[,format=<format>]] 连接块存储大小
[--hint <key=value>] 自定义数据
[--nic ] 配置IP
[--config-drive <value>] 驱动使能
[--poll] 显示创建进度
14.获取云主机的CPU、内存、磁盘I/O等信息
nova diagnostics serverID
15.删除云主机
nova delete [--all-tenants] <server> [<server>]
# --all-tenants : 删除别的项目中的实例,admin权限使用
# <server> : ID/NAME
# 可以指定多个<server>
16.创建快照
nova image-create 云主机ID
17.查看快照列表
nova image-list
四、Neutron
1.查询当前租户所有网络列表(自己创建的网络)
neutron net-list
2.查看网络列表的详细信息
neutron net-show ID/NAME
3.查看网络服务代理详细信息
neutron agent-show ID
4.查看端口列表
neutron port-list
5.列出所有租户所有网络
neutron net-list --all-tenants
6.删除一个网络
neutron net-delete ID
7.查看命名空间
ip netns
8.创建一个网络
neutron net-create [--shared] [--provider:network_type vlan[flat、vxlan、gre]] [--provider:physical_network ] [--provider:segmentation_id ] [--router:external ] <name>
# --shared :项目共享
# --provider:network_type 创建网络类型
# --provider:physical_network : 创建网络物理网络
# --provider:segmentation_id : 段ID
# --router:external : 是否为外网
eg:
neutron net-create --router:external --provider:network_type vlan --provider:physical_network provider --provider:segmentation_id 11 ext
neutron net-create --router:external --provider:network_type flat --provider:physical_network provider ext
注:flat网络模式是不需要段ID的
9.创建一个子网
neutron subnet-create 网络ID/网络名 --name (子网名) –-allocation-pool start=开始地址IP ,end=结束地址IP --dns-nameserver DNS服务器 --gateway 网关IP 网段
# –-allocation-pool : 子网划分
# --enable-dhcp : 开启dhcp
# --disable-dhcp : 关闭dhcp
# --dns-nameserver : dns地址
# --gateway : 网关地址
# 网段 : 网络号
# --ip-version 4 : 指定是IPv4还是ipv6,默认ipv4
eg:
neutron subnet-create ext --name ext-subnet --enable-dhcp --gateway 192.168.200.1 192.168.200.0/24
10.查看路由器表
neutron router-list
11.查看路由器表详细信息
neutron router-show ID
12.创建浮动IP地址
neutron floatingip-create 外部网络
# [--project] admin项目的ID/NAME
13.将浮动IP地址添加到实例中
openstack add floating ip 实例名/实例ID 浮动IP
# 浮动IP可以使用openstack floating ip list 来查看
# neutron floatingip-list
五、Cinder
1.创建云硬盘
cinder create --name '' size # size:默认单元为G
# eg: cinder create --name test 2
2.查看云硬盘列表
cinder list
3.创建云硬盘卷类型
cinder type-create ''
# eg: cinder type-create lvm
4.查看云硬盘类型列表
cinder type-list
5.创建带标识的云硬盘
cinder create --name '' --volume-type '' size # size : 默认单元 G
# eg: cinder create --name type_demo --volume-type lvm 5
6.查看云硬盘详细信息
cinder show ID/NAME
7.删除云硬盘
cinder delete <vulome name> [<volume name> ......] # volume name:ID/NAME
# 可以指定删除一个或多个
8.列出所有快照
cinder snapshot-list
9.列出所有备份
cinder backup-list
9.将创建的带有标识的云硬盘依附到实例中
nova volume-attach 实例ID 卷ID
10.分离卷
nova volume-detach 实例ID 卷ID
六、Swift
1.创建容器
swift post container_name
2.查询容器列表
swift list
4.查询容器内部列表信息
swift list container_name
5.swift上传
swift upload container_name file/
# 将file目录上传到container_name容器中
swift upload container_name/file
# 将上传到container_name/file目录中
swift upload container_name file/
# 将文件移动到file目录中
6.swift下载
swift download container_name file/
# 下载container_name 中file目录中的文件
7.从容器中删除文件
swift delete container_name file/
# 删除容器中文件
swift delete cintainer_name
# 递归删除容器及容器内部文件
8.查看容器状态
swift stat
七、Heat
1.查看资源类型
heat resource-type-list
2.创建名称为mystack的栈
heat stack-create -f mystack
参考:/weixin_45786162/article/details/115449754