文档库 最新最全的文档下载
当前位置:文档库 › 任务十Keystone基本运维命令及其应用

任务十Keystone基本运维命令及其应用

任务十Keystone基本运维命令及其应用
任务十Keystone基本运维命令及其应用

任务十Keystone基本运维命令及其应用

一.任务前提环境:

本地主机安装终端软件,通过终端软件连接到安装成功的先电IaaS云平台中的控制节点,通过命令进行运维操作。本地主机需安装浏览器,推荐使用谷歌浏览器或者火狐浏览器,通过浏览器登陆云平台Dashboard界面进行运维的操作。

二.任务涉及节点:

controller

三.任务目标:

1.熟悉云平台用户,租户查看的命令;

2.熟悉云平台用户,租户以及角色创建与删除的命令;

3.能够熟练使用命令以及云平台Dashboard界面进行用户与租户的管理;

4.能够使用命令查看以及修改云平台的服务端点。

四. 任务内容:

步骤一:查看用户,租户,以及角色基本信息

在使用Keystone命令前我们首先要执行环境变量的文件,该文件我们在实训项目3中已经创建过,找到其路径并通过source命令执行。之后我们通过keystone user-list查看当前云平台上有哪些用户,命令如下,结果如图1所示。

(此处有视频:12-1(1)Keystone基本运维命令及其应用)

[root@controller ~]# keystone user-list

图1 查看用户的反馈结果

从反馈的信息我们可以看到目前平台上所有的用户,表中第一列的id字段表明每个用户都有一个唯一的与之相对应的id值,第二列name字段显示了当前已存在用户的用户名,第三列enable字段的值表明所对应的用户是否被激活,显然,“Ture”为激活状态,非激活状态这里的值应该是“False”只有激活的用户才能登陆并使用云平台。

我们可以进一步用keystone user-get命令查看某一个特定用户的信息,例如我们想查看admin用户的信息,我们可以在上述命令之后直接跟admin用户名,或直接跟admin

用户所对应的id,命令如下,结果如图2所示。

[root@controller ~]# keystone user-get admin

