kubernetes中如何使用Argo CD传环境变量部署

How to use Argo CD to pass environment variables to deploy in kubernetes

我们正在使用 argo cd 和 kubernetes。

并且我想在yaml文件中使用环境变量。

例如,

apiVersion: v1
kind: Service
metadata:
  name: guestbook-ui
  annotations:
spec:
  ports:
    - port: $PORT
      targetPort: $TARGET_PORT
  selector:
    app: guestbook-ui

我想在部署到 Argo CD 时设置环境变量(PORT 和 TARGET_PORT)的值。

我该怎么办?

我建议将原始 YAML 转换为 Helm 图表并对相关字段进行模板化。

A​​rgo CD 有一个example Helm app,其服务与您的类似。

您可以这样定义服务:

apiVersion: v1
kind: Service
metadata:
  name: guestbook-ui
  annotations:
spec:
  ports:
    - port: {{ .Values.service.port }}
      targetPort: {{ .Values.service.targetPort }}
  selector:
    app: guestbook-ui

然后在Argo CD中定义你的port和targetPort参数。