警告

NOTICE: THIS DOCUMENTATION SITE HAS BEEN SUPERSEDED.

For the current documentation site goto: http://docs.cloudstack.apache.org

使用项目来管理用户和资源。

项目概览

项目用来管理用户和资源。处于单独域中的CloudStack用户可以自组,他们可以集中并分享虚拟资源,如VM、快照、模板、磁盘、IP地址等。CloudStack可以像跟踪每个用户一样跟踪每个项目的资源,所以可以按照用户或者项目对资源使用收费。例如,一个软件公司的私有云可能将所有QA部门的员工分配到一个项目,当需要在测试中区分同一云中该项目组员工的贡献时,测试中的资源跟踪将变的容易。

你可以配置 CloudStack允许任何用户创建项目,或者你也可以只允许CloudStack管理员进行此项操作。一旦你创建了项目,你就成为项目管理员,你可以将域中的其他用户加入到项目。CloudStack可以设置成将用户直接加入项目或者向接受者发送邀请。项目组成员可以浏览和管理项目中的所有虚拟资源(例如,共享VM)。一个用户可以属于任何项目组,并可在CloudStack界面中切换只与项目相关的信息,如项目VM,项目成员,项目相关警告等。

项目管理员可以将角色传递给项目另外的成员。项目管理员也可以添加、删除项目成员,设置新的资源限制(只要在CloudStack管理员默认的全局设置范围之内),删除项目。当管理员将成员移出项目,那个成员所创建的资源,如VM实例,仍旧在项目中。这将我们带到了资源归属以及项目可用资源的课题下.

项目内创建的资源为项目所有,不属于任何特殊的CloudStack帐户,仅能在项目内使用。属于一个或多个项目的用户扔可在这些项目之外创建资源,这些资源属于这个用户帐户;与项目使用和资源限制并不冲突。你可以在项目内创建项目级的网络来隔离流量,并提供网络服务,如端口转发,负载均衡,VPN,静态NAT。项目也可以在项目之外使用特定资源,只要这些资源是共享的。例如,域中的共享网络,公用模板对任何项目都是可用的。模板所有者如果赋予权限,项目也可以使用私有模板。项目可以使用域中设置的服务方案或磁盘方案;然后,你无法在项目层级创建私有服务和磁盘方案。

配置项目

在CloudStack用户使用项目前,CloudStack管理员必须设置不同的系统以支持它们,包括成员身份邀请,项目资源的限制,以及对谁可以创建项目的控制。

设置邀请

CloudStack可以设置成项目管理员直接添加用户或者向接受者发送邀请。邀请可以通过邮件或者用户的CloudStack帐户。如果你希望管理员使用邀请来添加项目成员,那么打开并设置CloudStack中的邀请属性。

  1. 使用管理员登录到CloudStack管理界面。

  2. 在左侧导航栏,点击 全局设置

  3. 在搜索栏中,输入项目,点击搜索按钮。 |搜索项目|

  4. 在搜索结果中,你还需要设置一些其他的参数来控制邀请行为。下表所示的是全局配置参数中与项目邀请相关的部分,点击编辑按钮设置每个参数。

    配置参数 描述
    project.invite.required 将值设置为 true以打开邀请特性。
    project.email.sender 邀请邮件中填入发送区域的邮件地址。
    project.invite.timeout 新成员对于邀请的允许响应时间。
    project.smtp.host 作为处理邀请的邮件服务器的主机名。
    project.smtp.password (可选)SMTP服务器要求的密码。你必须将project.smtp.username和project.smtp.useAuth也设置为true。
    project.smtp.port SMTP服务器的监听端口。
    project.smtp.useAuth 如果SMTP服务器需要用户名和密码,则设置为true
    project.smtp.username (可选) 用于SMTPU认证的用户名。必须将project.smtp.password 和project.smtp.useAuth也设置为true。
  5. 重启管理服务器:

    service cloudstack-management restart
    

