Journey to Kubernetes - Parte 1 di 7 - La Ricetta

September 02, 2018 0 Comments Kubernetes, Terraform, Route53, Hetzner

Voglio il mio cluster Kubernetes!

Finalmente ho completato lo studio ed il test del mio cluster kubernetes personale, dove andrò a trasferire tutti i servizi che gestisco, con l'ottica di avere la possibilità di aggiungere nuovi servizi in un modo unificato, scalabile, e high available.

Nel dettaglio:

  • Una decina di siti web, (wordpress, phpbb, ghost...)
  • Server Mail
  • Server ownCloud
  • Altri servizi web minori

Passiamo ora ad elencare i protagonisti di questo studio.


La ricetta

Per avere un cluster stabile, distribuito e scalabile ho utilizzato i componenti che elencherò di seguito.
La via non è stata facile, ho dovuto effettuare moltissimi test dato che alcuni sistemi non si sono dimostrati all'altezza di un sistema stabile.
Alla fine del viaggio sono riuscito ad arrivare ad una soluzione performante, e fault tolerant.


Tools utilizzati

Servizi web cloud

Infrastruttura

File-system

Gestione dei database distribuiti Mysql

Ripristino e migrazione automatica dei workload da backups

Sicurezza

Mail server

  • Haproxy per l’entrypoint del mail server
  • Poste.io come mail server

Non entrerò nel dettaglio in questo primo articolo di ognuna delle parti che compongono il cluster, ma farò altri 6 articoli che copriranno le seguenti fasi:

  • Creazione macchine virtuali e predisposizione
    • Terraform
    • Aws route 53
  • Creazione cluster Kubernetes
    • Kubespray
  • Creazione file-system
    • GlusterFS
    • Local Provisioner
  • Creazione dei workload
    • Wordpress scalabile e in HA
    • Mailserver
  • Test di resilienza
    • Verfica down di nodi multipli di un cluster di 8 nodi, verifica di un riavvio completo (simulando un power off forzato di tutte le macchine)

Stay tuned!

Samuele Chiocca
Padova, italy Website