meta data de esta página

Deployment

https://kubernetes.io/es/docs/concepts/workloads/controllers/deployment/

Un Deployment se utiliza para que se encargue de cambiar el estado actual al estado deseado de forma controlada.

Por ejemplo, podemos definir un Deployments para crear nuevos ReplicaSets, o eliminar Deployments existentes y adoptar todos sus recursos con nuevos Deployments.

Entre otras cosas podremos llevar un control de nuestros despliegues y podamos cambiar de versión o volver a una versión anterior de forma fácil ( rollouts/rollbacks de nuestros pods. )

Ejemplo <sxh> apiVersion: apps/v1 kind: Deployment #Indicamos que es un Deployment metadata:

name: deployment-test                                  #nombre del deployment
labels:
  app: front                                                        #label que utiliza el deployment para encontrar los pods

spec:

replicas: 3                                                           #número de réplicas
selector:
  matchLabels:
    app: front                                                       #definimos la label para el replicaset
template:
  metadata:
    labels:
      app: front                                                      #definimos la label para los pods
  spec:                                                                     #definimos el pod
    containers: 
    - name: nginx
      image: nginx:alpine
 </sxh>
 

Comandos relacionados

Para ver las etiquetas del deployment <sxh>kubectl get deployment –show-labels</sxh>

Estado del Deployment

<sxh>kubectl rollout status deployment <nombredeployment></sxh>

Revisiones

<sxh>kubectl rollout history deployment <nombredeployment></sxh>

por defecto Kubernetes guarda 10 revisiones
Volver a una revisisión anterior (Roll back)

<sxh>kubectl rollout undo deployment <nombredeployment> –to-revision=<nºrevision></sxh>

Escalar un deployment

<sxh>kubectl scale deployments <nombredeployment> –replicas=3</sxh>

Referencias