es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo resolver [Error: recibí “map”, se esperaba “array”] mientras mi archivo YAML parece correcto.

Tienes un archivo YAML que se muestra así:


volumeClaimTemplates:
apiVersion: v1
type: PersistentVolumeClaim
metadata:
name: {{.Values.features.persistence.name}}
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: {{.Values.features.persistence.size}}
storageClassName: {{.Values.features.persistence.storageClass}}
volumeMode: Filesystem
{{- end}}

He intentado corregir todo lo que puedo, pero aún no obtengo ningún avance. Cuando intento implementar el archivo, me da el siguiente error:


Error: UPGRADE FAILED: error validating "": error validating data: ValidationError(StatefulSet.spec.volumeClaimTemplates): invalid type for io.k8s.api.apps.v1.StatefulSetSpec.volumeClaimTemplates: got "map", expected "array"
make: *** [upgrade] Error 1

¿Alguien puede ayudar, por favor?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que el campo volumeClaimTemplates debería ser de tipo arreglo, pero en el archivo yaml proporcionado parece ser un mapa.

    Para resolver este problema, podrías intentar modificar el archivo yaml para utilizar un arreglo en lugar de un mapa para volumeClaimTemplates. Aquí te mostramos un ejemplo de cómo podrías cambiar el archivo:

      volumeClaimTemplates:
      - apiVersion: v1
        type: PersistentVolumeClaim
        metadata:
          name: {{.Values.features.persistence.name}}
        spec:
          accessModes: [ "ReadWriteOnce" ]
          resources:
            requests:
              storage: {{.Values.features.persistence.size}}
          - name: {{.Values.features.persistence.storageClass}}
            persistentVolumeClaim:
              claimName: {{.Values.features.persistence.claimName}}
            volumeMode: Filesystem
    

    Observa el uso del guión (-) para indicar que volumeClaimTemplates es un arreglo. Además, se ha movido los campos storageClassName y volumeMode fuera del campo resources, ya que no son solicitudes de almacenamiento.

    Una vez que hayas realizado estas modificaciones, intenta desplegar el archivo yaml actualizado de nuevo y verifica si se ha resuelto el error.

Comments are closed.