meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
virtualizacion:kubernetes:probes [2020/10/31 09:25] – [Liveness Probe] lcvirtualizacion:kubernetes:probes [2023/01/18 14:37] (actual) – editor externo 127.0.0.1
Línea 7: Línea 7:
   * Startup Probe  -> Se utiliza para saber cuando la aplicación de un container se ha iniciado. (por ejemplo si es una aplicación que tarda mucho en cargar)   * Startup Probe  -> Se utiliza para saber cuando la aplicación de un container se ha iniciado. (por ejemplo si es una aplicación que tarda mucho en cargar)
  
 +Tenemos tres formas de hacer la comprobación de un probe:
 +
 +  * por HTTP. Se hace una petición GET, si la respuesta no está entre 200 y 300 implica algún tipo de error
 +  * por un comando . Ejecutamos un comando. Si devuelve 0 se considera saludable, si da otro resultado no saludable
 +  * por un puerto TCP Se intenta una conexión TCP a un puerto especificado. Si hay conexión se considera saludable, en caso contrario es que hay problemas
  
 ==== Readiness Probe ==== ==== Readiness Probe ====
  
 ==== Liveness Probe ==== ==== Liveness Probe ====
 +Con liveness probe revisamos el estado del contenedor y si el estado del contenedor no es el correcto Kubernetes lo reiniciará de forma automática
 === Ejemplo de liveness probe por http === === Ejemplo de liveness probe por http ===
 <sxh yaml> <sxh yaml>
Línea 25: Línea 31:
     args:     args:
     - /server     - /server
-    livenessProbe:+    livenessProbe:    #hace una petición por el puerto 8080 en espera de obtener un valor de 200
       httpGet:       httpGet:
         path: /healthz         path: /healthz
Línea 50: Línea 56:
     - /bin/sh     - /bin/sh
     - -c     - -c
-    - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600 +    - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600   #creamos un fichero , espera 30 sg, lo borra y  vuelve a esperar 600s 
-    livenessProbe:+    livenessProbe:       # LA prueba ses hacer un cat del fichero que creamos anteriormente cada 5 s
       exec:       exec:
         command:         command:
         - cat         - cat
         - /tmp/healthy         - /tmp/healthy
-      initialDelaySeconds:+      initialDelaySeconds:  #Tiempo de espera antes de empezar las comprobaciones 
-      periodSeconds: 5+      periodSeconds:   #Cada cuanto tiempo hace las comprobaciones
  </sxh>  </sxh>
 +<note>Un uso común de ejecutar un comando sería controlar el espacio disponible por si nuestro container se queda sin espacio se reinicie y kubernetes lo crea de nuevo</note>
 === ejemplo de liveness probe por tcp === === ejemplo de liveness probe por tcp ===
 +<sxh yaml>
 +apiVersion: v1
 +kind: Pod
 +metadata:
 +  name: goproxy
 +  labels:
 +    app: goproxy
 +spec:
 +  containers:
 +  - name: goproxy
 +    image: k8s.gcr.io/goproxy:0.1
 +    ports:
 +    - containerPort: 8080
 +    readinessProbe:
 +      tcpSocket:
 +        port: 8080
 +      initialDelaySeconds: 5
 +      periodSeconds: 10
 +    livenessProbe:
 +      tcpSocket:
 +        port: 8080
 +      initialDelaySeconds: 15
 +      periodSeconds: 20
 +  </sxh>
 ==== Startup Probe ==== ==== Startup Probe ====
  
Línea 65: Línea 96:
 ==== Referencias ==== ==== Referencias ====
   * https://github.com/ricardoandre97/k8s-resources/tree/master/probes   * https://github.com/ricardoandre97/k8s-resources/tree/master/probes
 +  * https://www.elladodelmal.com/2020/01/kubernetes-como-comprobar-la-salud-de.html