Kubernets: Health-Check & Port-Forwarding

HEALTH-CHECK

Una delle funzionalità avanzate e più importanti di kubernetes è l’health-check che permette di controllare l’integrità dei servizi.

E’ un ulteriore layer che aggiunge ai controlli standard che garantiscono che i processi dell’ applicazione siano sempre in esecuzione (livenessProbe), i controlli di integrità delle applicazioni (ReadinessProbe)

Il vantaggio dell’ health-check è che:

  • E’ specifico per ogni container.
  • Utilizza la stessa logica dell’applicazione (ad esempio, il caricamento di una pagina Web, il ping di un DB).
  • Il livenessProbe determina se l’applicazione sta funzionando correttamente. In caso contrario l’applicazione viene riavviata.
  • Il ReadinessProbe descrive quando il container è pronto a soddisfare le richieste degli utenti (e quindi del servizio)

La configurazione dell’health-check avviene attraverso l’aggiunta delle voci livenessProbe e ReadinessProbe al file yaml di configurazione del POD (vedi figura 1)

Figura 1

PORT-FORWARDING

Il port forwarding autorizza il servizio (configurato a livello POD) a comunicare sia con con altri POD, che con l’esterno. Senza Port-Forwarding, il servizio è totalmente isolato.

L’esempio più semplice è quello di un  sito web. Fintanto che non è avviato il port-forwarding, le pagine del sito non sono disponibili agli utenti.

Nel nostro esempio (some-mysql), dopo che il POD è stato avviato, il comando per abilitare il port-forwarding dell’applicazione sulla porta 8000 è :

kubectl port forward some-mysql  8000:8000

Sul sito www.gable.it è disponibile un articolo che approfondisce la tematica networking di ambienti Container. Per leggerlo cliccate qui.

In uno dei prossimi articoli parleremo dei bilanciatori di carico che aiutano la gestione del networking.

A presto