在大三角帆中创建阶段特定参数?

Create a stage specific parameter in spinnaker?

我有一个 spinnaker 管道,它有 3 个阶段,在不同的集群中创建配置映射。除了标记值外,这些 configmap 看起来很相似。我希望能够为每个阶段创建一个标签参数,这样我就可以重复使用相同的 configmap.yaml 但只需替换标签即可。

目前这在 spinnaker 中不可行吗?或者另一种方法是获取当前阶段名称(每个阶段的唯一值),然后使用 spinnaker 表达式在标签上使用它。这似乎也不受支持?

首先,您将在管道编辑器的“配置”选项卡中注册一个管道参数(只需要名称):

在这种情况下,我们使用参数来指定清单的命名空间。编辑您的清单,使元数据部分包含:

 # ... other keys
metadata:
  namespace: '${ parameters.namespace }'
# other keys ...

当您手动转到运行管道时,您将看到以下内容:

当参数化不是字符串的 YAML 值(例如副本计数)时,您需要将评估的表达式显式转换为正确的类型。

如果您希望副本计数到达参数 replicas,您可以这样写:

# ... other keys
spec:
  replicas: '${ #toInt( parameters.replicas ) }'
# other keys ...

参考:https://spinnaker.io/guides/user/kubernetes-v2/parameterize-manifests/