三角帆-清单

时间:2019-05-13 13:28:08

标签: kubernetes spinnaker

我正在使用Spinnaker Kubernetes Provider V2(清单部署程序)部署包含两个清单的单个yaml文件。在部署内部,我有一个自定义注释,该注释引用了ConfigMap:

# ConfigMap
apiVersion: v1 
kind: ConfigMap 
metadata: 
  name: my-config-map
data: 
  foo: bar
---
# Deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-deployment
spec:
  template:
    metadata:
      annotations:
        my-config-map-reference: my-config-map
  [...]

在部署后,Spinnaker将版本控制应用于ConfigMap,然后将其部署为my-config-map-v000

我希望能够在我的自定义注释中检索全名,但是由于Spinnaker仅在特定的入口点(https://github.com/spinnaker/clouddriver/blob/master/clouddriver-kubernetes/src/main/groovy/com/netflix/spinnaker/clouddriver/kubernetes/v2/artifact/ArtifactReplacerFactory.java)中用适当的版本化值自动替换configMap引用,所以这种情况不会工作。

根据Spinnaker文档(https://www.spinnaker.io/reference/artifacts/in-kubernetes-v2/#why-not-pipeline-expressions),我也许可以编写管道表达式来检索全名,但是我不能这样做。

如何在注释内设置完整的ConfigMap名称?

1 个答案:

答案 0 :(得分:0)

Spinnaker可以在部署时将当前正在执行的管道中的工件注入到清单中

有关如何Binding artifacts in manifests

的说明,请参阅本指南。

但是,如here所述,注释没有 NO 资源映射,因此应该仅由parameter for your manifest用户提供。

将来,大三角帆将记录并注释资源之间的某些关系