curl - 来自 K8S POD 的 CURL
问题描述
我试图通过将环境变量的值作为路径参数传递来运行 curl 命令。但不知何故,环境变量的值没有被传递,而是文字字符串$CUSTOMER_ID被传递。下面是我正在尝试配置的 cron 作业的定义。
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: test-cron-job
spec:
schedule: "*/15 * * * *"
jobTemplate:
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: test-cron-job
image: myImage
command: [
"curl",
"-X",
"DELETE",
"http://application:8080/api/customer/"$CUSTOMER_ID""
]
env:
- name: CUSTOMER_ID
valueFrom:
configMapKeyRef:
name: app-config-map
key: customer_id
volumeMounts:
- name: app-config-map
mountPath: /etc/app-config-map
volumes:
- name: app-config-map
configMap:
name: app-config-map
我不确定这有什么问题。任何指针都会有所帮助。
解决方案
这里的问题是您需要一个 shell 来评估环境变量。
您的命令应如下所示:
command:
- /bin/sh
- -c
- curl -X DELETE "http://application:8080/api/customer/$CUSTOMER_ID"
推荐阅读
- pyspark - 保存的模型:LinearRegression 似乎不起作用
- optaplanner - 如何将 OptaPlanner 配置为在 ProblemFactChange 之后仅重新启动某些求解器阶段?
- swift - 为什么第一次打开应用时会调用 appWillResignActive?
- android - 获取具有签名保护级别的 Android 权限
- sas - SAS 格式在哪里定义?
- regex - 在 VSCode 用户代码段中将 Pascal Case 转换为 Kebab Case
- javascript - RuntimeError:线程 'Thread-1' 中没有当前事件循环。- requests_html, html.render()
- mysql - 循环生成 32 列的随机词/日期时间,将 100 万条记录插入 MySQL 非常慢
- python - 生成预测列表
- r - 在ggplot2中绘制多个组的平均值