我正在使用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名称?
答案 0 :(得分:0)
Spinnaker可以在部署时将当前正在执行的管道中的工件注入到清单中
有关如何Binding artifacts in manifests
的说明,请参阅本指南。但是,如here所述,注释没有 NO 资源映射,因此应该仅由parameter for your manifest用户提供。
将来,大三角帆将记录并注释资源之间的某些关系