你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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 中。 否则,如果设置为其他保险箱,它会在启动节点之前将文件从该保险箱暂存到目标保险箱。 此功能适用于自定义群集 init 项目和多区域部署。 将文件手动暂存到单个保险箱,CycleCloud 使用该保险箱作为其他区域中节点的源保险箱。
注释
自动暂存的项目将放入目标保险箱的特殊缓存目录中,以便它们不会与手动暂存的项目冲突。
属性参考
| 特征 | 类型 | 定义 |
|---|---|---|
| 项目 | 字符串 | CycleCloud 项目的名称。 |
| 版本 | 字符串 | CycleCloud 项目规范的版本。 |
| 规范 | 字符串 | CycleCloud 项目规范的名称。 |
| 保险箱 | 字符串 | 要从其中下载项目规范的保险箱的名称。 |
| SourceLocker | 字符串 | 可选。 应用于暂存文件的另一个保险箱的名称。 如果设置为特殊名称 cyclecloud,它将使用 CycleCloud 中定义的内置项目,该项目的内容存储在 GitHub 中。 |
| 下单 | 整数 | 可用于替代规范顺序的可选整数。 默认值从 1000 开始,针对每个规格向上上升一个。 |