Cómo implementar su primer pod en un clúster de Kubernetes
En este artículo veremos cómo crear nuestro primer Pod en Kubernetes Cluster. Veremos los pasos para crear un pod para Nginx.
Un Pod es la unidad de ejecución básica de una aplicación de Kubernetes. Es una colección de contenedores que se implementan juntos en el mismo host. Los pods en un clúster de Kubernetes se pueden usar de dos maneras:
- Pods que ejecutan un solo contenedor: Esta es la forma más popular de usar un Pod. Kubernetes administra los pods en lugar de administrar directamente los contenedores.
- Pods que ejecutan múltiples contenedores que necesitan trabajar juntos: En este modelo, un pod puede tener varios contenedores que están estrechamente acoplados para compartir recursos.
Como se indicó anteriormente, un Pod puede contener varios contenedores, siempre se recomienda tener un solo contenedor cuando sea posible. Agrupar varios contenedores en un solo Pod es un caso de uso relativamente avanzado. Debe usar este patrón solo en instancias específicas en las que sus contenedores están estrechamente acoplados.
Si implementamos un solo contenedor, generalmente podemos reemplazar la palabra «pod» con «container». Los pods permiten el intercambio de datos y la comunicación entre sus integrantes.
Un pod siempre se ejecuta en un nodo. Un nodo es una máquina de trabajo en Kubernetes y puede ser una máquina virtual o física, según el clúster. Cada Nodo es administrado por el Maestro. Un nodo puede tener varios pods, y el maestro de Kubernetes gestiona automáticamente la programación de los pods en los nodos del clúster.
Las 5 etapas en el ciclo de vida de un pod
- Pendiente: el sistema de Kubernetes ha aceptado el pod, pero no se han creado una o más de las imágenes del contenedor. Esto incluye el tiempo antes de la programación, así como el tiempo dedicado a la descarga de imágenes a través de la red, lo que podría demorar un tiempo.
- Correr: El pod se ha vinculado a un nodo y se han creado todos los contenedores. Al menos un contenedor todavía se está ejecutando o está en proceso de iniciarse o reiniciarse.
- logrado: todos los contenedores en el pod terminaron correctamente y no se reiniciarán.
- Ha fallado: Todos los Contenedores en el Pod terminaron y al menos un Contenedor terminó en falla. Es decir, el Contenedor salió con un estado distinto de cero o el sistema lo finalizó.
- Desconocido: Por algún motivo, no se pudo obtener el estado del Pod, generalmente debido a un error en la comunicación con el host del Pod.
requisitos previos
- Cuenta AWS (Crear si no tienes uno)
- Clúster de Kubernetes (Busque «Configurar un clúster de Kubernetes en AWS EC2 Instance Ubuntu 18.04 LTS usando kubeadm» si desea aprender a crear un clúster de Kubernetes).
Nota: También puede usar máquinas virtuales para crear un clúster si no desea probar instancias de AWS EC2.
Lo que haremos
- Cree un pod de Kubernetes para NginX y elimínelo
Crear un pod de Kubernetes para Nginx
Para crear nuestro primer pod, simplemente creemos un nuevo directorio para crear nuestro archivo Object/Pod. Use el siguiente comando para crear un nuevo directorio en su sistema
mkdir mi primer pod
cd mi-primer-pod/
Antes de continuar, verifique el estado del clúster.
Para verificar los Nodos disponibles en el clúster y verificar la versión del «kubectl» utilice los siguientes comandos.
sudo kubectl obtener nodos
versión sudo kubectl
Utilice el siguiente comando para enumerar los pods en el espacio de nombres predeterminado. Dado que este será nuestro primer pod en el clúster, no verá ningún pod en el espacio de nombres predeterminado.
sudo kubectl obtener vainas
Una vez que tenga Nodos disponibles en el clúster, estará listo para crear su primer pod.
Cree un archivo «my-first-pod.yml» con el siguiente bloque de código
vim mi-primer-pod.yml
--- apiVersion: v1 kind: Pod metadata: name: myfirstpod labels: app: web spec: containers: - name: myfirstcontainer image: nginx ports: - containerPort: 80
Aquí,
- apiVersion: APIVersion define el esquema versionado de esta representación de un objeto.
- tipo: Tipo de objeto que desea crear. Aquí está el pod ya que estamos creando un pod.
- nombre: el nombre debe ser único dentro de un espacio de nombres.
- etiquetas: Mapa de claves de cadena y valores que se pueden usar para organizar y categorizar objetos
- Especificaciones: Especificación del comportamiento deseado del pod.
Ahora está listo para crear su pod usando los siguientes comandos.
sudo kubectl apply -f my-first-pod.yml
Puede obtener los detalles de los pods usando el siguiente comando.
sudo kubectl obtener vainas
Para confirmar si el Pod realmente se está ejecutando, ejecute el siguiente comando. Esto ejecuta un comando dentro de nuestro pod (Nota: es similar a ejecutar ejecutivo acoplable.)
sudo kubectl exec myfirstpod — estado del servicio nginx
Si ya no necesita el pod, puede eliminarlo usando el «comando de eliminación de kubectl».
sudo kubectl eliminar pods myfirstpod
Por último, para verificar si el pod se ha eliminado, use el siguiente comando.
sudo kubectl obtener vainas
Conclusión
En este artículo, aprendimos cosas básicas sobre los Pods, sus etapas del ciclo de vida. Vimos los pasos para crear nuestro primer Nginx Pod en Kubernetes. También vimos cómo se pueden extraer los detalles sobre el Pod. Junto con esto, exploramos el comando para eliminar el Pod.