Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

177
Vistas
Cómo reemplazar el almacenamiento en memoria con almacenamiento persistente usando kustomize

Estoy tratando de reemplazar el almacenamiento en memoria de la implementación de Grafana con persistent storage usando kustomize . Lo que estoy tratando de hacer es eliminar el in-memory storage y luego mapear persistent storage . Pero cuando lo estoy implementando, me da un error.

Error

La implementación "grafana" no es válida: spec.template.spec.containers[0].volumeMounts[1].name: No encontrado: "grafana-storage"

Versión personalizada

{Version:kustomize/v4.0.5 GitCommit:9e8e7a7fe99ec9fbf801463e8607928322fc5245 BuildDate:2021-03-08T20:53:03Z GoOs:linux GoArch:amd64}

personalización.yaml

 apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - https://github.com/prometheus-operator/kube-prometheus - grafana-pvc.yaml patchesStrategicMerge: - grafana-patch.yaml

grafana-pvc.yaml

 apiVersion: v1 kind: PersistentVolumeClaim metadata: name: grafana-storage namespace: monitoring labels: billingType: "hourly" region: sng01 zone: sng01 spec: accessModes: - ReadWriteMany resources: requests: storage: 2Gi storageClassName: ibmc-file-bronze

grafana-parche.yaml

 apiVersion: apps/v1 kind: Deployment metadata: labels: app: grafana name: grafana namespace: monitoring spec: template: spec: volumes: # use persistent storage for storing users instead of in-memory storage - $patch: delete <---- trying to remove the previous volume name: grafana-storage - name: grafana-storage persistentVolumeClaim: claimName: grafana-storage containers: - name: grafana volumeMounts: - name: grafana-storage mountPath: /var/lib/grafana

por favor ayuda.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El $patch: delete no parece funcionar como cabría esperar.

Puede ser bueno abrir un problema en kustomize github: https://github.com/kubernetes-sigs/kustomize/issues y preguntar a los desarrolladores al respecto.


Aunque aquí está el parche que probé, y parece funcionar:

 apiVersion: apps/v1 kind: Deployment metadata: labels: app: grafana name: grafana namespace: monitoring spec: template: spec: volumes: - name: grafana-storage emptyDir: null persistentVolumeClaim: claimName: grafana-storage containers: - name: grafana volumeMounts: - name: grafana-storage mountPath: /var/lib/grafana

Basado en https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/add-new-patchStrategy-to-clear-fields-not-present-in-patch.md

Lo siguiente también debería funcionar en teoría:

 spec: volumes: - $retainKeys: - name - persistentVolumeClaim name: grafana-storage persistentVolumeClaim: claimName: grafana-storage

Pero en la práctica no es así, y creo que es porque kustomize tiene sus propias implementaciones de fusión estratégica (diferente a k8s).

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda