Slide 1

Slide 1 text

Recuperação de Desastres & Backup Kubernetes Carol Valencia

Slide 2

Slide 2 text

Tópicos - Motivação - Principais componentes kubernetes - Persistência kubernetes - Etcd - Ferramentas - Demo

Slide 3

Slide 3 text

Motivação

Slide 4

Slide 4 text

Motivação Resiliência Recuperação desastres Testar atualizações Replicar ambiente

Slide 5

Slide 5 text

Figure 1. Kubernetes Architecture. https://foxutech.com/docker-container-clustering-and-orchestration-tools/kubernetes-architecture/

Slide 6

Slide 6 text

Persistência etcd Figure 2. Etcd. https://www.oreilly.com/library/view/docker-networking-and/9781492042488/ch04.html

Slide 7

Slide 7 text

Persistência aplicações Figure 3. Stateful. https://www.slideshare.net/mKrishnaKumar1/stateful-set-in-kubernetes-implementation-usecases

Slide 8

Slide 8 text

Etcd Algoritmo de consenso Raft ● Kubernetes ● Docker swarm ● Nomad ● Zookeeper ● Consul

Slide 9

Slide 9 text

Etcd - Eleição do lider Seguidores Candidato Lider

Slide 10

Slide 10 text

Etcd - Replicação do log

Slide 11

Slide 11 text

Etcd - Replicação do log Replicar o valor para os nodes seguidores.

Slide 12

Slide 12 text

Etcd - Replicação do log O valor é persistido no líder.

Slide 13

Slide 13 text

Etcd - Replicação do log O líder notifica aos seguidores que o valor foi persistido. O cluster chega a um consenso do estado do sistema.

Slide 14

Slide 14 text

Etcd - Quorum Consenso Concordar para tomar ação Mais do 50%, (N/2)+1 Perder consenso Managers Quorum 1 1 2 2 3 2 4 3 5 3 6 4 7 4

Slide 15

Slide 15 text

Etcd - Tolerancia falhas Redundância HA master com 5 nodes Managers Quorum Falhas 1 1 0 2 2 0 3 2 1 4 3 1 5 3 2 6 4 2 7 4 3

Slide 16

Slide 16 text

Etcd - Recuperação desastre Resiliência : (N-1)/2 falhas log snapshots : /snap WAL : /wal etcdctl backup \ --data-dir %data_dir% \ [--wal-dir %wal_dir%] \ --backup-dir %backup_data_dir% [--backup-wal-dir %backup_wal_dir%] etcdctl snapshot save

Slide 17

Slide 17 text

Etcd - Restore etcd \ -data-dir=%backup_data_dir% \ [-wal-dir=%backup_wal_dir%] \ -force-new-cluster \ etcdctl snapshot restore Automatizar o cluster …. Figure 4. Stateful. https://www.slideshare.net/mKrishnaKumar1/stateful-set-in-kubernetes-implementation-usecases

Slide 18

Slide 18 text

Ferramentas - Sonobuoy - Kubed - Kube-backup - Ark

Slide 19

Slide 19 text

Ark Figure 5. Ark. https://www.slideshare.net/RosemaryWang/kubernetes-learning-from-zero-to-production

Slide 20

Slide 20 text

Demo

Slide 21

Slide 21 text

Referências Demo: Demo backup using ark: https://github.com/krol3/backup-k8s The Log: What every software engineer should know about real-time data's unifying abstraction Understanding Distributed Consensus in etcd and Kubernetes - Laura Frank, CloudBees Disaster Recovery for your Kubernetes Clusters [I] - Andy Goldstein & Steve Kriss, Heptio

Slide 22

Slide 22 text

Carol Valencia Developer Operation guillen.carolina@gmail.com linkedin.com/in/carolgv github.com/krol3