操作型任务

下面是一些常见的管理Deis平台的操作任务:

管理用户

Deis用户分两类:普通用户和管理员。

  • 普通用户可以使用Deis的绝大部分功能 - 创建,部署应用,添加删除域名等等
  • 管理员可以执行所有普通用户的操作,但他们也拥有所有应用所有者的访问权

第一个在Deis上创建的用户自动成为管理员。

将用户提升为管理员

你可以使用deis perms命令来提升一个普通用户的角色到管理员。

  1. $ deis perms:create john --admin

重新发布普通用户的认证令牌

控制器组件API使用了一个很普通的基于令牌的HTTP认证方式。令牌式的认证对于客户端-服务端的格局,如原生的桌面和手机客户端是比较适用的。每一个平台的用户都会在第一次注册平台的时候由平台颁发一个令牌。如果令牌被泄露,你需要手动的介入来重新为该用户颁发一个认证令牌。这一步骤可以通过SSH进入运行有控制器组件的节点然后打开一个Django的命令行:

  1. $ fleetctl ssh deis-controller
  2. $ docker exec -it deis-controller python manage.py shell
  3. >>>

至此,让我们为此用户重新颁发一个认证的令牌。我们假定这个倒霉的用户名字叫Bob:

  1. >>> from django.contrib.auth.models import User
  2. >>> from rest_framework.authtoken.models import Token
  3. >>> bob = User.objects.get(username='bob')
  4. >>> token = Token.objects.get(user=bob)
  5. >>> token.delete()
  6. >>> exit()

这时,Bob再也无法通过使用他之前的认证令牌来通过控制器的认证:

  1. $ deis apps
  2. 401 UNAUTHORIZED
  3. Detail:
  4. Invalid token

Bob要想重新能够使用API,他必须登录进控制器然后重新领取一个新的令牌:

  1. $ deis login http://deis.example.com
  2. username: bob
  3. password:
  4. Logged in as bob
  5. $ deis apps
  6. === Apps