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

301
Vistas
Pasar de Docker Compose a Kubernetes, almacenar la configuración en volúmenes persistentes

Soy nuevo en Kubernetes, pero he estado usando Docker y Docker Compose durante mucho tiempo. Estoy tratando de encontrar más información sobre cómo Kubernetes maneja los archivos de configuración compartidos/de solo lectura en comparación con Docker Compose.

En mi archivo docker-compose.yaml archivos de configuración específicos para mis contenedores usando montajes de enlace, similares a esto:

 ... elasticsearch: image: elasticsearch:7.3.2 environment: - discovery.type=single-node networks: mycoolapp: aliases: - elasticsearch ports: - "9200:9200" - "9300:9300" volumes: - elasticdata:/usr/share/elasticsearch/data - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml ...

He estado leyendo sobre Volúmenes Persistentes y creo que esto es lo que necesito, sin embargo, mi comprensión todavía no es 100% clara en algunos problemas.

  1. Estoy usando azureFile para mi tipo de volumen y he copiado mis configuraciones en el recurso compartido de archivos. ¿Cómo monto una subcarpeta del recurso compartido de archivos en mi contenedor? mountPath solo aparece en volumeMounts , y no puedo encontrar dónde está la ubicación correspondiente dentro del volumen.
  2. ¿Cómo comparto un solo archivo?
  3. ¿Cómo hago que el único archivo que compartí arriba sea de solo lectura?
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

El objeto Kubernetes ConfigMap será útil aquí.

Un ConfigMap es un objeto API que se utiliza para almacenar datos no confidenciales en pares clave-valor.

Ejemplo:

 apiVersion: v1 kind: ConfigMap metadata: name: elastic-demo data: # property-like keys; each key maps to a simple value; available as env var properties_file_name: "database.properties" # file-like keys database.properties: | data1=value1 data2=value2

Puede montar el ConfigMap anterior en volumen en modo de solo lectura.

 apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: mypod image: elasticsearch volumeMounts: - name: elastic-volume mountPath: "/etc/foo" readOnly: true volumes: - name: elastic-volume configMap: name: elastic-demo
over 4 years ago · Santiago Trujillo Denunciar

0

Como @Pulak lo dijo correctamente, puede usar configmap. Vi que desea importar una carpeta que contiene cientos de archivos en un mapa de configuración. Lo que creo es que puedes hacer esto de otra manera. Eso es usar el archivo zip/jar como archivo binario de soporte de ConfigMap, por lo que después de montarlo se puede descomprimir en la ruta deseada dentro del contenedor.

Por ejemplo, tiene la siguiente estructura en la carpeta:

 . ├── test1.html ├── test2.css ├── test3.xml └── testN.html

Ahora puede hacerlos jar/zip y puede crear un mapa de configuración con kubectl create configmap example --from-file=./

Otra cosa es que el tamaño del mapa de configuración (en términos de MiB) no debe ser grande. Entonces, si realmente tiene muchas cosas, puede usar los volúmenes típicos de Kubernetes.

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