UDEMY – OKD 02: Deployments

  • Loas pods tienen limitantes
  • Realmente no se trabaja con POD directamente si no que se trabajan con deployments
  • Esta formado de 2 partes
    • Deployment: encargado de manerar toda la estructura
    • Replicaset: encargado de manera el escaldo y caidas

Crear deployment

1. Comando: OC create deployment

  • Ejecutamos
oc create deployment d1 --image=httpd
  • Podemos consultarlos
oc get deploy
  • Cuando se crea un deployment se crea tambien un replicaset
oc get rs
  • Y tambien crea un pod
oc get pod

2. Web

  • Ingresamos a Cargas de trabajo -> Implementaciones -> Crear Implementación
  • Tenemos 2 posibilidades
  • con un asistente
  • o con un yaml

1. Asistente

  • NOTA: Seleccionar el proyecto donde desea crear el deploy
  • Debemos ingresar el nombre
  • Estrategia de implementación
    • Actualización continua: el sistema se encarga de ir actualizandos todos los pods de a poco
    • Recrear: Recrea todos los pods
  • Luego para hacer el ejemplo simple vamos a poner la imagen httpd
  • Y todo lo demás igual
  • Le damos crear
  • Lo crea con 3 pods

3. crear deploy con yaml

  • Ingresamos a provisioner
ssh cgi@10.0.2.244

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519_openshift
export KUBECONFIG=/home/cgi/okd-install/auth/kubeconfig
  • Creamos el archivo
nano /home/cgi/okd-install/yamlPruebas/ejemploDeploy.yaml
  • Le agregamos el código
apiVersion: apps/v1
kind: Deployment
metadata:
  name: apache1
  namespace: desa1
spec:
  selector:
    matchLabels:
      app: ejemplo-apache
  replicas: 3
  template:
    metadata:
      labels:
        app: ejemplo-apache
    spec:
      containers:
        - name: apache
          image: httpd
          ports:
            - containerPort: 80
  • Lo ejecutamos
oc apply -f /home/cgi/okd-install/yamlPruebas/ejemploDeploy.yaml
  • Se crea
  • Ahora podemos ejecutar para ver los deploy existentes
oc get deploy
  • Si ejecutamos la obtención de los pods con -o wide
  • podemos observar los 3 contenedores que pedimos crear en el yaml en replicas: 3
oc get pod -o wide
  • Igual si quiero ver mayor información del deploy
oc get deploy apache1 -o wide
  • y puedo pedir tambien las etiquetas
  • En la web podemos agregar etiquetas
  • Y agregamos
  • Y las podemos consultar
oc get deploy apache1 -o wide --show-labels
  • O las podemos crear desde la consola
oc label deploy apache1 "responsable=gustavo"

Escalar deploy

  • Si por ejemplo deseamos que el deploy no solo tenga 3 replicas si no 5
  • Actualmente tenemos 3
oc get pods
  • Por consola
oc scale deploy apache1 --replicas=5
  • ahora tenemos 5
oc get pods
  • Lo podemos ver en la web
  • Y si entramos en el deploy
  • Tambien lo podemos modificar
  • Y lo modificamos
  • Y tambien lo podemos hacer con este icono