0

我们正在尝试使用argocd app create命令部署一些部署文件。我们的 yaml 文件包含一个用于动态指定图像名称的参数。我们正在考虑使用 argocd cli 传递图像值以在运行时替换此变量。argocd 的参数覆盖似乎不适用于非掌舵部署。下面是deployment.yaml保存图像占位符的文件:

spec:
  containers:
  - name: helloworld-gitlab
    image: '###IMAGE###'

kustomization.yaml如下:

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- gitlab_msd_deployment.yaml
- gitlab_msd_service.yaml

我们在 argocd 命令中传递以下值。

argocd app create helloworld-gitlab --repo https://example.git --path ./k8s-deployments/  --dest-server https://kubernetes.default.svc --dest-namespace ${NAMESPACE} --kustomize-image $IMAGE

但是 pod 的InvalidImageName状态如下:

Failed to apply default image tag "###IMAGE###": couldn't parse image reference "###IMAGE###": invalid reference format: repository name must be lowercase

知道如何将占位符替换为argocd app create命令中发送的值吗?还有其他想法吗?

4

1 回答 1

0

我可以让这个工作如下(在松弛频道的帮助下)。文件定义在这里

argocd app create mykustomize-guestbook --repo https://github.com/mayzhang2000/argocd-example-apps.git --path kustomize-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --kustomize-image myImage=gcr.io/heptio-images/ks-guestbook-demo:0.1
于 2020-12-08T12:56:34.293 回答