Cluster-init 區段從屬於 node 和 nodearray 區段。
本 [[[cluster-init]]] 節會定義要在節點上執行的 CycleCloud 專案 規格。
本節使用速記符號來參考完整規格:
[[[cluster-init PROJECT:SPEC:VERSION]]]
根據預設,假設專案已儲存在 儲物櫃 中。 不過,如果您使用 GitHub 中定義的專案,您可以使用 `cyclecloud/` 作為前綴來指示。
[[[cluster-init cyclecloud/PROJECT:SPEC:VERSION]]]
此區段指示 CycleCloud 從 GitHub 下載專案檔案,並將其上傳至您在特殊快取區域中的保險箱。 如果在 cluster-init 參考中沒有cyclecloud/,CycleCloud 預期您需要手動上傳專案。
例如,此叢集範本會定義一個使用三個規格的節點:
[cluster my-cluster]
[[node defaults]]
[[[cluster-init my-proj:default:versionA]]]
[[node my-node]]
Credentials = $Credentials
SubnetId = $SubnetId
MachineType = $MachineType
ImageName = $ImageName
[[[cluster-init test-locker/myproject:my-spec:x.y.z]]]
[[[cluster-init my-proj:my-spec:versionA]]]
以參考參數開頭的 $ 屬性值。
CycleCloud 專案規格會依您在叢集範本檔案中列出的順序執行。 在此範例中,my-proj:default 會先執行,因為它來自節點預設值。 接下來,會執行 myproject:my-spec,而其來自名為 test-locker 的保險箱。 最後,my-proj:my-spec 執行了。
該 [[[cluster-init PROJECT:SPEC:VERSION]]] 表單是以下部分的簡寫:
[[[cluster-init]]]
Project = PROJECT
Version = VERSION
Spec = SPEC
您也可以使用 [[[cluster-init SOURCE_LOCKER/PROJECT:SPEC:VERSION]]] 來指定 cluster-init 規格的 SourceLocker。來源保險箱是選用項目。 如果沒有它,CycleCloud 會假設儲存裝置已經暫存了檔案。 如果設定為特殊名稱 cyclecloud,它會使用 CycleCloud 中定義的內建專案,其內容會儲存在 GitHub 中。 否則,如果設定為不同的儲存櫃,它會在啟動節點之前,把檔案從該櫃暫存於目標櫃中。 此功能適用於自訂叢集初始化專案和多區域部署。 您可以手動將檔案暫存至單一儲物櫃,而 CycleCloud 會使用該儲物櫃作為其他區域中節點的來源儲物櫃。
備註
自動暫存的專案會放在目標鎖定器的特殊快取目錄中,因此它們不會與您手動暫存的專案衝突。
屬性參考
| 屬性 | 類型 | 定義 |
|---|---|---|
| 隨附此逐步解說的專案 | 繩子 | CycleCloud 項目的名稱。 |
| 版本 | 繩子 | CycleCloud 項目規格的版本。 |
| 規格 | 繩子 | CycleCloud 專案規格的名稱。 |
| 櫃子 | 繩子 | 要從中下載項目規格的儲物櫃名稱。 |
| SourceLocker | 繩子 | 選擇性。 另一個應該用來暫存檔案的保險箱名稱。 如果設定為特殊名稱 cyclecloud,它會使用 CycleCloud 中定義的內建專案,其內容會儲存在 GitHub 中。 |
| 訂單 | 整數 | 可用來覆寫規格順序的選用整數。 預設值從 1000 開始,每新增一個規格就會增加 1。 |