kubernetes k8s:将YAML转换为JSON时出错:yaml:第33行:找到无法启动任何标记的字符

6qftjkof  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(3)|浏览(220)

希望你一切都好,
我得到了错误:错误:
第一个月
当尝试在我的k8s集群上部署这个cronjob时,你能检查一下并让我知道你是否有任何关于这个错误原因的线索吗?
文件如下:

---
apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: resourcecleanup
spec:
  # 10:00 UTC == 1200 CET
  schedule: '0 10 * * 1-5'
  jobTemplate:
    spec:
      template:
        metadata:
          annotations:
            iam.amazonaws.com/role: arn:aws:iam::%%AWS_ACCOUNT_NUMBER%%:role/k8s/pod/id_ResourceCleanup
        spec:
          containers:
          - name: resourcecleanup
            image: cloudcustodian/c7n
            args:
                - run
                - -v
                - -s
                - /tmp
                - -f
                - /tmp/.cache/cloud-custodian.cache
                - /home/custodian/delete-unused-ebs-volumes-policies.yaml
            volumeMounts:
                - name: cleanup-policies
                  mountPath: /home/custodian/delete-unused-ebs-volumes-policies.yaml
                  subPath: delete-unused-ebs-volumes-policies.yaml
            env:
                - name: AWS_DEFAULT_REGION
                  value: %%AWS_REGION%%
          volumes:
                - name: cleanup-policies
                  configMap:
                   name: cleanup-policies
          restartPolicy: Never

---

字符串

50few1ms

50few1ms1#

问题可能是你的缩进方法,尝试使用空格而不是制表符缩进。每个缩进使用2个空格。希望这对你有帮助。

rqqzpn5f

rqqzpn5f2#

变更:

value: %%AWS_REGION%%

字符串
致:

value: "%%AWS_REGION%%"


包含以下任意字符的字符串必须用引号括起来。
:,{,},[,],&,*,#,?、|,-,<,>,=,!,%,@,无法在kubernetes文档中找到,但从ansible yaml语法中找到: 除了'和“之外,还有许多特殊(或保留)字符,不能用作无引号标量的第一个字符:[详细]|* &!% # @,.

ehxuflar

ehxuflar3#

如果其他人来这里谷歌搜索这个错误,那么引用值和模板对我有帮助。
在值中。yaml
第一个月
在您的Helm模板中:
schedule: "{{ .Values.cronjob.schedule }}"
最后一个更容易忘记,但由于变量的值可以包括@*等,因此我们也必须引用变量。

相关问题