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.

Kubernetes Helm cambia storageClassName si el valor proporcionado está en blanco.

La instalación inicial de Helm con los siguientes parámetros se implementó correctamente:

  persistance:
    storageClassName: ''
    size: 5Gi

Después de no realizar cambios en los parámetros anteriores, intento actualizar Helm y este devuelve el siguiente error:

Error: ERROR EN LA ACTUALIZACIÓN: no se puede aplicar el parche "pvc" con el tipo PersistentVolumeClaim: PersistentVolumeClaim "pvc" no es válido: spec: Forbidden: la especificación es inmutable después de la creación, excepto por resources.requests para reclamaciones vinculadas
  core.PersistentVolumeClaimSpec{
        ... // 2 campos idénticos
        Resources:        {Requests: {s"storage": {i: {...}, s: "5Gi", Formato: "BinarySI"}}},
        VolumeName:       "pvc-f85b49fe-5656-4d92-a400-6a333e11a00e",
-       StorageClassName: nil,
+       StorageClassName: &"standard",
        VolumeMode:       &"Filesystem",
        DataSource:       nil,
        DataSourceRef:    nil,
  }

Esto ocurre debido a la clase de almacenamiento predeterminada, que en mi caso es standard. Por lo tanto, Helm intenta modificar el storageClassName de “nil” a “standard” al realizar la actualización.

¿Cómo evitar cambios en este valor y pedir a Helm que siempre use el valor predeterminado, sin importar si el predeterminado es “standard” o “gp2” o cualquier otro?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para evitar cambios en el valor de storageClassName durante la actualización de helm, puedes utilizar el comando helm upgrade con la bandera –reuse-values. La bandera –reuse-values mantendrá los mismos valores que la versión anterior, incluyendo el valor de storageClassName.

    Por ejemplo:

    helm upgrade nombre-liberación nombre-chart --reuse-values
    

    Esto actualizará la liberación con los mismos valores que la versión anterior, incluyendo el valor de storageClassName.

Comments are closed.