GNU/Linux >> Tutoriales Linux >  >> Linux

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 gestiona los pods en lugar de gestionar directamente los contenedores.
  2. Pods que ejecutan varios contenedores que deben funcionar juntos: En este modelo, un pod puede tener varios contenedores 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 una vaina

  1. Pendiente : El pod ha sido aceptado por el sistema Kubernetes, pero una o más de las imágenes del contenedor no se han creado. 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. Ejecución : El pod se ha vinculado a un nodo y se han creado todos los contenedores. Al menos un contenedor aún se está ejecutando o está en proceso de iniciarse o reiniciarse.
  3. Exitoso : Todos los contenedores en el pod terminaron correctamente y no se reiniciarán.
  4. Error : Todos los contenedores en el pod terminaron y al menos un contenedor terminó con falla. Es decir, el Contenedor salió con un estado distinto de cero o el sistema lo finalizó.
  5. Desconocido : Por alguna razón, 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 de AWS (cree si no tiene una)
  2. Clúster de Kubernetes (busque "Configurar un clúster de Kubernetes en la instancia AWS EC2 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, solo creemos un nuevo directorio para crear nuestro objeto/archivo de 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 para verificar la versión de "kubectl " usa los siguientes comandos.

sudo kubectl obtener nodos
versión de sudo kubectl

Use 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 pods

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í,

  • versión de API :APIVersion define el esquema versionado de esta representación de un objeto.
  • amable :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 cadenas de claves y valores que se pueden usar para organizar y categorizar objetos
  • especificación :Especificación del comportamiento deseado del pod.

Ahora está listo para crear su pod usando los siguientes comandos.

sudo kubectl apply -f mi-primer-pod.yml 

Puedes obtener los detalles de los pods usando el siguiente comando.

sudo kubectl obtener pods

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 docker exec .)

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 pods

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.


Linux
  1. Cómo implementar Redis Cluster en Kubernetes

  2. Cómo ejecutar MongoDB en Kubernetes

  3. Cómo implementar RabbitMQ en Kubernetes

  4. Cómo implementar PostgreSQL en Kubernetes

  5. Cómo crear su sitio Plesk

Cómo implementar el clúster de Kubernetes en AWS con Amazon EKS

Cómo crear y administrar pods de Kubernetes en Linux

Cómo crear tu primer programa Java en CentOS 8

Cómo crear su primer programa Java en Debian 10

Cómo implementar CouchDB como un clúster con Docker

Cómo implementar un servicio en un clúster de Docker Swarm