设置项目的资源限制

CloudStack管理员可以设置全局默认限制来控制云中每个项目可拥有的资源量。该服务用来限制不可控的资源使用,如快照,IP地址,虚拟机实例。域管理员在域中可以覆盖个人项目中的这些资源限制,只要这些限制在CloudStack根管理员的全局默认限制范围内。CloudStack根管理员可以为云中的任何项目设置更低的资源限制。

按项目设置资源限制

The CloudStack root administrator or the domain administrator of the domain where the project resides can set new resource limits for an individual project. The project owner can set resource limits only if the owner is also a domain or root administrator.

新限制值必须小于 CloudStack系统管理员设置的全局限制值(参见`“设置项目的资源限制” <#setting-resource-limits-for-projects>`_)。如果项目中的某种资源数量已经超过了新限制值,现有资源不受影响。然而,该项目将不能再添加该类型的新资源,直到资源数低于新限制值。

  1. 使用管理员登录到CloudStack管理界面。
  2. 在左侧导航栏点击项目。
  3. 在选择视图选择项目。
  4. 点击您要操作的项目名称。
  5. 点击资源页。该页列出了项目当前可拥有的各类资源的最大数量。
  6. 为一种或几种资源输入新值。
  7. 点击应用

设置全局项目资源限制

  1. 使用管理员登录到CloudStack管理界面。

  2. 在左侧导航栏,点击 全局设置

  3. 在搜索栏输入“max.projects”,点击搜索按钮。

  4. 在搜索结果中,你可以看到应用于云中所有项目的参数,你可以使用它们设置每个项目的最大资源量。没有项目能拥有更多资源,但个人项目能拥有更低的限制。点击编辑按钮设置每个参数。|编辑参数|

    max.project.public.ips 项目拥有的公共IP最大值,参看公共IP地址。
    max.project.snapshots 项目可拥有的最大快照数。参看工作相关快照。
    max.project.templates 项目可拥有的最大模板数。参看工作相关模板。
    max.project.uservms 项目中的虚拟客户机最大数目。参看工作相关虚拟机。
    max.project.volumes 项目中所拥有的最大数据卷数,参看工作相关卷。
  5. 重启管理服务器。

    # service cloudstack-management restart
    

设置项目创建许可

你可以配置 CloudStack允许所有用户创建新项目,或限制只有 CloudStack管理员具备此项能力。

  1. 使用管理员登录到CloudStack管理界面。

  2. 在左侧导航栏,点击 全局设置

  3. 在搜索框中,输入allow.user.create.projects。

  4. 点击编辑按钮设置参数。|编辑参数|

    allow.user.create.projects

    设置为true以允许端用户创建项目。设置为false如果你仅希望CloudStack根管理员和域管理员创建项目。

  5. 重启管理服务器。

    # service cloudstack-management restart
    

创建新项目

CloudStack系统管理员和域管理员能创建项目。如果全局变量allow.user.create.projects设置为true,终端用户也能创建项目。

  1. 使用管理员登录到CloudStack管理界面。
  2. 在左侧导航栏点击项目。
  3. 在选择视图点击项目。
  4. 点击新建项目。
  5. 为项目命名并添加描述,然后点击创建项目。
  6. 会出现一个界面,你可以很快的添加更多成员到项目中,此步可选。当你准备好继续,点击下一步。
  7. 点击保存。

添加成员到一个项目

项目管理员、项目所属域的域及其父域的管理员,CloudStack根管理员均可以添加新成员。CloudStack有两种方法可以添加成员,但每次只能使能一种:

  • 如果邀请已被使能,你可以向新成员发送邀请。
  • 如果邀请未被使能,你可以直接通过界面添加成员。

发送项目成员关系邀请

