Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

298
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!