在我們最新的標題為《Nutanix Calm DSL –創建自定義藍圖》的文章中,我們討論了很多不同的內容。以下為這裡所涵蓋內容的重點:
而今天將為大家示範展示避免手動編寫YAML的程序。
**請注意,需要在工作站/電腦與已配置的Prism Central之間建立連接。
下圖顯示的是上一篇文章中使用的YAML的規範。我們不會詳細介紹每行的功能(可以回顧紹上一篇文章),該特定規範適用於LAMP應用程序中的HA代理服務器。
categories: {}
name: HAPROXY
resources:
boot_config:
boot_device:
disk_address:
adapter_type: SCSI
device_index: 0
disk_list:
- data_source_reference:
kind: app_package
name: CENTOS_7_CLOUD
device_properties:
device_type: DISK
disk_address:
adapter_type: SCSI
device_index: 0
disk_size_mib: 0
guest_customization:
cloud_init:
user_data: |
#cloud-config
users:
- name: centos
ssh-authorized-keys:
- '@@{CENTOS.public_key}@@'
sudo:
- ALL=(ALL) NOPASSWD:ALL
memory_size_mib: 4096
nic_list:
- ip_endpoint_list: []
network_function_nic_type: INGRESS
nic_type: NORMAL_NIC
subnet_reference:
kind: subnet
uuid: f5606fed-2c33-45e8-9ccf-303db6eb93d8
num_sockets: 2
num_vcpus_per_socket: 2
如果我們不想「亂逛」並手動輸入提供商規範怎麼辦?Nutanix Calm工程團隊花費大量時間來確保Calm DSL中提供最有用的功能。
看下面的程式命令:
calm create provider_spec
非常的容易!默認情況下,該命令將逐步生成YAML格式且有效Calm DSL所提供程序規範,而無需自己設定YAML。讓我們來看看:
查看上面的螢幕快照,我們可以看到DSL在生成YAML提供程序規範時,將提示的各種所需訊息。這也是我們可以引用過去發表的評論之處。執行指令時,必須與已配置的Prism Central實例建立連接。如果您仔細觀察,您會發現DSL在每一步都為我們提供了編號選擇,這些選擇是通過向Prism Central請求實體列表來動態生成。如果沒有與Prism Central連接,則列表將失敗。
為了方便操作,在此將命令的完整輸出分為兩部分。第二部分如下所示-基於輸入的完整YAML規範。
從這裡開始,將生成的YAML放在上面,並將其添加到準備在藍圖中使用的YAML規範文件。上一篇文章Nutanix Calm –創建自定義藍圖中概述了此過程。
在這一點上,重點是要注意上面的YAML規範專門用於AHV。換句話說,如果您未指定提供程序類型,則假定為AHV。
calm create provider_spec --type AHV_VM
如果將-h或–help開關傳遞給命令,則可以輕鬆查看我們所提供程序類型:
僅作為範例,在輸出被截斷的情況下,DSL創建一個AWS VM提供程序規範會發生什麼事:
根據這篇相當精簡的文章,可以看到Calm工程團隊如何建立功能,意味著並不總是需要編寫代碼。實際上,Nutanix工程副總裁說:「人類應該好好運用DSL。」這為DSL下了一個完美的的總結。