跳到主要内容

Openstack命令行

命令行登录​

管理节点上有keystonerc_admin文件

[root@vms71 ~]# cat keystonerc_admin 
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin
export OS_PASSWORD='admin'
export OS_REGION_NAME=RegionOne
export OS_AUTH_URL=http://192.168.26.71:5000/v3
export PS1='[\u@\h \W(keystone_admin)]\$ '

export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3

应用环境变量

source keystonerc_admin 

测试

openstack service list

命令行语法​

1.查看对象​

openstack 对象类型 list

openstack user list
openstack role list
openstack project list
openstack image list
openstack volume list
openstack server list

2.查看对象属性​

openstack 对象类型 show 名字

openstack user show tom
openstack volume show d1
openstack image show cirrors

3.创建对象​

openstack 对象类型 create --选项1 --选项2 ... 名字

创建的资源类型不同,选项不一样,

通过openstack 对象类型 create --help | head -n 15查询

[root@vms71 ~(keystone_admin)]# openstack user create --help | head -15
usage: openstack user create [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--max-width <integer>] [--fit-width]
[--print-empty] [--noindent] [--prefix PREFIX]
[--domain <domain>] [--project <project>]
[--project-domain <project-domain>]
[--password <password>] [--password-prompt]
[--email <email-address>]
[--description <description>]
[--enable | --disable] [--or-show]
<name>

Create new user

positional arguments:
<name> New user name
[root@vms71 ~(keystone_admin)]# openstack user create --password redhat --enable bob
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | d0daee6abdd043e49e4ae80cb0bd5456 |
| name | bob |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+

4.设置对象属性​

openstack 对象类型 set --选项1 --选项2 ... 名字

创建的资源类型不同,选项不一样,

通过openstack 对象类型 set --help | head -n 15查询

项目管理​

项目的用户角色操作​

#授予bob在p2项目中的admin角色
openstack role add --project p2 --user bob admin
#移除角色授权
openstack role remove --project p2 --user bob admin

多域管理​

每个域的用户和资源完全逻辑独立

dashboard开启多域支持​

开启后dashboard登录界面才有输入域的选项

[root@vms71 ~(keystone_admin)]# vi /etc/openstack-dashboard/local_settings 

#更改以下选项
#开启多域支持
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True


#设置默认域
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default'

[root@vms71 ~(keystone_admin)]# systemctl restart httpd

创建域​

openstack domain create domain1

查看域​

openstack domain list

删除域​

openstack domain set --disable domain1
openstack domain delete domain1

为域创建用户​

openstack user create --email user1@aa.com --password password --domain domain1

查看指定域的对象​

查看用户

[root@vms71 ~(keystone_admin)]# openstack user list --domain domain1
+----------------------------------+-------+
| ID | Name |
+----------------------------------+-------+
| 815153ae546c48f4bf525126c5aeb2cd | user1 |
+----------------------------------+-------+

查看项目

[root@vms71 ~(keystone_admin)]# openstack project list --domain domain1
+----------------------------------+------+
| ID | Name |
+----------------------------------+------+
| 5edb69f4845245dcb7d8be64a10fd7ba | p1 |
+----------------------------------+------+

为指定域的项目绑定授权角色​

role add无法同时支持--project和--domain选项,可以使用查询到的user id及project id 进行绑定

openstack role add --user 815153ae546c48f4bf525126c5aeb2cd --project 5edb69f4845245dcb7d8be64a10fd7ba admin