iT邦幫忙

0
鐵人賽 神助攻 Nutanix

Nutanix Calm DSL – 專案管理

https://ithelp.ithome.com.tw/upload/images/20200929/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實例中,這是“默認”項目。 它顯示了許多用戶帳戶,顯示允許項目連接到的子網的群集以及可以將應用程序部署到的各種提供程序類型。 就今天的文章而言,只有這些設置是您需要關注的,因為我們可以配置這些設置並開始部署應用程序。

https://ithelp.ithome.com.tw/upload/images/20200929/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 ”的項目。

https://ithelp.ithome.com.tw/upload/images/20200929/20129565d7Als9k5a6.png
列出當前針對已配置的Prism Central實例註冊的所有項目

類似地,可以如下更詳細地描述特定項目:

calm describe project [project_name]

https://ithelp.ithome.com.tw/upload/images/20200929/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 Project
from calm.dsl.builtins import Provider, Ref


ACCOUNT = "NTNX_LOCAL_AZ"
SUBNET = "vlan.0"
CLUSTER = "Galactica"
USER = "jane.doe@ntnx.local"
GROUP = "cn=sspadmins,cn=users,dc=ntnx,dc=local"
VCPUS = 1
STORAGE = 2  # GiB
MEMORY = 1  # GiB


class 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項目文件並創建項目。

https://ithelp.ithome.com.tw/upload/images/20200929/201295659AZEZPmCaV.png
使用Nutanix Calm DSL創建項目

然後,使用“ calm describe project test_project”描述新項目時的結果:

https://ithelp.ithome.com.tw/upload/images/20200929/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

https://ithelp.ithome.com.tw/upload/images/20200929/20129565k1yOEdZiR2.png
設置項目以使用Calm DSL

現在可以創建藍圖:

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

https://ithelp.ithome.com.tw/upload/images/20200929/20129565tuLWZlQyNe.png
使用Calm DSL創建一個分配給我們新的“ testproject”的藍圖

總結

在今天的文章中,我們研究如何使用 Nutanix Calm DSL 創建 Calm 項目。這是通過編程,配置整個環境並和 Nutanix Calm 共同使用的關鍵。

感謝您的閱讀,祝您有美好的一天!


尚未有邦友留言

立即登入留言