Un volumen hostpath apunta a un socket o directorio de sistema de archivos en particular en el nodo. En Kubernetes, hay varios tipos de volumen. Debido a que se borran los volúmenes de gitropo y vacíaDir, el volumen hostpath es ventajoso en las aplicaciones de Kubernetes porque conserva el contenido de los volúmenes. El volumen de hostpath y el tipo de volúmenes Kubernetes se discuten en este artículo. Aprenderá a lanzar el minikube y construir un manifiesto de archivo yaml en este artículo. Luego se guiará paso a paso a través de la configuración del volumen hostpath y la creación del volumen de la vaina.
¿Cuáles son los volúmenes de Kubernetes??
Los contenedores en un pod Kubernetes pueden acceder a un directorio de datos llamado volumen de Kubernetes. Dependiendo del tipo particular de volumen que se utiliza, la ubicación del directorio, el medio de almacenamiento que lo admite y su contenido varía.
Los procesos dentro de una cápsula de contenedores consulte una vista del sistema de archivos que se compone de lo siguiente:
El .Especificaciones.contenedores [*].Volumememounts define los volúmenes. Para cada imagen del contenedor que está contenida dentro de la cápsula, debe proporcionar los volúmenes y las rutas de montaje para cada vaina.
En Kubernetes, hay varios tipos de volumen como:
¿Cuáles son los volúmenes de Kubernetes Hostpath??
En Kubernetes, el hostpath significa montar los recursos, como archivos, enchufes o directorios del host o nodo dentro de la cápsula. El hostpath puede especificar cosas como el directorio que ya deberían existir o deben crearse en la creación de POD.
Como se ve en la siguiente figura, un volumen hostpath apunta a los recursos en el sistema de archivos del nodo. Los mismos archivos son visibles para todos los pods que utilizan el mismo volumen de hostpath y operan en el mismo nodo.
Figura 1: Los archivos o directorios de un nodo de trabajador se montan en el sistema de archivos del contenedor por un volumen de hostpath.
Cuando se destruye una cápsula, se borran el contenido de los volúmenes de gitrepo y vacía, pero no el contenido del volumen de la espada de host. El siguiente Pod puede ver cualquier archivo que se haya dejado el Pod eliminado si se asigna al mismo nodo que el anterior y utiliza un volumen de HostPath que se refiere a la misma ruta en el host.
Los siguientes son importantes casos de uso de volumen de hostpath. Aunque la mayoría de las cápsulas no lo requerirán, proporciona una fuerte escotilla de escape en algunas situaciones:
>/var/lib/dockerhostpath
> /sys hostpath
Cómo configurar y crear un hostpath
Comencemos a aprender a configurar el hostpath y crearlo.
Paso 1: Inicie el servidor de Minikube
En el primer paso, inicie el servidor Minikube para que pueda usar los comandos Kubectl y ejecutar su aplicación. Minikube le permite implementar sus nodos y vainas en el entorno de Kubernetes. El siguiente comando debe usarse para mantener el minikube en modo activo:
> Minikube Start
Esto activa el minikube y hace que el entorno Kubernetes esté listo para usar.
Paso 2: crea un archivo Yaml Kubernetes Yaml
Aprenderá a crear un archivo manifiesto yaml para Kubernetes en este paso. Pruebas de aplicaciones e implementación en Kubernetes requieren los archivos YAML.
Cuando se usa Kubernetes, una acción típica es la tendencia a buscar archivos Yaml Kubernetes cada vez que tenemos la intención de implementar una cápsula de prueba.
Al usar Kubernetes, hay varias formas diferentes de generar y editar los archivos. Este artículo explica cómo usar el comando nano para crear un archivo yaml porque es la mejor opción para principiantes.
Siga estos pasos para crear un archivo YAML usando nano:
Ejecute el siguiente comando para construir un host de archivo YAML en el directorio del proyecto:
> $ nano anfitrión.yaml
El archivo se crea después de ejecutar el comando. El siguiente paso es trabajar en el host recién abierto.archivo yaml.
Paso 3: Configure el HostPath VolumeMemount
Para crear un volumen y ponerlo a disposición de una cápsula, siga estos dos pasos:
Estas acciones están interrelacionadas. Debe montar un volumen a un contenedor cuando lo cree. No puede montar un volumen sin definirlo primero en la configuración de la cápsula. A lo siguiente se proporciona una muestra de creación y montaje de un volumen en una configuración de plantilla de vaina Yaml:
> especificación:
contenedores:
-Nombre: App-One
Imagen: nginx-one
Volumememounts:
-Nombre: Volumen-One
MountPath: /App /Config
Volúmenes:
-Nombre: Volumen-One
En el código proporcionado, podemos observar que:
Paso 4: crea la cápsula de volumen de hostpath
En este paso, usemos el (host.Yaml) Archivo Yaml para construir un volumen de hostpath como se muestra en lo siguiente:
> $ kubectl create -f host.yaml
Como se ve en la captura de pantalla mencionada anteriormente, la cápsula llamada "Test-PD" se construye con éxito.
Conclusión
Este artículo ofrece una descripción general del hostpath y demuestra cómo crear y configurar las monturas hostpath en la práctica. Como parte de la función de HostPath que evita que los datos del sistema de archivos del nodo se borren cuando se elimina un POD, aunque HostPath tiene muchos beneficios, también hay varios riesgos de seguridad. Evite utilizarlo siempre que pueda. Un volumen de hostpath solo debe alcanzar el directorio o archivo necesario, y debe montarse como lectura si debe usar uno. En este artículo, aprendió cómo establecer con éxito un volumen de pod paso a paso usando un ejemplo fácil y también aprendió cómo crear una ruta en el hostpath y montarla en el contenedor.