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

601
Views
Montaje de volumen de kubernetes con permiso de usuario

Estoy usando Kubernetes yaml para montar un volumen. Sé que puedo configurar la carpeta de montaje para que sea para un grupo específico usando esta configuración:

 securityContext: fsGroup: 999

pero no puedo encontrar una manera de establecer también la propiedad del usuario y no solo el grupo.

Cuando accedo a la carpeta del contenedor para verificar la propiedad, es raíz.

De todos modos, ¿hacerlo a través de Kubernetes Yaml? Esperaría fsUser: 999 por ejemplo, pero no existe tal cosa. :/

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

No hay forma de configurar el UID usando la definición de Pod, pero puede usar un initContainer con el mismo volumeMount que el contenedor principal para configurar los permisos requeridos.

Es útil en casos como el suyo donde la propiedad del usuario debe establecerse en un valor no raíz.

Aquí hay una configuración de muestra (cámbiela según sus necesidades):

 apiVersion: v1 kind: Pod metadata: name: security-context-demo spec: volumes: - name: sec-ctx-vol emptyDir: {} containers: - name: sec-ctx-demo image: busybox command: [ "sh", "-c", "sleep 1h" ] volumeMounts: - name: sec-ctx-vol mountPath: /data/demo securityContext: allowPrivilegeEscalation: false initContainers: - name: volume-mount-hack image: busybox command: ["sh", "-c", "chown -R 999:999 /data/demo"] volumeMounts: - name: sec-ctx-vol mountPath: /data/demo

Los permisos terminarían luciendo así

over 4 years ago · Santiago Trujillo Report

0

No, no existe esa opción. Para verificar cada opción, disponible en securityContext, puede usar

 kubectl explain deployment.spec.template.spec.securityContext

Según el documento

 fsGroup <integer> A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership and permissions of any volume.

Por lo general, es una buena idea manejar el acceso a los archivos a través de la propiedad del grupo, porque en las configuraciones de kubernetes restringidas, en realidad no puede controlar la identificación del usuario o la identificación del grupo, por ejemplo, en RedHat Openshift.

Lo que puede hacer es usar runAsUser , si su proveedor de kubernetes lo permite

 runAsUser <integer> The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.

Su aplicación funcionará con el uid que desee y, naturalmente, creará y accederá a los archivos como desee. Como se señaló anteriormente, por lo general no es la mejor idea hacerlo de esa manera, ya que dificulta la distribución de sus aplicaciones en diferentes plataformas.

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!