Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

https://gamma.app/?utm_source=made-with-gamma
INTEGRANTES
Guilherme Mesquita de Carvalho
01613629
Kaleo Abreu Macie
01618187
Adyel silva laurindo dos santos
01240287
Luiz Henrique Benicio Ribeiro
01649691
Carlos Diego dos Santos Borges
01597598
Graziele Silva de Oliveira
01632441
Davi Bandeira Tavares
01612958
Pedro Lucas Barbosa Siqueira
01620306
Lindon Jhonson Gomes Assunção
01626960
Evandro Montesuma Filho
01608339
Francisco Matheus de Sousa França
01589182
Thiago Duarte de Almeida
01598813
Renan de Freitas Testa
01613396
https://gamma.app/?utm_source=made-with-gamma
Sumário 
1. DockerKubernetes __________________________________________________________________ 3 
2. Capítulo 1: O Que é Docker e Por Que Usá-lo? ___________________________________________4 
2.1 Características do Docker ____________________________________________________________5
3. Capítulo 2: Como o Docker Funciona? _________________________________________________6
4. Capítulo 3: Instalando o Docker no Seu Computador ____________________________________7
5. Capítulo 4: Criando Seu Primeiro Contêiner ____________________________________________8
 6. Capítulo 5: O Que é Kubernetes e Por Que Usá-lo? ______________________________________9
 6.1 Características do Kubernetes _______________________________________________________10
 7. Capítulo 6: Componentes Básicos do Kubernetes ______________________________________11
 8. Capítulo 7: Como Funciona o Kubernetes _____________________________________________12
 9. Capítulo 8: Instalando e Configurando o Kubernetes Localmente _______________________13
 10. Capítulo 9: Entendendo Serviços e Exposição de Aplicações no Kubernetes _____________14
 11. Conclusão ________________________________________________________________________15
