你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Cluster-Init

Cluster-init 部分是 nodenodearray 部分的下属。 该 [[[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 开始,针对每个规格向上上升一个。