Que es una vaina
kubectl describir pod
28 de octubre de 2021Contenedores,Kubernetes,Linux / UnixLos contenedores podrían haberse convertido en un sustituto ligero de las VM. Sin embargo, la forma más utilizada de contenedores, estandarizada por Docker/OCI, le anima a tener sólo un servicio de proceso por contenedor. Este enfoque tiene un montón de ventajas: mayor aislamiento, escalado horizontal simplificado, mayor reutilización, etc. Sin embargo, hay una gran desventaja: en la naturaleza, las máquinas virtuales (o físicas) rara vez ejecutan un solo servicio.
Mientras que Docker intenta ofrecer algunas soluciones para crear contenedores multiservicio, Kubernetes da un paso más audaz y elige un grupo de contenedores cohesionados, llamado Pod, como la unidad más pequeña que se puede desplegar.
Al empezar a trabajar con Kubernetes, una de las primeras cosas que aprendes es que cada pod tiene una IP y un nombre de host únicos y que, dentro de un pod, los contenedores pueden hablar entre sí a través de localhost. Por lo tanto, es un poco obvio – un pod es como un pequeño servidor.
Después de un tiempo, sin embargo, te das cuenta de que cada contenedor en un pod obtiene un sistema de archivos aislado y que desde dentro de un contenedor, no ves los procesos que se ejecutan en otros contenedores del mismo pod. De acuerdo, ¡bien! Tal vez un pod no es un pequeño servidor, sino un grupo de contenedores con una pila de red compartida.
significado del pod en la empresa
Un pod de Kubernetes es una colección de uno o más contenedores Linux®, y es la unidad más pequeña de una aplicación Kubernetes. Cualquier pod puede estar compuesto por múltiples contenedores estrechamente acoplados (un caso de uso avanzado) o por un solo contenedor (un caso de uso más común). Los contenedores se agrupan en pods de Kubernetes para aumentar la inteligencia de la compartición de recursos, como se describe a continuación.
Dentro del sistema Kubernetes, los contenedores del mismo pod compartirán los mismos recursos de computación. Estos recursos informáticos se agrupan en Kubernetes para formar clusters, que pueden proporcionar un sistema más potente e inteligentemente distribuido para ejecutar aplicaciones. Las piezas de Kubernetes, desde los contenedores a los pods y los nodos a los clusters, pueden ser difíciles de entender al principio, pero las piezas más relevantes para entender los beneficios de los pods de Kubernetes se desglosan de la siguiente manera:
En esencia, el hardware individual se representa en Kubernetes como un nodo. Varios de esos nodos se agrupan en clústeres, lo que permite distribuir la potencia de cálculo según sea necesario. Los pods se ejecutan en esos clústeres, lo que garantiza que cualquier contenedor estrechamente acoplado dentro de ellos se ejecutará conjuntamente en el mismo clúster
pod de kubernetes
Los pods contienen uno o más contenedores, como los contenedores Docker. Cuando un Pod ejecuta varios contenedores, éstos se gestionan como una única entidad y comparten los recursos del Pod. Por lo general, la ejecución de varios contenedores en un solo Pod es un caso de uso avanzado.
Un Pod está pensado para ejecutar una única instancia de tu aplicación en tu cluster. Sin embargo, no se recomienda crear Pods individuales directamente. En su lugar, generalmente se crea un conjunto de Pods idénticos, llamados réplicas, para ejecutar su aplicación. Este conjunto de Pods replicados son creados y gestionados por un controlador, como un Deployment. Los controladores gestionan el ciclo de vida de los Pods que los componen y también pueden realizar un escalado horizontal, cambiando el número de Pods según sea necesario.
Los Pods se ejecutan en nodos de su cluster. Una vez creados, los Pods permanecen en su nodo hasta que su proceso se completa, el Pod se elimina, el Pod es desalojado del nodo por falta de recursos, o el nodo falla. Si un nodo falla, los Pods en el nodo se programan automáticamente para su eliminación.
transporte de vainas
Un pod es un grupo de uno o más contenedores. Un contenedor es un proceso de ejecución cerrado y autónomo, muy parecido a un proceso en un sistema operativo. Kubernetes utiliza pods para ejecutar su código e imágenes en el cluster.
Kubernetes trabaja con Pods, en lugar de contenedores, de modo que se puede garantizar que los contenedores del mismo pod se ejecuten en la misma máquina. Los contenedores del mismo pod comparten su infraestructura de red, recursos de almacenamiento y ciclo de vida.
Los pods son útiles porque los contenedores del mismo pod comparten su ciclo de vida y sus recursos de almacenamiento. Esto permite la comunicación entre contenedores a través del sistema de archivos o de la red. Permite patrones de diseño de pods multicontenedores como los patrones Sidecar, Adapter y Ambassador.