为什么要使用命令行操作openstack
openstack有些功能只能使用命令行来实现,通过命令行界面返回结果更快,操作效率很高,像创建镜像比较耗时的操作,使用命令行更加合适。命令行提供的命令还可以在脚本中使用,以实现批处理操作,提高工作效率。
常见的管理由创建、增加、删除等。
由于openstack有两个用户:云用户demo和云系统管理员admin
这里我们以admin用户来进行一系列操作
一.创建实例
1.这里加载云管理员执行脚本
source keystonerc_admin
2.列出所有可用镜像
openstack image list
3.列出实例类型
openstack flavor list
4.创建实例
openstack server create --image cirros --flavor 1 --key-name demo-key Cirros_VM1
二.创建项目
命令语法格式:
openstack project create --domain 域名 --description 项目描述信息 项目名称
openstack project create --domain default --description "Service Project" servie
创建好了查看项目:
openstack project list
三.创建用户
语法格式:
openstack user create --project 项目 --password=密码 用户名
创建service用户:
openstack user create --project service --password=service service
四.创建角色
创建user角色:
# openstack role create user
查看创建好的角色:
# openstack role list
将user角色添加到项目的service用户service:
# openstack role add --project service --user service user
查看所有角色分配:
openstack role assignment list --name
筛选出系统管理员所有角色分配:
opentack role assignment --names --system all
查看user角色的分配情况:
opentack role assignment list --name --role user
查看当前服务列表:
opentack catalog list
命令行的其他使用方法:
(1)项目管理
查看项目的详细信息:
opentack project show 项目名称或者ID
修改项目名称:
opentack project set 项目名称或者ID --name 新项目名称
临时禁用项目:
opentack project set 项目名称或者ID --disable
激活已经禁用项目
opentack project set 项目名称或者ID --enable
删除项目:
opentack project delete 项目名称或者ID
(2)用户管理
修改用户:
openstack user set 用户名或ID --name 新用户名 --email 邮件地址
临时禁用用户:
openstack user set 用户名或ID --disable
激活已禁用用户:
openstack user set 用户名或ID --enable
删除用户:
openstack user delete 用户名或ID
(3)角色管理
创建角色:
openstack role create 角色名或ID
查看角色详细信息:
opensatck role show 角色名或ID
将用户指派给项目:
openstack role add --user 用户名或ID --project 项目名或ID 角色名或ID
查看某项目某用户的角色分配情况:
openstack role assignment list --user 角色名 --project 项目名 --names
删除分配给“用户-项目”的角色:
openstack role remove --user用户名或ID --project 用户名或ID 角色名或者ID