如果邀请特性按照 `“设置邀请” <#设置邀请>`_中描述的方式被打开,使用这些步骤添加项目成员。如果邀请特性没有被打开,使用在界面中添加项目成员的步骤。

  1. 登录到CloudStack的界面
  2. 在左侧导航栏点击项目。
  3. 在选择视图选择项目。
  4. 点击您要操作的项目名称。
  5. 点击邀请标签。
  6. 在添加中,选择以下其中一个:
    1. 帐户 – 邀请将出现在用户项目概览的邀请标签中。参见使用项目概览。
    2. 邮件 – 邀请将发送到用户的邮箱地址。每个被发送的邀请中包含一个唯一的编码,称为令牌,当接收者接受邀请时需要向 CloudStack提供此令牌。只有当SMTP服务器相关的参数设置完毕后,邮件邀请才能工作。参见`“设置邀请” <#setting-up-invitations>`_。
  7. 输入想要添加的新用户的用户名称或邮件地址,点击邀请。如果你在前述步骤中选择了帐户那么输入CloudStack用户名。如果你选择了邮箱,那么输入邮箱地址,你只能邀请在云中拥有帐户并在与项目组同一域中的用户。然而,你可以向任何邮箱发送邀请。
  8. 为了浏览和管理你所发送的邀请,返回到这个标签。当邀请被接受,新成员将显示在项目帐户标签中。

在界面中添加项目成员

下面的步骤介绍在邀请特性未使能的情况下如何添加项目新成员。如果邀请特性已按照 `“设置邀请” <#设置邀请>`_在云中被使能,那么使用 `“发送项目成员关系邀请” <#发送项目成员关系邀请>`_中的步骤。

  1. 登录到CloudStack的界面
  2. 在左侧导航栏点击项目。
  3. 在选择视图选择项目。
  4. 点击您要操作的项目名称。
  5. 点击项目按钮,项目目前的成员将被列表显示。
  6. 输入你想添加的新成员帐户名称,点击添加帐户。你只能添加云中已有并与项目存在于相同域中的帐户。

接受成员关系邀请

如果你收到了一个加入CloudStack项目的邀请,并希望接受邀请,请按照以下步骤:

  1. 登录到CloudStack的界面

  2. 在左侧导航栏点击项目。

  3. 在选择概览,选择邀请。

  4. 如果你看到有邀请列表显示,点击接受按钮。

    屏幕上所显示的邀请是通过你的CloudStack帐户发送的。

  5. 如果你收到的是邮件邀请,点击输入令牌按钮,提供邮件中的项目ID和唯一的ID编码(令牌)。

挂起或删除项目

当项目被挂起,它仍保有资源,但这些资源不能被使用。新资源及用户不能被加入到挂起的项目。

当项目被删除,资源将被销毁,成员帐户也从项目中移除。项目状态被显示为禁止有待最后删除。

项目可以被管理员,项目所属的域及其父域管理员, CloudStack根管理员挂起或删除,

  1. 登录到CloudStack的界面

  2. 在左侧导航栏点击项目。

  3. 在选择视图选择项目。

  4. 点击项目名称。

  5. 点击以下按钮:

    使用 |移除项目|进行删除

    使用 |挂起项目|进行挂起

使用项目概览

如果你是项目成员,你可以通过CloudStack项目概览查看项目成员,资源消耗等。项目概览仅显示与一个项目相关的信息,从众多信息中筛选出项目状态及资源,这是种有效的方法。

  1. 登录到CloudStack的界面
  2. 点击项目概览。
  3. 出现项目控制板,显示项目VM,卷,用户,事件,网络设置等,在控制板中,你可以:
    • 点击帐户按钮浏览和管理项目成员。如果你是项目管理员,你可以添加新成员,或者将成员从用户改为管理员。每次只有一名成员能成为管理员,如果你将另外的用户设置为管理员,你将成为普通用户。
    • (如果邀请已被使能)点击邀请按钮来浏览或管理已经想新项目成员发出未被接受的邀请。有待确认的邀请将一直在列表中知道被新成员接受,或邀请时间超时,或你取消了邀请。