gpt4 book ai didi

docker - curl 命令参数上的YAML解析错误

转载 作者:行者123 更新时间:2023-12-02 11:56:37 24 4
gpt4 key购买 nike

我正在尝试在k8s中创建一个小的cronjob,该cronjob只是在busybox容器中使用curl来执行HTTP Post。格式是错误的,但是我无法弄清楚必须更改什么。

我尝试谷歌搜索我收到的错误消息以及以各种方式更改curl命令的格式,但均未成功。

apiVersion: batch/v1beta1
kind: CronJob
#namespace: test
metadata:
name: test-cron
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: test-cron
image: busybox
args:
- /bin/sh
- -c
- curl "https://test-es01.test.svc.clu01.test.local:9200/logs_write/_rollover" -H 'Content-Type: application/json' -d '{"conditions: {"max_size": "5gb"}}'
restartPolicy: OnFailure

然后,我尝试运行该文件:
kubectl -n test apply -f test-cron.yaml
并得到以下错误:
error: error parsing test-cron.yaml: error converting YAML to JSON: yaml: line 20: mapping values are not allowed in this context
有人知道格式问题是什么吗?

谢谢

最佳答案

那就是因为您的curl命令包含分号,所以yaml认为您正在尝试定义一个对象。解决错误:

  • 用反斜杠转义每个":\"
  • "包裹整行

  • 因此-
     - curl "https://test-es01.test.svc.clu01.test.local:9200/logs_write/_rollover" -H 'Content-Type: application/json' -d '{"conditions: {"max_size": "5gb"}}'

    应该逃到
    - "curl \"https://test-es01.test.svc.clu01.test.local:9200/logs_write/_rollover\" -H 'Content-Type: application/json' -d '{\"conditions: {\"max_size\": \"5gb\"}}'\n"

    http://www.yamllint.com/是跟踪此类错误的好地方。

    关于docker - curl 命令参数上的YAML解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58501984/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com