GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear un Deployment en Kubernetes

Las implementaciones representan un conjunto de pods idénticos. Una implementación ejecuta varias copias de la aplicación. Reemplaza automáticamente cualquier instancia que falle. Ayuda a garantizar que una o más instancias de la aplicación estén siempre en funcionamiento. Las implementaciones son administradas por el controlador de implementación de Kubernetes. Las implementaciones usan una plantilla de pod, que contiene una especificación para sus pods.

Una implementación de Kubernetes es un objeto de recurso en Kubernetes que proporciona actualizaciones declarativas a las aplicaciones.

Para obtener más información sobre las especificaciones de implementación, consulte la documentación de la API de Kubernetes

En este artículo, aprenderemos a crear una implementación en Kubernetes y realizar operaciones en ella.

Requisitos previos

Clúster de Kubernetes con al menos 1 nodo trabajador.
Si desea aprender a crear un Clúster de Kubernetes, haga clic aquí. Esta guía lo ayudará a crear un clúster de Kubernetes con 1 maestro y 2 nodos en instancias AWS Ubuntu 18l04 EC2.

Lo que haremos

Crear una implementación

Crear una implementación

Cree un archivo y agregue la siguiente definición de implementación en él.

vim my-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: httpd-frontend
  name: httpd-frontend
spec:
  replicas: 1
  selector:
    matchLabels:
      app: httpd-frontend
  template:
    metadata:
      labels:
        app: httpd-frontend
    spec:
      containers:
      - image: httpd:2.4-alpine
        name: httpd



En este ejemplo:

  • Se creará una implementación denominada httpd-frontend , indicada por metadata: name campo.
  • La implementación creará 1 réplica del pod, indicada por replicas campo.
  • La plantilla Pod, o spec: template campo, indica que sus pods están etiquetados app: httpd-frontend .
  • La especificación de la plantilla Pod, o template: spec campo, indica que los Pods ejecutan un contenedor, httpd, que ejecuta httpd: image en la versión 2.4-alpine.

Use el siguiente comando para crear una implementación

kubectl create -f my-deployment.yaml

Una vez que crea una implementación, puede obtener sus detalles con el siguiente comando.

kubectl get deployment | grep httpd-frontend

La implementación creó un conjunto de réplicas, para enumerarlo use el siguiente comando.

kubectl get replicaset | grep httpd-frontend

Los pods creados por el conjunto de réplicas se pueden enumerar con el siguiente comando, que enumerará los pods que coincidan con el nombre especificado.


kubectl get pods | grep httpd-frontend

Ahora, puede probar la creación automática del pod si el existente falla eliminándolo.

Para eliminar el pod existente, use los siguientes comandos.


kubectl get pods | grep httpd-frontend
kubectl delete pod httpd-frontend-74fd6fd8cd-8nj2s
kubectl get pods | grep httpd-frontend

En la captura de pantalla anterior, puede ver que el pod se creó después de eliminar el pod existente.

Ahora, incluso si se elimina el conjunto de réplicas, la implementación lo creará.

Para probar esto, elimine el conjunto de réplicas con el siguiente comando.


kubectl get replicaset | grep httpd-frontend
kubectl delete replicaset httpd-frontend-74fd6fd8cd
kubectl get replicaset | grep httpd-frontend

En la captura de pantalla anterior, puede ver que incluso después de eliminar el conjunto de réplicas, se creó.

Para ver un poco más de información del pod, se puede usar "-o wide" en el comando de la siguiente manera.

kubectl get pods | grep httpd-frontend
kubectl get pods -o wide | grep httpd-frontend

Para obtener la información completa del pod, se puede describir con el siguiente comando.

kubectl describe pod httpd-frontend

Ahora, si ya no necesita que su aplicación se implemente mediante la implementación, puede eliminarla eliminando la implementación.

Utilice los siguientes comandos para eliminar la implementación.

kubectl get deployment | grep httpd-frontend
kubectl delete deployment httpd-frontend
kubectl get deployment | grep httpd-frontend

En la captura de pantalla anterior, puede ver que después de eliminar la implementación, no se creó. Pero si elimina el pod o el conjunto de réplicas que se crearon como parte de la implementación, se crearán.

Conclusión

En este artículo, aprendimos a crear una implementación y probamos la operación de eliminación en Pod, Replicaset e Implementación.


Linux
  1. Cómo implementar su primer pod en un clúster de Kubernetes

  2. Cómo crear etiquetas Git

  3. Cómo crear un subdominio

  4. Cómo eliminar una implementación de Kubernetes [Consejos rápidos de K8s]

  5. Cómo crear un enlace a un directorio

Cómo crear un archivo Tar Gz

Cómo crear un módulo de Terraform

Cómo crear un StatefulSet en Kubernetes

Creación de su primera implementación en un clúster de Kubernetes

Cómo crear un clúster de Kubernetes con AWS CLI

Cómo crear y administrar pods de Kubernetes en Linux