Kubernetes hostpath volúmenes

Kubernetes hostpath volúmenes

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:

    • Un sistema de archivos raíz que es idéntico al contenido de la imagen del contenedor.
    • Contenedores que están montados con volúmenes (si se definen). Dentro del sistema de archivos de contenedor, cada volumen se monta en una ruta distinta.

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:

    • Volúmenes persistentes
    • Volúmenes vacíos
    • Volúmenes efímeros
    • Kubernetes volúmenes configmap
    • Kubernetes hostpath volúmenes

¿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:

    • Uso del POD para implementar algunos archivos específicos de nodos.
    • Ejecutar un contenedor que necesita acceso a Docker -Internals utilizando el siguiente comando:
>/var/lib/dockerhostpath
    • Ejecutando el Cadvisor en un contenedor usando el siguiente comando:
> /sys hostpath
    • Permitir que un POD especifique un anotador para declarar si una placa de host en particular tiene que existir o establecerse antes de que se ejecute el POD.
    • Elegir un tipo para el volumen de hostpath; Esto se puede configurar además del atributo de ruta requerido.

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:

    • Comience el minikube.
    • Para crear un nuevo archivo o modificar uno existente, navegue hasta la ubicación del directorio deseado.
    • El nombre del archivo debe ser seguido por Nano. Por ejemplo, desea hacer un nuevo archivo llamado host.yaml.

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:

    • Especifíquelo en la especificación: Elemento Volumes de la plantilla POD antes de implementar el POD en unos pocos nodos.
    • Monte el volumen usando la especificación: Contenedores: Nombre>: Comando de volumen a una propiedad de montura de contenedor en particular.

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:

    • El volumen de prueba con nombre se crea en la especificación.volúmenes por el comando de volumen y se adjunta a la vaina.
    • Encuentre el hostpath en la sección de especificaciones de Pod. Se crea la ruta/datos particular porque el tipo: DirectoryRcreate significa que la ruta debe crearse si no está allí.
    • El /datos está en el nodo donde se envía el Pod y se monta dentro del contenedor en el directorio /Test-Pd.
    • La declaración de volumen y la propiedad VolumeMeunts requieren el mismo nombre de volumen para ser utilizada.

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.