Quiero compartir mi directorio local no vacío con un grupo amable.
Basado en la respuesta aquí: Cómo hacer referencia a un volumen local en Kind (kubernetes en docker)
Probé algunas variaciones de lo siguiente:
Tipo de clúster yaml:
kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane extraMounts: - hostPath: /Users/xyz/documents/k8_automation/data/manual/ containerPath: /host_manual extraPortMappings: - containerPort: 30000 hostPort: 10000Pod yaml:
apiVersion: v1 kind: Pod metadata: name: manual spec: serviceAccountName: manual-sa containers: - name: tools image: tools:latest imagePullPolicy: Never command: - bash tty: true volumeMounts: - mountPath: /home/jenkins/agent/data name: data volumes: - name: data hostPath: path: /host_manual type: Directory ---Veo que el directorio /home/jenkins/agent/data existe cuando se crea el pod. Sin embargo, la carpeta está vacía.
tipos de documentación aquí: https://kind.sigs.k8s.io/docs/user/configuration/#extra-mounts
Debería darse el caso de que lo que sea que esté en la máquina local en hostpath (/Users/xyz/documents/k8_automation/data/manual/) en extraMounts en el clúster yaml esté disponible para el nodo en containerPath (/host_manual), que luego obtiene montado en el volumen del contenedor mounthPath (/home/jenkins/agent/data).
Debo agregar que incluso si cambio hostPath en el archivo yaml del clúster a una carpeta inexistente, la carpeta de "datos" vacía aún se monta en el contenedor, por lo que creo que el problema es la conexión de mi clúster local a amable. .
Resulta que esta configuración de yaml estaba bien.
La razón por la que el directorio no aparecía en el contenedor estaba relacionada con la configuración de la ventana acoplable. Y debido a que "kind es una herramienta para ejecutar clústeres locales de Kubernetes utilizando "nodos" de contenedores Docker", es importante.
Parece que Docker restringe el uso compartido de recursos y permite que solo directorios específicos se vinculen en contenedores Docker de forma predeterminada. Una vez que agregué el directorio específico que quería mostrar en el contenedor a la lista de directorios en Preferencias -> Recursos -> Uso compartido de archivos, ¡funcionó!