如何在Kubernetes容器命令中使用环境变量?

10

我尝试将cloudsql代理部署为侧车容器,就像这样:

        - name: cloudsql-proxy
          image: gcr.io/cloudsql-docker/gce-proxy:1.11
          command: ["/cloud_sql_proxy",
              "-instances=${CLOUDSQL_INSTANCE}=tcp:5432",
              "-credential_file=/secrets/cloudsql/google_application_credentials.json"]
          env:
            - name: CLOUDSQL_INSTANCE
              valueFrom:
                secretKeyRef:
                  name: persistence-cloudsql-instance-creds
                  key: instance_name
          volumeMounts:
            - name: my-secrets-volume
              mountPath: /secrets/cloudsql
              readOnly: true

但是当我部署它时,在日志中出现以下错误:

2019/06/20 13:42:38 couldn't connect to "${CLOUDSQL_INSTANCE}": googleapi: Error 400: Missing parameter: project., required

我该如何在运行在 Kubernetes 容器中的命令中使用环境变量?

1个回答

19
如果你想在命令中引用环境变量,需要将它们放在括号中,例如:$(CLOUDSQL_INSTANCE)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接