https://gamma.app/?utm_source=made-with-gamma
Docker e 
Kubernetes:
Nos últimos anos, o desenvolvimento e a implantação de 
aplicações mudaram drasticamente com a adoção de 
contêineres e ferramentas de orquestração. Isso se deve 
à crescente complexidade das aplicações modernas, que 
exigem ambientes de execução confiáveis, escaláveis e 
portáveis. Tecnologias como Docker e Kubernetes 
surgiram como pilares dessa nova era, facilitando o 
processo de criar, distribuir e gerenciar aplicações em 
diversos ambientes.
O Docker é uma plataforma que permite empacotar 
aplicativos e todas as suas dependências em 
contêineres. Com isso, desenvolvedores podem garantir 
que seus aplicativos rodem de forma consistente em 
qualquer ambiente, desde o desenvolvimento local até 
servidores em produção. Docker trouxe um enorme 
avanço ao tornar a criação e o gerenciamento de 
contêineres algo simples e eficiente, eliminando a 
famosa frase "mas funciona na minha máquina!". No 
entanto, quando se trata de gerenciar dezenas, centenas 
ou até milhares de contêineres, a complexidade 
aumenta. É aqui que entra o Kubernetes (ou K8s), uma 
plataforma de orquestração de contêineres.
Kubernetes foi projetado para automatizar a 
implantação, o escalonamento e a operação contínua de 
contêineres. Ele gerencia clusters de máquinas e 
garante que seus aplicativos estejam sempre 
disponíveis, escalando conforme necessário e se 
recuperando de falhas automaticamente. Em resumo, 
enquanto o Docker se concentra na criação e execução 
de contêineres individuais, o Kubernetes se encarrega 
de coordenar e gerenciar contêineres em grande escala.
Juntos, Docker e Kubernetes formam uma dupla 
poderosa, permitindo que equipes de desenvolvimento e 
operações entreguem software de forma mais ágil, 
confiável e escalável. Neste e-book, exploraremos como 
essas duas tecnologias funcionam, suas principais 
características e como utilizá-las para otimizar o ciclo de 
vida de suas aplicações.
https://gamma.app/?utm_source=made-with-gamma
Capítulo 1: O Que é Docker e 
Por Que Usá-lo?
Docker é uma ferramenta que ajuda a criar e gerenciar aplicativos de maneira mais fácil e eficiente. 
Imagine que você tenha um programa que quer rodar no seu computador, mas ele precisa de várias 
coisas para funcionar: um sistema operacional específico, algumas bibliotecas e configurações. Se 
faltar algo, o programa não vai funcionar como deveria.
Com o Docker, você empacota tudo o que seu aplicativo precisa em um “contêiner”. Esse contêiner 
funciona como uma caixinha que inclui todas as dependências, bibliotecas e configurações. Isso 
significa que, não importa onde você rode o contêiner (no seu computador, no servidor da empresa 
ou na nuvem), ele vai funcionar da mesma maneira.
Por Que Usar Docker?
Consistência: O aplicativo funciona do mesmo jeito em qualquer lugar.
Isolamento: Cada contêiner é independente e não interfere em outros 
programas.
Facilidade de Compartilhamento: Você pode enviar um contêiner para outra 
pessoa e ele vai rodar exatamente como no seu ambiente.
https://gamma.app/?utm_source=made-with-gamma
Características do Docker
Portabilidade:o Contêineres Docker podem ser 
executados em qualquer sistema que tenha o Docker 
instalado, seja no seu computador pessoal, em 
servidores da empresa ou na nuvem. Isso elimina 
problemas de compatibilidade e facilita a migração 
entre diferentes ambientes.
Isolamento:o Cada contêiner é executado de forma 
isolada, com seu próprio sistema de arquivos, rede e 
processo. Isso evita que problemas em um contêiner 
afetem outros contêineres ou o sistema host.
Consistência:o As imagens Docker garantem que o 
aplicativo e suas dependências sejam empacotados 
juntos, mantendo a consistência entre ambientes de 
desenvolvimento, teste e produção.
Eficiência de Recursos:o Ao contrário das máquinas 
virtuais (VMs), que exigem um sistema operacional 
completo, os contêineres compartilham o kernel do 
host, o que reduz o uso de memória e CPU, 
permitindo maior densidade de aplicativos no 
mesmo hardware.
Velocidade:o Contêineres iniciam e param 
rapidamente, possibilitando testes e 
desenvolvimentos mais ágeis em comparação com 
VMs. Isso também facilita o escalonamento de 
serviços conforme a demanda.
Escalabilidade:o Docker permite que você crie 
aplicativos com arquitetura de microserviços, onde 
cada serviço roda em um contêiner separado. Isso 
facilita o escalonamento independente de cada parte 
do aplicativo.
Facilidade de Compartilhamento e Distribuição:o O 
Docker Hub e outros registries facilitam o 
compartilhamento e distribuição de imagens Docker, 
permitindo que desenvolvedores publiquem e 
baixem imagens prontas para uso.
Suporte a Multi-Plataforma:o Docker pode ser 
executado em vários sistemas operacionais, como 
Windows, Linux e macOS, aumentando sua 
versatilidade no desenvolvimento e na implantação 
de aplicações.
https://gamma.app/?utm_source=made-with-gamma
Capítulo 2: Como o 
Docker Funciona?
O Docker funciona criando contêineres que isolam os 
aplicativos. Esses contêineres compartilham o mesmo 
sistema operacional, mas mantêm cada aplicação 
separada uma da outra.
Para criar um contêiner, você precisa de uma “imagem”. 
A imagem é um modelo que define o que vai dentro do 
contêiner. Pense nela como uma receita que especifica o 
sistema operacional, as bibliotecas e o aplicativo em si.
Por exemplo, se você quer rodar um site com Python, 
sua imagem pode incluir o Python e as bibliotecas 
necessárias. Depois de criar essa imagem, você pode 
gerar quantos contêineres quiser a partir dela.
Imagens: São os “modelos” que você usa 
para criar contêineres.
Contêineres: São as instâncias rodando a 
partir das imagens.
Dockerfile: Um arquivo de texto que 
descreve como construir a imagem (quais 
passos seguir para configurar o 
contêiner).
https://gamma.app/?utm_source=made-with-gamma
Capítulo 3: Instalando o 
Docker no Seu 
Computador
Instalar o Docker é fácil e pode ser feito na maioria dos 
sistemas operacionais como Windows, macOS e Linux.
Passo a Passo para Instalação:
Baixe o Docker Desktop: Acesse 
docker.com e faça o download do Docker 
Desktop.1.
Instale: Siga as instruções de instalação.2.
Verifique a Instalação: Abra o terminal 
(Prompt de Comando no Windows ou 
Terminal no macOS/Linux) e digite:
3.
docker --version
Se aparecer a versão do Docker, significa que tudo está 
funcionando.
https://gamma.app/?utm_source=made-with-gamma
Capítulo 4: Criando Seu 
Primeiro Contêiner
Depois de instalar o Docker, é hora de criar seu primeiro 
contêiner!
Passos para Criar um Contêiner:
Abra o terminal e digite:1.
docker run hello-world
Isso vai baixar uma pequena imagem chamada “hello-
world” e criar um contêiner que simplesmente mostra 
uma mensagem.
Se você viu a mensagem “Hello from 
Docker!”, isso significa que seu contêiner 
foi criado e executado com sucesso.
1.
Entendendo o Que Aconteceu:
Quando você digitou o comando docker run hello-world , 
o Docker procurou essa imagem no seu computador. 
Como não encontrou, ele baixou a imagem do Docker 
Hub (um repositório online de imagens Docker) e, em 
seguida, criou um contêiner a partir dela.
https://gamma.app/?utm_source=made-with-gamma
Capítulo 5: O Que é Kubernetes e Por Que 
Usá-lo?
Kubernetes (também chamado de K8s) é uma plataforma de orquestração de contêineres. Mas o que 
isso significa? Imagine que você tem vários contêineres rodando um site, um banco de dados e 
outros serviços. Você precisa garantir que todos esses contêineres funcionem bem juntos, se 
comuniquem e sejam gerenciados de forma automática. Kubernetes faz exatamente isso!
Ele ajuda a organizar, gerenciar e escalar todos esses contêineres como se fossem uma única 
aplicação. Com o Kubernetes, você pode garantir que seus contêineres sempre estejam rodando 
corretamente e que o aplicativo continue funcionando mesmo se algum contêiner falhar.
Por Que Usar Kubernetes?
Automatização: Ele cuida da implantação e gestão dos contêineres automaticamente.
Escalonamento: Aumenta ou diminui o número de contêineres com base no tráfego e no uso de 
recursos.
Autocura: Se um contêiner falhar, o Kubernetes substitui automaticamente por um novo.
Balanceamento de Carga: Distribui as solicitações entre os contêineres para garantir que 
nenhum fique sobrecarregado.
Em resumo, Kubernetes facilita a vida de quem precisa gerenciar muitos contêineres, garantindo 
que tudo funcione de forma eficiente e automatizada.
https://gamma.app/?utm_source=made-with-gamma
Características do Kubernetes
Orquestração Automatizada:O Kubernetes 
automatiza o gerenciamento de contêineres, 
garantindo que eles sejam distribuídos de maneira 
eficiente entre os nós, reiniciados em caso de falhas 
e removidos quando não forem mais necessários.
1.
Escalonamento Horizontal:O Permite aumentar ou 
diminuir o número de contêineres (pods) 
automaticamente, com base no uso de CPU, memória 
ou outros parâmetros. Isso garante que o sistema se 
adapte às variações de carga, mantendo o 
desempenho ideal.
2.
Autocorreção:O Se um pod falhar ou for removido, o 
Kubernetes cria automaticamente novos pods para 
substituí-los, garantindo alta disponibilidade e 
estabilidade do aplicativo.
3.
Gerenciamento de Configurações e Segredos:O 
Kubernetes permite gerenciar configurações 
sensíveis, como senhas e chaves de API, por meio de 
recursos como ConfigMaps e Secrets, separando 
dados sensíveis dos contêineres e facilitando a 
atualização.
4.
Balanceamento de Carga e Descoberta de 
Serviços:O Distribui as requisições entre os pods de 
forma equilibrada e eficiente, e oferece serviços de 
descoberta que permitem que contêineres se 
comuniquem facilmente entre si.
5.
Desenvolvimento e Testes Locais com Minikube:O 
Com ferramentas como Minikube, é possível simular 
um cluster Kubernetes no seu próprio computador, 
facilitando o desenvolvimento e testes antes da 
implantação em ambientes de produção.
6.
Atualizações e Reversões Automatizadas:O 
Kubernetes permite atualizar aplicações de forma 
gradual e controlada (rollouts) e, se necessário, 
reverter rapidamente para versões anteriores sem 
afetar o ambiente de produção.
7.
Suporte a Vários Tipos de Armazenamento:O 
Kubernetes suporta diversos sistemas de 
armazenamento, como volumes locais, NFS, 
sistemas em nuvem (AWS, GCP, Azure) e mais, 
garantindo flexibilidade no uso de dados persistentes 
para contêineres.
8.
Arquitetura de Microserviços:O Facilita a 
implantação de aplicações complexas usando uma 
arquitetura de microserviços, onde cada parte do 
sistema pode ser gerenciada e escalada 
independentemente.
9.
https://gamma.app/?utm_source=made-with-gamma
Capítulo 6: 
Componentes Básicos 
do Kubernetes
Antes de mergulharmos nas funcionalidades, vamos 
entender os principais componentes do Kubernetes. 
Pensar no Kubernetes como uma “caixa de ferramentas” 
ajuda a visualizar como ele funciona. Aqui estão os 
principais itens dessa caixa:
Cluster: Um conjunto de máquinas (físicas ou 
virtuais) que o Kubernetes gerencia. Cada cluster é 
formado por vários nós (nodes).
1.
Nó (Node): Uma máquina dentro do cluster que pode 
executar contêineres. Existem dois tipos de nós:
2.
Nó Mestre (Master Node): Responsável por 
gerenciar o cluster e decidir onde rodar cada 
contêiner.
Nó de Trabalho (Worker Node): Executa os 
contêineres que fazem parte da sua aplicação.
Pod: É a menor unidade do Kubernetes. Um pod 
pode conter um ou mais contêineres que 
compartilham o mesmo ambiente de rede e 
armazenamento. Normalmente, um pod contém 
apenas um contêiner, mas se dois contêineres 
precisarem trabalhar juntos (por exemplo, um 
servidor e um cache), eles podem ser colocados no 
mesmo pod.
3.
Serviço (Service): Um ponto de acesso para os pods, 
permitindo que outras partes da aplicação se 
conectem a eles. Mesmo se um pod for substituído, o 
serviço mantém um endereço fixo para acesso.
4.
Namespace: Um mecanismo que separa grupos de 
recursos no cluster. Ideal para organizar diferentes 
ambientes, como desenvolvimento, teste e produção, 
dentro do mesmo cluster.
5.
https://gamma.app/?utm_source=made-with-gamma
Capítulo 7: Como 
Funciona o Kubernetes?
O Kubernetes funciona como um maestro que controla 
um conjunto de contêineres. Ele usa uma arquitetura 
baseada em clusters, onde cada cluster é composto por 
nós que executam pods com contêineres.
Entendendo o Processo:
Planejamento e Implantação:o Você cria um plano 
(chamado de “manifesto”) que descreve como os 
contêineres devem ser implantados. Esse plano é um 
arquivo no formato YAML (uma linguagem de 
marcação legível para humanos).
1.
Distribuição dos Contêineres:O Kubernetes analisa o 
manifesto e decide onde cada contêiner será 
executado no cluster. Ele escolhe o melhor nó 
disponível, levando em conta o uso de recursos, 
como CPU e memória.
2.
Monitoramento e Autocorreção:o Depois de 
implantar os contêineres, o Kubernetes monitora 
constantemente cada um. Se um pod falhar ou for 
removido, ele cria um novo automaticamente para 
substituí-lo.
3.
Escalonamento:o Com base na carga de trabalho, o 
Kubernetes pode aumentar ou diminuir o número de 
pods para atender à demanda. Se seu site receber 
mais visitantes, por exemplo, ele pode criar mais 
contêineres para suportar o aumento de tráfego.
4.
O Que Acontece se Um Contêiner Cair?
 Se um contêiner falhar ou for removido, o Kubernetes 
