C√≥mo implementar su primer pod en un cl√ļster de Kubernetes

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:

  1. 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.
  2. 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

  1. 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.
  2. 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.
  3. logrado: todos los contenedores en el pod terminaron correctamente y no se reiniciar√°n.
  4. 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ó.
  5. 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

  1. Cuenta AWS (Crear si no tienes uno)
  2. 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

  1. 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *