Nutanix Calm DSL – 专案管理

http://img2.58codes.com/2024/20129565DAV1k8HKes.png

从以前到现在,Nutanix Calm DSL上的文章 Nutanix.dev 都集中起来管理。而 Calm DSL已用于管理虚拟机。毕竟,它们是虚拟化环境中最常见的实体类型。要查看这些内容,以下是您可能需要阅读的一些文章。

虚拟机– 创建和反编译执行自定义动作

但是,在企业环境中,需要的粒度控制要比虚拟机器需要的稍微多一些。在Nutanix产品管理的虚拟环境中,访问控制通常是通过操纵项目来完成的。在谈到Nutanix Calm 时尤其如此。因为所有蓝图部署都将与特定项目紧密结合。除此之外,还可以控制:

虚拟机资源配额应用程式可以执行的地方,例如 Nutanix AHV 或 AWS虚拟机器可以连接到哪些网络,例如“网络A”或“网络B”

截至2020年8月中旬,Nutanix Calm DSL现在已经可以项目管理,这意味着使用 Calm DSL 部署整个环境变得更加容易。让我们看看如何做到这一点。

已存在的专案

首先,请看下面的屏幕截图。 在我的Prism Central实例中,这是“默认”项目。 它显示了许多用户帐户,显示允许项目连接到的子网的群集以及可以将应用程序部署到的各种提供程序类型。 就今天的文章而言,只有这些设置是您需要关注的,因为我们可以配置这些设置并开始部署应用程序。

http://img2.58codes.com/2024/20129565uIqGiedg5D.png
Nutanix Prism Central实例中“默认”项目的屏幕截图

使用Calm DSL创建项目

到目前为止,所有Nutanix Calm DSL的命令都遵循明确规定的格式。例如,我们可以使用“项目”和“项目”命令来处理。听起来这简直是简单,但从逻辑上考虑,Calm DSL 工程团队已经非常确定,无论您与哪个实体合作,Calm DSL都可以非常简单的被使用。

到目前为止,所有Nutanix Calm DSL命令都遵循明确规定的格式-项目没有什么不同。 例如,我们可以使用“项目”和“项目”命令来处理……等待……项目。 这听起来像个傻瓜,但从逻辑上考虑,很明显,Calm DSL工程团队已经确保,无论您与哪个实体合作,Calm DSL都易于使用。

待处理的专案

首先,让我们看一下我们的开发群已经有哪些项目可用。请注意,这个特定的开发群已被很多同事使用,因此请原谅所有隐藏的项目名称!

calm get projects

通过执行此命令,可以很容易地看到此 Prism Central 实例具有许多不同的项目,很可能是为客户展示、测试和其他开发工作而创建的。但是,要注意的主要事情是,还可以使用“ default ”项目和另一个名为“ test_project ”的项目。

http://img2.58codes.com/2024/20129565d7Als9k5a6.png
列出当前针对已配置的Prism Central实例注册的所有项目

类似地,可以如下更详细地描述特定项目:

calm describe project [project_name]

http://img2.58codes.com/2024/20129565CFNdOakhBt.png
Calm描述项目中"BK-Demo-Project"的Output

在这种环境中,“ test_project”是由 Nutanix Calm DSL 创建的-。请注意,项目名称必须是唯一的,再次执行这些命令之前,我将从展示环境中删除该项目。

专案文件

用于创建项目的如下所示

calm create project --file [project_python_file] --name [project_name] --description [project_description]

该语句的关键部分是[project_file ]。该文件描述了特定于项目的设置,例如分配给项目的用户帐户和组,即本文前面概述的设置。今天的文章中使用的项目文件如下

from calm.dsl.builtins import Projectfrom calm.dsl.builtins import Provider, RefACCOUNT = "NTNX_LOCAL_AZ"SUBNET = "vlan.0"CLUSTER = "Galactica"USER = "jane.doe@ntnx.local"GROUP = "cn=sspadmins,cn=users,dc=ntnx,dc=local"VCPUS = 1STORAGE = 2  # GiBMEMORY = 1  # GiBclass TestDemoProject(Project):    """Project created by the Calm DSL"""    providers = [        Provider.Ntnx(            account=Ref.Account(ACCOUNT),            subnets=[Ref.Subnet(name=SUBNET, cluster=CLUSTER)],        ),    ]    users = [        Ref.User(name=USER),    ]    groups = [Ref.Group(name=GROUP)]    quotas = {"vcpus": VCPUS, "storage": STORAGE, "memory": MEMORY}

要注意的关键事项是:

项目文件通过导入所需的Python模块开始定义了变量的集合:要使用的帐户允许的子网,即vlan.0允许的AD用户帐户,即jane.doe@ntnx.local允许的AD用户组,即sspadmins项目可以消耗的资源然后,使用上面的所有特定设置来定义项目本身

创建新项目

按照上面的命令语法,现在可以使用下面的命令创建项目。

calm create project --file test_project.py --name "test_project" --description "created by the calm dsl"

如预期的那样,将解析Python项目文件并创建项目。

http://img2.58codes.com/2024/201295659AZEZPmCaV.png
使用Nutanix Calm DSL创建项目

然后,使用“ calm describe project test_project”描述新项目时的结果:

http://img2.58codes.com/2024/20129565dfyaN7vqCr.png
运行“ calm描述项目testproject”的结果

测试新项目

现在,透过创建“ test_project ”,可以正常使用 Calm DSL 。例如,我在开发系统上有一个名为“ SingleVM” 的反编译蓝图,可以使用 Calm DSL 在 Prism Central 中创建一个蓝图。
可是等等!Calm DSL当前未配置为使用我们的新项目!到目前为止,已将Calm DSL配置为使用“ 默认 ”项目。有关完整的详细信息,请参阅Nutanix Calm DSL简介,但是对于本文,我们可以通过运行以下命令自行设置项目:

calm set config --project test_project

http://img2.58codes.com/2024/20129565k1yOEdZiR2.png
设置项目以使用Calm DSL

现在可以创建蓝图:

calm create bp --file ./SingleVM/blueprint.py

http://img2.58codes.com/2024/20129565tuLWZlQyNe.png
使用Calm DSL创建一个分配给我们新的“ testproject”的蓝图

总结

在今天的文章中,我们研究如何使用 Nutanix Calm DSL 创建 Calm 项目。这是通过编程,配置整个环境并和 Nutanix Calm 共同使用的关键。

感谢您的阅读,祝您有美好的一天!


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章