代码之家  ›  专栏  ›  技术社区  ›  neuron

Kubernetes ConfigMap在有效的YAML中导出“string”

  •  0
  • neuron  · 技术社区  · 1 年前

    我正试图使用ConfigMap在Kubernetes中设置一个Cron作业,并将一个shell脚本装载到一个卷中。我有有效的YAML,但第9行抛出一个错误,它需要一个字符串:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: elasticdump-configmap
      namespace: default
    data:
      job.schedule: "*/5 * * * *"
      spec:
        restartPolicy: OnFailure
        containers:
        - name: elasticdump
          image: elasticdump/elasticsearch-dump
          imagePullPolicy: IfNotPresent
          command: ["/bin/sh", "-c", "elasticdump.sh"]
        volumeMounts:
          - mountPath: /opt/data
            name: blob01
        resources:
          requests:
            memory: 1Gi
          limits:
            memory: 5Gi
      volumes:
         - name: blob01
           persistentVolumeClaim:
            claimName: pvc-blob
           configMap:
            name: elasticdump-configmap
            items:
              - key: elasticdump.sh
                path: elasticdump.sh
    

    我知道我在YAML的结构中做了一些错误的事情,但我对Kubernetes还很陌生,所以我希望能提供一些建议。

    1 回复  |  直到 1 年前
        1
  •  1
  •   Maxim    1 年前

    如中所述 docs :

    ConfigMap是一个API对象,用于存储 其他要使用的对象。

    所以,这样定义CronJob是不可能的。请看特殊的k8s对象 CronJob

    apiVersion: batch/v1
    kind: CronJob
    metadata:
      name: elasticdump-configmap
      namespace: default
    spec:
      schedule: "*/5 * * * *"
      jobTemplate:
        spec:
          template:
            spec:
              containers:
              - name: elasticdump
                image: elasticdump/elasticsearch-dump
                imagePullPolicy: IfNotPresent
                command: ["/bin/sh", "-c", "elasticdump.sh"]
                volumeMounts:
                - mountPath: /opt/data
                  name: blob01
                resources:
                  requests:
                    memory: 1Gi
                  limits:
                    memory: 5Gi
              volumes:
              - name: blob01
                persistentVolumeClaim:
                  claimName: pvc-blob
              - name: elasticdump-configmap
                configMap:
                  name: elasticdump-configmap
                  items:
                  - key: elasticdump.sh
                    path: elasticdump.sh
              restartPolicy: OnFailure
    
    推荐文章