Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kubernetes 101
Search
Samuel Birocchi
August 05, 2019
Programming
0
34
Kubernetes 101
Uma pequena introdução a Kubernetes e seus componentes
Samuel Birocchi
August 05, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Site Reliability Engineering for GMO
pyama86
7
1k
Elm Form Validation
bkuhlmann
0
510
What We Can Learn From OSS
inouehi
0
420
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
640
Milestoner
bkuhlmann
1
410
2 週間で Twitter Bot を作ってみた
contour_gara
0
180
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
360
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
670
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
900
SIMD Parallel Programming with the Vector API
josepaumard
0
110
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
710
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
720
Featured
See All Featured
Docker and Python
trallard
34
2.7k
Designing with Data
zakiwarfel
96
4.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
Writing Fast Ruby
sferik
621
60k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Infographics Made Easy
chrislema
238
18k
What's new in Ruby 2.0
geeforr
337
31k
Agile that works and the tools we love
rasmusluckow
325
20k
How to Ace a Technical Interview
jacobian
272
22k
Transcript
Kubernetes 101
Samuel Birocchi • Ex-aluno Eng. de Computação UNICAMP • Presidente
AAACEC 2012 • Ex-desenvolvedor iFood • Fundador e CTO da GoBots • Gamer nas horas vagas
Afinal, o que é Kubernetes? "Kubernetes is a portable, extensible,
open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation."
História • Servidores físicos / Datacenters • Mais de uma
aplicação por servidor = +Riscos • Recursos subutilizados
• Virtualização! Várias máquinas virtuais por servidor • Aplicações rodam
isoladas (+ segurança) • Mais escalável • Menos custos com hardware • Perfeito História
• Virtualização! Várias máquinas virtuais por servidor • Aplicações rodam
isoladas (+ segurança) • Mais escalável • Menos custos com hardware • Perfeito História ?
História • Containers! • Todos benefícios de VMs + ◦
Consistência de ambientes ◦ Desenvolvimento mais ágil ◦ Roda em qualquer OS ◦ Facilidade para criar micro-serviços ◦ E muito mais
Docker e containers App Runtime Dependências Imagem Contêiner $docker run
Nuvem e escalabilidade $ ssh user@pc1 $ docker run our-app
$ ssh user@pc2 $ docker run our-app Sucesso!
$ ssh user@pc1 $ docker run our-app $ ssh user@pc2
$ docker run our-app Várias máquinas + Varios apps + Múltiplos deploys diários = Alto risco de falha $ ssh user@pc3 $ docker run our-app $ ssh user@pc4 $ docker run our-app $ ssh user@pc5 $ docker run our-app $ ssh user@pc6 $ docker run our-app $ ssh user@pc7 $ docker run our-app $ ssh user@pc8 $ docker run our-app
$ ssh user@pc1 $ docker run our-app $ ssh user@pc2
$ docker run our-app $ ssh user@pc3 $ docker run our-app $ ssh user@pc4 $ docker run our-app Nuvem e escalabilidade
$ ssh user@pc1 $ docker run our-app $ ssh user@pc2
$ docker run our-app $ ssh user@pc3 $ docker run our-app $ ssh user@pc4 $ docker run our-app Nuvem e escalabilidade
$ ssh user@pc1 $ docker run our-app $ ssh user@pc2
$ docker run our-app $ ssh user@pc3 $ docker run our-app $ ssh user@pc4 $ docker run our-app Nuvem e escalabilidade
$ ssh user@pc1 $ docker run our-app $ ssh user@pc2
$ docker run our-app $ ssh user@pc3 $ docker run our-app $ ssh user@pc4 $ docker run our-app Nuvem e escalabilidade
Kubernetes • Descoberta de serviço e balanceamento de carga •
Orquestração de armazenamento • Rollout e Rollback automatizados • Self-Healing • Gerenciamento de secrets e de configuração
Kubernetes
Objetos do Kubernetes: Pods • Menor objeto "deployavel" • Representação
de processos rodando no cluster • Podem ser efêmeros ou guardar estado • Podem possuir mais de um container (casos especiais)
Objetos do Kubernetes: Deployments • Faz o rollout gradual de
pods • Scale up ou down facilitado • Faz o update de versão dos pods • Provavelmente o objeto mais popular
Objetos do Kubernetes: Services • Expõe os pods para o
Cluster/Internet • Responsável pelo balanceamento de carga • Faz o uso de "selectors" para expor os pods
Objetos do Kubernetes: Ingress • Expõe os "services" para o
Cluster/Internet • Faz o roteamento de requisições (proxy reverso)
Objetos do Kubernetes: Outros • Jobs • CronJobs • StatefulSets
• E muito mais
Infra GoBots
Sobre a • Completando 3 anos de empresa HOJE! •
Fundada por ex-alunos computação Unicamp • Parceria com a Unicamp para desenvolvimento da AI proprietária • Escritório em Barão Geraldo • Temos vagas!
[email protected]
Obrigado! Samuel Birocchi
[email protected]
@samuelbirocchi Artigo Kubernetes + Spring: https://itnext.io/migrating-a-spring-boot-service-to-kubernetes-in-5-steps-7c1702da81b6