Crear tu primer despliegue en un clúster Kubernetes

En este artículo, veremos cómo crear tu primer despliegue en un Clúster Kubernetes. Como ejemplo, crearemos un despliegue para Nginx.

Una vez que tengamos un clúster Kubernetes en funcionamiento, podremos desplegar nuestras aplicaciones en contenedores sobre él. Para ello, podemos crear una configuración de Despliegue de Kubernetes.

Un Despliegue proporciona actualizaciones declarativas para Pods y ReplicaSets. Describimos un estado deseado en el Despliegue y el Controlador del Despliegue cambia el estado real al estado deseado a un ritmo controlado.

Podemos crear y gestionar un Despliegue utilizando la interfaz de línea de comandos de Kubernetes «kubectl». Kubectl utiliza la API de Kubernetes para interactuar con el clúster.

Hay tres etapas en el ciclo de vida de un despliegue:

  1. Progresando: Kubernetes marca un Despliegue como progresando cuando el Despliegue crea un nuevo ReplicaSet, el Despliegue está escalando su ReplicaSet más reciente o escalando su ReplicaSet más antiguo o nuevos Pods están listos o disponibles.
  2. Completo: Kubernetes marca una Implantación como completa cuando todas las réplicas asociadas a la Implantación se han actualizado, están disponibles y no hay réplicas antiguas de la Implantación en ejecución.
  3. Fallida: Esto puede ocurrir debido a una cuota insuficiente, fallos en la sonda de preparación, errores en la extracción de imágenes o permisos insuficientes.

Requisitos previos

  1. Cuenta AWS (Crea una en una si no la tienes)
  2. Un Clúster Kubernetes

Nota: También puedes utilizar VMs para crear un cluster si no quieres probar en Instancias EC2 de AWS.

Qué haremos

  1. Crear un Despliegue de Kubernetes para Nginx.

Crear un despliegue Kubernetes para Nginx

Para crear nuestro primer despliegue vamos a crear un nuevo directorio para crear nuestro Archivo Objeto/Despliegue. Utiliza el siguiente comando para crear un nuevo directorio en tu sistema

mkdir mi-primer-despliegue
cd mi-primer-despliegue/

Antes de continuar, comprueba el estado del clúster.

Para comprobar los Nodos disponibles en el clúster y comprobar la versión del«kubectl» utiliza los siguientes comandos.

sudo kubectl version
sudo kubectl get nodes

Versión de kubectl

Una vez que tengas Nodos disponibles en tu clúster estás listo para crear tu despliegue.

Crea un archivo»mi-primer-despliegue.yml» con el siguiente bloque de código

vim mi-primer-despliegue.yml

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

Toma

  • apiVersion: APIVersion define el esquema versionado de esta representación de un objeto.
  • tipo: El tipo de objeto que quieres crear, como Despliegue, Servicio, Configmap, etc.
  • nombre: El nombredebe ser único dentro de un espacio de nombres.
  • etiquetas:Mapa de claves y valores de cadena que pueden utilizarse para organizar y categorizar los objetos.
  • spec:Especificación del comportamiento deseado del Despliegue.
  • réplicas:Número de pods deseados.
  • selector:Etiqueta selectora para los pods. Los ReplicaSets existentes cuyos pods sean seleccionados por esto serán los afectados por este despliegue. Debe coincidir con las etiquetas de la plantilla de pods.

Ahora estás listo para crear tu despliegue utilizando los siguientes comandos.

sudo kubectl apply -f mi-primer-despliegue.yml
sudo kubectl get despliegues

kubectl aplicar

En la captura de pantalla anterior, puedes ver que el despliegue se ha creado con dos pods que están disponibles para su uso.

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

sudo kubectl get pods

kubectl obtener pods

Si quieres saber más sobre el despliegue puedes utilizar este comando «kubectl describe» para obtener los detalles completos del despliegue.

sudo kubectl get deployments
sudo kubectl describe deployments nginx-deployment

kubectl obtener despliegues

Si ya no necesitas el despliegue, puedes eliminarlo utilizando el «comando kubectl delete».

sudokubectl get deployments
sudo kubectl delete deployments nginx-deployment
sudo kubectl get deployments

kubectl  obtener despliegues

En la captura de pantalla anterior, puedes ver que el despliegue ya no está disponible después de eliminarlo.

Una vez que eliminas el despliegue, también se eliminan los pods.

Puedes comprobar la disponibilidad de los pods utilizando el siguiente comando.

sudo kubectl get pods

kubectl  obtener pods

En la captura de pantalla anterior, puedes ver que los pods se han eliminado después de borrar el despliegue y no están disponibles.

Conclusión

En este artículo, hemos visto los pasos para crear tu primer Despliegue Nginx en Kubernetes. También hemos visto cómo se pueden extraer los detalles relativos al despliegue. Junto con esto, hemos explorado los comandos para eliminar el despliegue.

También te podría gustar...