substitui automaticamente por um novo contêiner. Isso 
garante que sua aplicação continue funcionando sem 
interrupções.
https://gamma.app/?utm_source=made-with-gamma
Capítulo 8: Instalando e Configurando o 
Kubernetes Localmente
Para aprender a usar o Kubernetes, você pode começar instalando-o localmente no seu 
computador. Uma das formas mais fáceis de fazer isso é usando o Minikube, uma ferramenta que 
cria um cluster Kubernetes em uma máquina local.
 Instalando o Minikube: 
Instale o Minikube e o kubectl (a linha de comando do Kubernetes):1.
Acesse Minikube Install e siga as instruções de instalação para o seu sistema operacional.
Inicie um cluster local: 2.
Após a instalação, abra o terminal e digite:
minikube start
Isso criaráum cluster Kubernetes local no seu computador. 
3. Verifique se o cluster está rodando, Digite:
kubectl get nodes
Se aparecer um nó com o status “Ready”, o cluster está pronto para uso. 
4. Implante seu primeiro aplicativo: 
 Vamos usar um exemplo básico para ver como o Kubernetes funciona. No terminal, digite: 
kubectl create deployment hello-world --image=gcr.io/google-samples/hello-app:1.0 
Isso criará um contêiner simples chamado “hello-world”. 
5. Verifique o aplicativo: 
Para ver os pods rodando, digite: 
kubectl get pods 
Pronto! Você já tem um aplicativo rodando no Kubernetes localmente. A partir daqui, podemos 
explorar como criar serviços, expor aplicações e escalar contêineres.
https://gamma.app/?utm_source=made-with-gamma
Como o Kubernetes Funciona?
1
Orquestração
Gerencia a implantação, escalonamento, atualização e comunicação entre 
contêineres.
2
Automação
Automatiza a criação e a configuração de clusters Kubernetes.
3
Resiliência
Oferece tolerância a falhas, garantindo a alta disponibilidade do aplicativo.
4
Escalabilidade
Aumenta ou diminui os recursos do aplicativo com base na demanda.
5
Gerenciamento
Simplifica o gerenciamento de aplicações complexas com pods, serviços e recursos.
https://gamma.app/?utm_source=made-with-gamma
Conclusão
Docker e Kubernetes mudaram completamente a 
maneira como desenvolvemos, implantamos e 
gerenciamos aplicações. Docker facilita a criação de 
contêineres que encapsulam aplicativos e suas 
dependências, garantindo que eles funcionem da mesma 
maneira em diferentes ambientes. O Docker torna o 
processo de desenvolvimento e distribuição de software 
mais simples, oferecendo portabilidade e eficiência.
Mas quando o assunto é gerenciar e escalar aplicações 
com dezenas ou até centenas de contêineres, a 
complexidade aumenta. É aí que o Kubernetes entra 
como uma solução essencial. Ele automatiza a 
orquestração de contêineres, cuidando da implantação, 
escalonamento e manutenção dos serviços, garantindo 
alta disponibilidade e estabilidade do sistema. Com 
recursos como autocorreção, balanceamento de carga e 
escalonamento horizontal, o Kubernetes se destaca por 
oferecer um controle centralizado e eficiente dos 
contêineres.
Juntos, Docker e Kubernetes formam uma combinação 
poderosa que oferece agilidade, consistência e 
flexibilidade para equipes de desenvolvimento e 
operações. Docker facilita a criação e execução de 
contêineres, enquanto Kubernetes gerencia e coordena 
esses contêineres em grande escala, permitindo que 
empresas implantem aplicativos complexos com rapidez 
e confiabilidade. Essas tecnologias se tornaram 
essenciais para empresas que buscam construir, 
entregar e manter aplicações modernas em ambientes 
dinâmicos e distribuídos.
https://gamma.app/?utm_source=made-with-gamma

Mais conteúdos dessa disciplina