手册
- keystone组件命令
- glance组件命令
- nova组件命令
- neutron组件命令
- cinder组件命令
- swift组件命令
- heat组件命令
openstack命令手册,实验环境基于VMwareT版双节点集群
节点 | IP |
controller | 192.168.200.10 |
compute | 192.168.200.20 |
keystone组件命令
加载admin环境变量
[root@controller ~]# source /etc/keystone/admin-openrc.sh
创建用户常用参数说明
--domain <domain>: 指定用户所属的默认域(名称或ID)。
--project <project>: 指定用户所属的默认项目(名称或ID)。
--project-domain <project-domain>: 指定项目所属的域(名称或ID)。这在项目名称之间存在冲突时可以使用。
--password <password>: 设置用户密码。
--password-prompt: 交互式提示用户输入密码。
--email <email-address>: 设置用户的电子邮件地址。
--description <description>: 设置用户的描述信息。
--enable: 启用用户(默认值)。
--disable: 禁用用户。
--max-width <integer>: 指定最大显示宽度,小于1时禁用宽度限制。
--fit-width: 自动调整表格以适应显示宽度。
--print-empty: 如果没有数据显示,则打印空表格。
创建用户命令基本格式
openstack user create --domain <domain-name> --password <password> <username>
删除用户命令基本格式
openstack user delete <user-name-or-id>
更新用户常用参数说明
--name <new-name>: 更改用户的名称为新名称。
--password <new-password>: 更改用户的密码为新密码。
--email <new-email>: 更新用户的电子邮件地址。
--description <new-description>: 更新用户的描述信息。
更新用户密码命令基本格式
openstack user set --password <new-password> <username>
创建角色常用参数说明
--or-show: 如果具有相同名称的角色已经存在,则显示已存在的角色而不创建新角色。
--or-update: 如果具有相同名称的角色已经存在,则更新现有角色而不创建新角色。
--public: 将角色标记为"公共"角色,使其可被所有用户访问。
openstack role create <role-name>
openstack role add --project <project-name> --user <username> <role-name>
创建项目常用参数说明
--or-show: 如果具有相同名称的项目已经存在,则显示已存在的项目而不创建新项目。
--or-update: 如果具有相同名称的项目已经存在,则更新现有项目而不创建新项目。
--domain <domain>: 指定项目所属的域(名称或ID)。
--description <description>: 为项目添加描述信息。
--enabled / --disabled: 启用或禁用项目,--enabled为启用(默认值),--disabled为禁用。
openstack project create --domain <domain-name> --description <description> <project-name>
获取令牌
openstack token issue
验证令牌
openstack token validate <token-id>
撤销令牌
openstack token revoke <token-id>
列出令牌
openstack token list
根据用户名和密码获取令牌
openstack token issue --os-username <username> --os-password <password> --os-project-name <project-name> --os-auth-url <auth-url>
glance组件命令
上传镜像常用参数说明
--file 或 -f:指定要上传的镜像文件的路径。
--disk-format:指定虚拟机镜像文件的磁盘格式,常见的格式包括 "qcow2"、"vhd"、"vmdk" 等。
--container-format:指定容器格式,常见的格式包括 "bare",表示无容器,或者 "ovf",表示使用 Open Virtualization Format。
--public:将上传的镜像设置为公共镜像,以便其他项目或用户可以访问。
--min-disk:指定虚拟机至少需要的磁盘空间,单位为 GB。
--min-ram:指定虚拟机至少需要的内存大小,单位为 MB。
--protected:将镜像标记为受保护的,以防止被误删除。
--checksum:指定上传的镜像文件的 checksum,以确保文件完整性。
--force:强制执行操作,即使可能会覆盖现有的同名镜像。
--volume:从卷创建镜像,需要指定卷的 ID。
上传镜像命令基本格式
openstack image create --file <image-file> --disk-format <format> --container-format <container-format> <image-name>
列出镜像
openstack image list
查看镜像详细信息
openstack image show <image-id>
删除镜像
openstack image delete <image-id>
下载镜像常用参数说明
--file 或 -f:指定下载的镜像文件保存的路径。
--progress:显示下载进度信息。
--all:下载所有可见的镜像。
--checksum:验证下载的镜像文件的 checksum,以确保文件完整性。
--quiet 或 -q:在下载过程中减少输出信息,使输出更为简洁。
--force:强制执行下载操作,即使可能会覆盖本地已存在的同名文件。
--resume:在网络故障或中断的情况下,从中断的地方继续下载。
--location:指定镜像的 URL 地址,用于下载指定位置的镜像。
下载镜像命令基本格式
openstack image save --file <output-file> <image-id>
更新镜像常用参数说明
--property:用于更新镜像的属性。
--min-disk:用于更新虚拟机至少需要的磁盘空间,单位为 GB。
--min-ram:用于更新虚拟机至少需要的内存大小,单位为 MB。
--name:用于更新镜像的名称。
--protected:用于将镜像标记为受保护的,防止被误删除。
--unprotected:用于将镜像标记为非受保护的,以便可以被删除。
--file:用于更新镜像文件,通常用于上传一个新的文件以替换当前的镜像文件。
更新镜像命令基本格式
openstack image set --name <new-name> <image-id>
nova组件命令
创建虚拟机规格常用参数说明
--id:指定虚拟机规格的 ID。
--ram:指定虚拟机规格的内存大小,单位为 MB。
--disk:指定虚拟机规格的磁盘大小,单位为 GB。
--vcpus:指定虚拟机规格的虚拟 CPU 核数。
--public:将虚拟机规格设置为公共规格。
--private:将虚拟机规格设置为私有规格。
--property:为虚拟机规格添加额外的属性。
--ephemeral:指定虚拟机规格的临时存储大小,单位为 GB。
--swap:指定虚拟机规格的交换空间大小,单位为 MB。
--rxtx-factor:指定虚拟机规格的网络带宽系数。
创建虚拟机规格命令基本格式
openstack flavor create --ram <memory-size-in-mb> --disk <disk-size-in-gb> --vcpus <number-of-vcpus> <name>
列出虚拟机规格
openstack flavor list
启动虚拟机实例常用参数说明
--flavor:指定虚拟机实例使用的规格(Flavor)。
--image:指定虚拟机实例使用的镜像。
--key-name:指定用于登录虚拟机实例的密钥对名称。
--nic:指定虚拟机实例的网络接口配置,可以使用多次以添加多个接口。
--network;用于创建虚拟机实例并将其连接到指定的网络
--security-group:指定虚拟机实例所属的安全组。
--user-data:指定用户数据,用于在实例启动时自定义实例的行为。
--availability-zone:指定虚拟机实例的可用性区域。
--block-device:指定块存储设备的配置,可以使用多次以添加多个块设备。
--volume:将卷附加到虚拟机实例。
--config-drive:指定是否使用配置驱动器,用于向实例提供额外的元数据和用户数据。
创建实例命令基本格式
openstack server create --flavor <flavor> --image <image> --network <network> <instance-name>
列出虚拟机实例
openstack server list
查看虚拟机实例详细信息
openstack server show <instance-id>
暂停和恢复虚拟机实例
openstack server pause <instance-id>
openstack server unpause <instance-id>
挂起和恢复虚拟机实例
openstack server suspend <instance-id>
openstack server resume <instance-id>
删除虚拟机实例
openstack server delete <instance-id>
创建虚拟机密钥对
openstack keypair create <keypair-name> --public-key <public-key-file>
neutron组件命令
创建网络常用参数说明
--provider-network-type:
说明: 指定网络的类型,如vxlan、vlan、flat等。
示例: --provider-network-type vxlan
--provider-physical-network:
说明: 对于一些网络类型(如vlan),指定物理网络的名称。
示例: --provider-physical-network physnet1
--provider-segment:
说明: 指定网络的分段ID。
示例: --provider-segment 100
--mtu:
说明: 设置网络的最大传输单元(MTU)。
示例: --mtu 1400
--share:
说明: 允许其他项目共享此网络。
示例: --share
--external:
说明: 将网络标记为外部网络,通常与路由器结合使用。
示例: --external
--enable 和 --disable:
说明: 启用或禁用网络。
示例: --enable 或 --disable
--project 或 --project-domain:
说明: 指定网络所属的项目和项目域。
示例: --project myproject 或 --project-domain mydomain
--description:
说明: 设置网络的描述信息。
示例: --description "My network description"
--dns-domain:
说明: 设置网络的DNS域。
示例: --dns-domain mydomain.com
创建网络命令基本格式
openstack network create <network-name>
创建子网常用参数说明
--subnet-range:
说明: 指定子网的IP地址范围。
示例: --subnet-range 192.168.1.0/24
--network:
说明: 指定子网所属的网络。
示例: --network mynetwork
--ip-version:
说明: 指定IP版本,可以是4或6。
示例: --ip-version 4
--gateway:
说明: 指定子网的网关IP地址。
示例: --gateway 192.168.1.1
--allocation-pool:
说明: 指定分配给实例的IP地址池范围。
示例: --allocation-pool start=192.168.1.10,end=192.168.1.20
--dns-nameservers:
说明: 指定子网的DNS服务器。
示例: --dns-nameservers 8.8.8.8
--host-route:
说明: 指定子网的主机路由。
示例: --host-route destination=192.168.2.0/24,gateway=192.168.1.1
--ipv6-ra-mode 和 --ipv6-address-mode:
说明: 用于IPv6,指定IPv6的路由广告模式和地址分配模式。
示例: --ipv6-ra-mode slaac 和 --ipv6-address-mode slaac
--service-type:
说明: 为子网设置服务类型。
示例: --service-type metering
--description:
说明: 设置子网的描述信息。
示例: --description "My subnet description"
创建子网命令基本格式
openstack subnet create --network <network-name> --subnet-range <subnet-range> <subnet-name>
查看网络列表
openstack network list
查看网络详细信息
openstack network show <network-id>
查看子网列表
openstack subnet list
查看子网详细信息
openstack subnet show <subnet-id>
创建路由
openstack router create <router-name>
openstack router create <router-name>
查看路由详细信息
openstack router show <router-id>
将子网关联到路由
openstack router add subnet <router-id> <subnet-id>
为路由添加外部网络接口
openstack router set --external-gateway <external-network> <router-id>
创建安全组常用参数说明
--enable:启用安全组。
--disable:禁用安全组。
--description:指定安全组的描述信息。
--project:指定安全组所属的项目的 ID。
--project-domain:指定项目的域 ID。
<security-group-name>:安全组的名称。
创建安全组命令基本格式
openstack security group create --description <description> --project <project-id> --project-domain <project-domain-id> --column value <security-group-name>
查看安全组列表
openstack security group list
查看安全组详细信息
openstack security group show <security-group-id>
cinder组件命令
查看卷(Volume)列表
openstack volume list
创建卷常用参数说明
--size:
说明: 指定卷的大小,以GB为单位。
示例: --size 10
--snapshot-id:
说明: 创建卷时,可以基于现有卷快照创建。
示例: --snapshot-id <snapshot-id>
--source-volid:
说明: 创建卷时,可以基于现有卷创建。
示例: --source-volid <volume-id>
--image-id:
说明: 使用镜像创建卷。
示例: --image-id <image-id>
--name:
说明: 指定卷的名称。
示例: --name myvolume
--description:
说明: 设置卷的描述信息。
示例: --description "My volume description"
--availability-zone:
说明: 指定卷的可用性区域。
示例: --availability-zone nova
--metadata:
说明: 为卷添加元数据。
示例: --metadata key1=value1,key2=value2
--consistency-group-id:
说明: 将卷添加到一致性组。
示例: --consistency-group-id <consistency-group-id>
--volume-type:
说明: 指定卷的类型。
示例: --volume-type <volume-type>
--source-replica:
说明: 用于卷的复制,指定源卷的ID。
示例: --source-replica <source-volume-id>
创建卷基本命令格式
openstack volume create --size 10 myvolume
查看卷的详细信息
openstack volume show myvolume
扩展卷的大小
openstack volume set --size 20 myvolume
创建卷快照(Snapshot)
openstack volume snapshot create --volume myvolume mysnapshot
查看卷快照列表
openstack volume snapshot list
查看卷的使用情况(Quotas)
openstack quota show --class volumes
删除卷
openstack volume delete myvolume
删除卷快照
openstack volume snapshot delete mysnapshot
为卷附加和分离实例
openstack server add volume myinstance myvolume
openstack server remove volume myinstance myvolume
查看卷的日志
openstack volume show myvolume --long
swift组件命令
创建容器常用参数说明
<container>:
说明: 容器的名称。
示例: mycontainer
--read-acl 和 --write-acl:
说明: 设置容器的读和写访问控制列表。
示例: --read-acl ".r:*,.rlistings" 和 --write-acl ".r:*"
--sync-to 和 --sync-key:
说明: 配置容器同步到其他Swift集群的选项。
示例: --sync-to destination:zone 和 --sync-key secretkey
--metadata:
说明: 为容器添加元数据。
示例: --metadata key1=value1,key2=value2
--object-count 和 --bytes-used:
说明: 设置容器的对象计数和字节使用情况。
示例: --object-count 100 和 --bytes-used 102400
--versioning:
说明: 启用或禁用版本控制。
示例: --versioning true 或 --versioning false
--quota:
说明: 设置容器的存储配额。
示例: --quota containers=10
--header:
说明: 添加自定义的HTTP头部。
示例: --header "X-Container-Meta-Description: My container description"
创建容器基本命令格式
openstack container create mycontainer
列出容器列表
openstack container list
查看容器的详细信息
openstack container show mycontainer
上传对象(Object)到容器
openstack object create mycontainer myobject --data myfile.txt
列出容器中的对象列表
openstack object list mycontainer
下载对象到本地文件
openstack object save mycontainer myobject --file mylocalfile.txt
删除对象
openstack object delete mycontainer myobject
删除容器
openstack container delete mycontainer
heat组件命令
创建堆栈
openstack stack create -t mytemplate.yaml mystack
列出堆栈列表
openstack stack list
查看堆栈详细信息
openstack stack show mystack
删除堆栈
openstack stack delete mystack