(或[root@controller ~]# keystone user-get bc23d4f89c314521a030f620bf548a7e)

图2 查看特定用户的反馈结果

令如下,结果如图

的id

看service

(或

也可以通过

(或[root@controller ~]# keystone role-get d11b8aa687544f4bac050652c3175caa)

我们可以使用

user3,

批注 [a1]:

示。

[root@controller ~]# keystone user-create --name user1

[root@controller ~]# keystone user-create --name user2 --pass 123456

[root@controller ~]# keystone user-create --name user3 --tenant admin --pass 123456

创建成功之后我们打开浏览器,在地址栏上输入云平台Dashboard登陆界面的url: http://192.168.100.10/Dashboard

使用用户user1登陆,我们会发现,user1因为没有密码,所以不能登陆云平台,如图7所示。

图7 user1用户登陆失败提示

接下来我们使用user2用户,及其所对应的密码登陆尝试云平台,会发现,由于没有说明user2属于哪个租户,系统提示“您未被授权访问任何项目”,如图8所示。

图12.1.8 user2用户登陆失败提示

最后我们使用user3用户及其密码登陆云平台,便可以成功打开并使用用平台中的资源,如图9所示。

图9 user3用户成功登陆云平台

从图9中我们发现,user3登陆后云平台界面中并没有管理的功能,因为user 3用户并不具备管理的权限,如果想让user3成为和admin用户一样的管理员,我们可以进一步使用keystone user-role-add 命令,赋予user3用户admin角色的权限,具体命令如下。

[root@controller ~]# keystone user-role-add --user=user3 --tenant=admin --role admin

执行完上述命令后,我们退出当前的登陆,然后再次用user3用户登陆云平台就会发现,左侧的菜单中多了“管理员”的项目菜单,如图10所示,所以如果想让其他普通用户具备云平台的管理权限,我们只需要通过上述命令将用户加入admin组中并赋予admin角色的权限。

图10 赋予user3用户admin角色权限后的登陆界面

如果仅想让user3用户能使用云平台,我们则要使用keystone user-role-remove命令删除刚刚赋予user3用户admin角色的权限,其命令如下。

[root@controller ~]# keystone user-role-remove --user=user3 --tenant=admin

--role admin

通过user3用户登陆后,我们可以尝试启动一个虚拟机实例,名称为user3os,内存为2G,硬盘大小为20G,具体的启动过程在实训项目9中已经详细介绍过,启动结果如图11所示。

图11 启动名为user3os虚拟机实例

与用户的创建类似,我们还可以用Keystone tenant-create创建租户,以及用keystone role-create创建或角色。下面我们创建一个租户,租户名为tenant,创建一个角色,角色名为demo,其后再创建一个属于tenant租户的用户user4,密码同样为“123456”,具体命令如下,上述所有命令执行的反馈结果如图12, 13,以及14所示。

(此处有视频:12-1(2)Keystone基本运维命令及其应用

[root@controller ~]# keystone tenant-create --name=tenant

图12 创建名为tenant的租户的反馈结果

[root@controller ~]# keystone role-create --name=demo

图13 创建名为demo的角色的反馈结果

[root@controller ~]# keystone user-create --name=user4 --pass=123456 --tenant=tenant

图14 创建名为user4的用户的反馈结果

接下来我们退出user3用户的登陆,用user4用户及其密码登陆云平台,在实例一栏中我们发现并不能看到刚刚user3创建的实例,如图15所示。

图15 使用user4用户登陆后实例栏没有任何条目

通过上述的操作,我们可以看出,由于user3是属于admin租户,而user4是属于tenant租户,两个用户所属的租户不同,所以我们可以进一步推断,属于租户1的用户创建的实例,租户2当中的用户是无法访问并操作的。如果想让租户2中的某个用户访问并操作租户1中用户创建的实例,那么我们需要将租户2中的这个用户再加到租户1中,例如我们想让user4看到并操作user3创建的实例,我们可以通过keystone user-role-add 将用户加到admin租户中,角色指定可以任意,这里我们指定为demo,其命令如下:[root@controller ~]# keystone user-role-add --user=user4 --tenant=admin --role=demo

执行上述命令后我们退出登陆,再使用user4用户登陆到云平台,在右侧的项目菜单,Compute下拉后实例一栏中就可以看到刚刚user3创建的实例。

通过上述的操作我们还可以看出,一个用户可以属于多个不同的租户,并赋予多个不同的角色权限。

创建用户,租户,并赋予角色权限的操作我们也可以不用命令而直接在云平台操作界面上完成,这里我们首先需要用系统的默认管理员用户admin或其他具有管理员权限的用户及其对应的密码登陆云平台进行操作。

接下来在云平台Dashboard界面上创建一个租户tenent2,具体操作步骤如下。

点击左侧的管理员菜单,认证面板下拉后项目一栏中可以看到我们之前创建的所有的租户,如图16所示。

图16 从Dashboard界面查看租户信息

点击图16 右上放第一个“创建项目”按钮,出现创建项目的子页面,在名称一栏中输入tenant2,因为现在我们只创建一个tenant2租户,租户中暂时没有任何成员,所以不需要在“项目成员”和“配额”两个子页中进行设置,直接点击“创建项目”按钮即可,如图17所示。

图17 创建tenant2租户

此时,我们可以看到在“项目”页面中,tenant2租户的信息已经出现了,如图18所示。

图18 创建好的tenant2租户的信息

其后我们创建一个用户user5,属于租户tenent2,并具有admin角色的权限,具体操作步骤如下:

在项目一栏的下面有一个“用户”栏,点击之后我们可以看到之前创建的所有用户信息,如图19所示。

图19 从Dashboard界面查看用户信息

点击“创建用户”按钮,在弹出的子页面中,将标星的栏填写完整,用户名user5,密码132456,在主项目的下拉菜单中,选择tenant2,角色选择admin,然后点击“创建用户”按钮即可,如图20所示。

图20 从Dashboard界面查看用户信息

此时我们应该可以在如图12.1.19所示的用户界面看到刚刚创建的user5用户,在以上的操作过程中我们一共创建了5个用户,这5个用户我们可以列表稍作比较,今后在云平台的使用过程中,可以参考表1创建具有不同权限的用户。

表1 不同类的用户租户权限比较

delete,tenant-delete和role-delete三个keystone子命令,在后面直接跟上要删除的名称或id号,下面我们分别删除用户user1,租户tenant和角色demo,具体操作命令如下。

[root@controller ~]# keystone user-delete user1

(或[root@controller ~]# keystone user-delete

381e180aab864be59c516f585d23c439)

[root@controller ~]# keystone tenant-delete tenant2

(或[root@controller ~]# keystone tenant-delete

9263cf498730406a9d120b79e058041e)

[root@controller ~]# keystone role-delete demo

(或[root@controller ~]# keystone role-delete

8d67da604a0e4b3a9899d223d9e59b6e)

上述操作没有任何返回值,我们可以分别通过user-list,tenant-list和role-list 查看操作后的结果。上述命令中,id号可以通过前面提到的查看用户,租户,以及角色信息的命令进行查看。

为了不影响下面实验的使用,我们利用前面讲到的用户,租户和角色的创建命令将删除的用户user1,租户tenant和角色demo重新创建回来,具体操作参照以上步骤二云平台用户,租户和角色的创建。

删除用户和租户的操作我们还可以在云平台Dashboard界面上完成,同样需要管理员权限。

使用admin用户登录云平台,点击左侧的管理员菜单,认证面板下拉后项目一栏中可以看到已经创建的所有租户,选中希望删除的租户名称前的复选框,点击界面右上角的“删除项目”按钮即可删除,同时也可以在“更多”按钮的下拉菜单中删除租户,如图21所示。

图21 通过Dashboard界面删除租户

删除用户与删除租户方法一样,在管理员菜单,认证面板下拉后用户一栏中进行操作即可,如图22所示。

图22 通过Dashboard界面删除用户

步骤三:云平台用户与租户的管理

在云平台的使用过程中,新建的用户,租户以及角色都处于默认的激活状态,如果想禁用某个用户,我们可以通过命令将其状态修改为非激活状态。例如我们通过命令将user5的状态改为非激活状态,命令如下。

[root@controller ~]# keystone user-update --name=user5 --enabled=false user5 需要注意的是,如果我们将一个用户的状态改为非激活状态,那么这个用户将不能登录使用云平台,我们使用user5登录云平台,这时将出现如图23所示的提示。

图23 用户处于非激活状态无法登陆Dashboard界面使用云平台

上述命令执行后user5将暂时不能登陆使用或管理云平台,如果想恢复user5的激活状态我们只需要执行上述命令将enabled的参数改为true,命令如下。

[root@controller ~]# keystone user-update --name=user5 --enabled=true user5 以上的操作我们同样可以在云平台Dashboard界面上完成,但前提条件任然是需要具有管理员权限的用户登陆云平台,具体操作步骤如下:

点击左侧的管理员菜单,认证面板下拉后用户一栏是我们之前创建的所有用户,如图22所示,我们可以看到,默认情况下,所有用户的激活状态都为“True”,在用户信息右侧“更

多”按钮下拉菜单中,有“禁用用户”选项,如图24所示。

图24 Dashboard界面中的“禁用用户”选项

在需要禁用的用户右侧点击更多按钮中的“禁用用户”选项即可,我们将user5用户禁用,禁用后的用户我们可以看到在以上界面上的激活状态变为了“False”,如图25所示。

图25 Dashboard界面中user5用户的状态变为了False

想要恢复被禁用的用户,只需使用具有管理权限的用户登录云平台,在用户“更多”按钮下点击“激活用户”选项即可。

我们同样可以用命令修改租户的状态,例如我们将名为tenant2的租户禁用,只需要将tenant2的状态改为非激活,命令如下。

[root@controller ~]# keystone tenant-update --name=tenant2 --enabled=false tenant2

需要注意的是,如果我们将一个租户的状态改为非激活状态,那么这个租户下所有的用户将不能登陆使用云平台。这里我们可以尝试使用属于tenant2租户的user5用户登陆云平台,出现如图26所示的提示。

图26 用户所属租户被禁用后该用户无法登陆

如果一个用户同时属于两个或两个以上租户的话,其中一个租户的状态被改为非激活并不会影响这个用户登陆并使用云平台,因为这个用户所属的其他租户任然处于激活状态,除非同时将这个用户所属的其他所有租户禁用。禁用租户的操作同样可以在在云平台Dashboard界面上完成,这里我们通过界面将租户tenant禁用,具体如下。

使用具有管理员的用户登录云平台,在左侧的管理员菜单,认证面板下拉后项目一栏中,选择想要禁用的租户,点击“更多”按钮下拉菜单中的“编辑项目”选项,如图27所示。

图27 通过Dashboard界面打开编辑项目的子页面

弹出一个编辑项目的子页面,默认情况下“激活”复选框是勾上的,如图28左下角所示。我们只需要将复选框的勾取消,然后点击“保存”按钮即可。

图28 通过编辑项目的子页面禁用租户

禁用后我们可以尝试使用属于租户tenant的用户user4登陆云平台,这时我们会发现登陆操作依然成功,因为user4用户不仅仅属于租户tenant还属于租户admin(参见表12-1-1),而租户admin并没有被禁用掉,所以我们得到如下结论,只有当一个用户所属的所有租户都被禁用的时候,该用户才不能登陆云平台进行操作。

在使用云平台的过程中,不可避免的需要修改密码,我们可以使用命令keystone user-password-update修改指定用户密码,例如我们将user5的密码修改为000000,命令如下。

[root@controller ~]# keystone user-password-update --pass 000000 user5

修改后,我们成功使用新密码登录云平台,上述命令中,我们也可以省略“--pass 000000”这个参数,此时系统会出现“New Password”的提示,输入新密码,然后重复输入一次也可以完成密码修改。

同样,上述命令我们也可以在云平台中进行修改,我们使用user4登录云平台,点击界面右上角用户名右侧的下拉按钮,选择“设置”选项,进入用户设置子页面,如图29所示。

图29 进入用户设置子页面

在左侧设置菜单的修改密码一栏中,我们可以看到修改密码的内容,输入当前密码,新密码,然后确认新密码后,点击界面右下角的“修改”按钮,如图30所示。

图30 通过用户设置子界面修改当前用户密码

例如我们将user4用户的密码修改为000000,密码修改完成后,系统会自动跳到云平台登录界面,要求用户重新登陆如图31所示。

图31 修改密码后提示重新登陆

此时我们输入刚刚修改过密码的user4和其新密码,可以成功登录云平台。

上述在云平台操作的内容为普通用户修改自己密码的过程,而管理员则拥有修改所有用户密码的权限。使用拥有管理员权限的admin用户登录云平台,在左侧管理员菜单,认证面板下拉后用户一栏里,我们选择需要修改密码的用户,点击“编辑”按钮,例如user4用户,如图32所示。

图32 在界面中找到user4用户

在弹出的“更新用户”子页面中,输入新密码,然后确认密码,点击“更新用户”按钮即可修改密码,如图33所示。修改完成后,会出现修改成功的提示。

图33 通过“更新用户”子界面修改用户密码

步骤四:云平台服务和端点的查看和修改

服务和端点的创建在本书第二部分的实训项目中每个组件的安装都用到过,这里不再赘述。我们可以通过keystone的list子命令分别查看OpenStack的服务和其对应的端点,命令如下,结果如图34以及图35所示。

[root@controller ~]# keystone service-list

图34 查看服务命令的反馈结果

[root@controller ~]# keystone endpoint-list

如果我们需要查看指定服务的详细信息,可以通过keystone service-get查看,查看服务的方式和查看用户、租户和角色的方式一样,例如我们想查看glance服务的信息,我们只要在上述命令之后直接跟glance服务名,或者是glance服务所对应的id,命令如下,其结果如图35所示。

图34 查看端点命令的反馈结果

[root@controller ~]# keystone service-get glance

(或[root@controller ~]# keystone service-get

f7ff7ec474e14c57a3ea0a801478d4a7)

图35 查看某一特定服务的反馈结果

我们也可以查看指定端点的详细信息,通过命令keystone endpoint-get查看,这里查看端点的命令参数与其他的略微不一样,不要添加“--service”参数,参数后跟上服务类型,例如我们查看glance服务的端点信息,glance服务的类型为image,命令如下:[root@controller ~]# keystone endpoint-get --service image

图36查看某一特定端点的反馈结果

同时,服务和端点的删除和用户、租户、角色的删除方式一样,需要注意的是删除服务时,参数可以是服务的名称或id,命令如下。

[root@controller ~]# keystone service-delete glance

(或[root@controller ~]# keystone service-delete

f7ff7ec474e14c57a3ea0a801478d4a7)

但删除端点时,参数只能是端点的id,所以我们先要通过查询命令查询对应端点的id 后才能将其删除,例如删除glance服务和其端点,命令如下。

[root@controller ~]# keystone endpoint-delete

d59d28213f8b4bf5857513f1cdaa9d02

注意为不影响后面实验的正常使用,删除后,我们再根据前面的方法分别创建glance 服务和其端点。

相关文档