热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CloudStack基于项目的资源访问控制

2012年4月5日,Citrix宣布旗下云基础设施平台CloudStack加入Apache软件基金会,这款以最成熟的文档和最容易安装著称的云基础平台再一次引起了业界的广泛关注。当时正值CloudStack3.0beta发布,新的UI大大提升了用户体验,对与云资源的精细管理的功能也被源

2012年4月5日,Citrix宣布旗下云基础设施平台CloudStack加入Apache软件基金会,这款以最成熟的文档和最容易安装著称的云基础平台再一次引起了业界的广泛关注。当时正值CloudStack 3.0 beta发布,新的UI 大大提升了用户体验,对与云资源的精细管理的功能也被源源不断的加入了近来,CloudStack 3.0 的发布无疑又让其在与竞争对手的竟争中再一次保持领先 。

本文给大家介绍CloudStack 3.0中的新功能:Project。

一、CloudStack中为什么需要引入Project

         Project项目是CloudStack 3.0引入的一个特色功能,提供了更精细的虚拟资源管理能力,特别适合于以项目为单位的,灵活多变的部门使用。

        在介绍Project项目之前,先简单介绍一下CloudStack中已有的以域、帐户和用户的资源管理的关系及各自定位。

        在CloudStack中“帐户”是云资源管理的基本单位,而“用户”是做为“帐户”别名形式存在的。同一个帐户中的用户之间的资源不会隔离,生产环境中我们一般会给公司内部的一个部门,或者一个小组分配一个帐户。

         CloudStack的“域”是一组“帐户”的集合,在CloudStack初始化完成后默认会建立ROOT域,即根域。以后建立的域都以树的方式组织,在生产环境中可以为相对独立的部门或者其他城市的部门分配一个域。每个域都有一个域管理员,域管理员的权限高于其他用户。

         在CloudStack3.0之前,是不能在域中的各帐户之间共享资源的,而以帐户为单位的资源隔离的粒度又太细,这就是引入Project的原因。和域类似,项目是一组“帐户”和资源的集合,不同的是一个项目中的资源可以被项目中的帐户共享

          有了项目的概念后,每个CloudStack普通用户会拥有两类资源:我的资源和我所在项目的资源。为了更方便的区分管理这两类资源,CloudStack 界面中增加了视图的选项。在项目视图的环境中,帐户所创建的所有资源归项目所有,归项目全体成员共享,当一个帐户离开项目后,他所创建的资源仍然会继续存在。

二、CloudStack 项目的特点

        1、一个项目只能管理一个Zone中的资源,不能跨Zone。

        2、项目管理的资源包括: 虚拟机、公用IP、卷、快照、模板、网络。

        3、创建项目的权限:Root和域Admin角色的用户可以创建项目;

                  如果在全局配置中打开:allow.user.project.creation,普通用户也可以创建项目。

        4、项目与帐户的关系:

               A、一个帐户可以属于多个项目;

               B、一个帐户可以创建,并拥有多个项目;

               所有的项目成员都可以查看项目中的资源状况。

三、Step By Step 学习,体验创建、挂起和撤销一个项目

        为了更好的演示Project项目的特点,设定环境如下:先创建一个域 DevDomain,再向该域中添加一个帐户:devmanager,并以devmanager的身份重新登陆到CloudStack 。

         添加一个名为:devmanger的帐户,并指定域为:DevDomain。

        

        添加一个名为:DevProject的项目

为DevProject添加帐户,分别为:devli,devzhang,devwang,还有DevProject的所有者:devmanager。

项目的创建者默认为项目的管理员admin,也可以在本步骤指定其他管理者:

也可以以邮件的方式,“邀请其他成员加入”,请参考:参考本文后面的全局配置信息。

邀请发送后,被邀请人登陆后,就可以看到邀请的提示信息:

创建项目最重要的一个环节:指定DevProject项目管理资源的限制,包括:虚拟机、公用IP、卷、快照、模板、网络:

为了更好的测试DevProject的资源限制情况,这里把限制都设置为2。该数字默认为20,可以在全局设置中修改。

项目创建完成后,就可以在项目中创建资源,供项目成员共享使用了。请注意,一定要在“项目视图”下操作,在默认视图下对资源的操作和项目无关!

进入项目视图:

创建2个虚拟机后,再创建虚拟机,这时提示超过项目资源限制了。

用另一个项目成员帐号登陆:

挂起项目后,项目中的资源就不能使用了,所有的虚拟机自动进入关机状态。

项目重新恢复后,已经在关机状态的虚拟机不会重新启动。

四、CloudStack中与项目有关的全局配置:

allow.user.create.projects            普通用户是否可以创建一个项目,默认为true

max.project.networks                  每个项目可以创建网络的默认数量上限 20

max.project.public.ips                  每个项目可以使用公网IP的默认数量上限 20

max.project.snapshots                  每个项目可以创建快照的默认数量上限 20

max.project.templates                   每个项目可以部署模板的默认数量上限 20

max.project.user.vms                   每个项目可以部署用户虚拟机的默认数量上限 20

max.project.volumes                    每个项目可以创建卷的默认数量上限 20

project.email.sender                     发送项目邀请邮件的标题

project.invite.required                   当添加账户到项目时,是否需要邀请确认. 默认为 false 

project.invite.timeout                    邀请过期时间(秒). 默认为一天 86400秒 86400

project.smtp.host              用于发送项目邀请邮件的SMTP主机名

project.smtp.password                  SMTP认证密码(仅当project.smtp.useAuth为true时有效)

project.smtp.port SMTP                 服务器监听端口 465

project.smtp.useAuth                      如果true, 发送电子邮件时使用SMTP认证

project.smtp.username                     SMTP认证用户名 (仅当project.smtp.useAuth为true时有效)

至此,我们就体验了CloudStack中与Project项目相关的各项功能,相信你一定对CloudStack的这个功能印象深刻吧。


推荐阅读
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 创建第一个 MUI 移动应用项目
    本文将详细介绍如何使用 HBuilder 创建并运行一个基于 MUI 框架的移动应用项目。我们将逐步引导您完成项目的搭建、代码编写以及真机调试,帮助您快速入门移动应用开发。 ... [详细]
  • 梦幻西游挖图奇遇:70级项链意外触发晶清诀,3000W轻松到手
    在梦幻西游中,挖图是一项备受欢迎的活动,无论是小宝图还是高级藏宝图,都吸引了大量玩家参与。通常情况下,小宝图的数量保证了稳定的收益,但特技装备的出现往往能带来意想不到的惊喜。本文讲述了一位玩家通过挖图获得70级晶清项链的故事,最终实现了3000W的游戏币逆袭。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 邮件(带附件,模拟文件上传,跨服务器)发送核心代码1.测试邮件发送附件接口***测试邮件发送附件*@parammultipartFile*@return*@RequestMappi ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文探讨了在不使用服务器控件的情况下,如何通过多种方法获取并修改页面中的HTML元素值。除了常见的AJAX方式,还介绍了其他可行的技术方案。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
author-avatar
batman@zhou
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有