Olá! Eu sou Leonardo Sartorello e serei seu instrutor durante este curso.
Audiodescrição: Leonardo é um homem branco, de olhos azuis, cabelo e barba castanho-escuros. No corpo, há uma camiseta preta. No fundo, uma parede branca com dois quadros pretos e iluminação em degradê nas cores azul e rosa.
Este focará no treino e na prática de Kubernetes.
O que veremos neste curso?
O que praticaremos?
No deploy, adicionaremos a aplicação no cluster, rodando-a com todas as variáveis de ambiente necessárias. Por fim, faremos todo o possível para manter a aplicação sempre funcionando para as pessoas usuárias.
Quais ferramentas serão utilizadas?
O Minikube gerará um cluster local, permitindo a ausência de custos. Já o Kubectl se comunicará com o cluster Kubernetes, permitindo a realização das configurações e a inserção da aplicação no cluster.
Descobriremos para que serve o Helm, principalmente nas etapas de automatização da criação de partes da infraestrutura. Veremos também o que a nuvem oferece para a aplicação em termos de Kubernetes — principalmente no que se refere ao Google Cloud e à Amazon AWS.
Para quem se direciona este curso?
Estudantes que já finalizaram os cursos anteriores da Formação de Kubernetes e querem descobrir se tudo o que aprenderam se aplica na prática.
Esperamos você nesse curso. Até lá!
Antes de começar a subir códigos, vamos planejar o que faremos neste curso.
Começaremos com o contexto. Fazemos parte de um time de DevOps e há um time de Dev que trabalha conosco. Ele desenvolveu uma nova aplicação de clínica médica, conhecida como VollMed, e precisa que ela seja colocada no ar.
Para nos ajudar, eles já colocaram a aplicação dentro de um contêiner e informaram o único requisito necessário ao time de DevOps: a aplicação deve funcionar e permanecer no ar o tempo todo, portanto, não pode sair do ar.
Sabemos que a aplicação está em um contêiner, portanto, o Docker é uma opção. Contudo, ele não garante que nossa aplicação estará no ar o tempo todo devido a alguns problemas. Entre eles, os principais são:
Por estes motivos, o Docker não funcionará. Precisaremos de algo mais robusto, como o Kubernetes.
O Kubernetes possui várias etapas de segurança, roda em várias máquinas, e permite que não nos preocupemos com a aplicação sair do ar.
Basta utilizá-lo para manter a aplicação no ar e não precisaremos mais nos preocupar, correto? Não! A aplicação não funciona sozinha, portanto, o time de Dev nos mostrou as ferramentas para rodá-la.
Entre elas, temos:
Qual será nosso plano para subir tudo isso e combinar o banco de dados com a aplicação?
Subiremos esse conteúdo por partes, iniciando pela aplicação e o banco de dados. Para permitir que as duas partes se comuniquem, criaremos um serviço do Kubernetes que facilitará o acesso entre ambas.
Em seguida, subiremos outro serviço para acessar a aplicação. O plano possui outras etapas, mas serão vistas posteriormente.
O time de Dev nos avisou que a aplicação terá uma atualização para melhorar sua segurança e desempenho. Para isso, utilizará um novo banco de dados: o Redis. Portanto, quando lançarmos a aplicação, ela deverá conter o Redis em sua infraestrutura.
Poderíamos adicionar o Redis manualmente, contudo, preferimos utilizar a ferramenta Helm, que nos ajudará a automatizar a criação do Redis sem manipular códigos.
Com o plano montado, entraremos em ação para subir essa aplicação.
Para nos ajudar a subir a aplicação e verificar se tudo está funcionando, utilizaremos a interface web Kubernets Dashboard. Com ela, verificaremos se tudo o que for adicionado ao cluster do Kubernetes funcionará corretamente e obter informações em tempo real, de modo simples.
Como instalamos o Kubernets Dashboard? Temos duas opções:
Já que estamos utilizando o Minikube para criar o cluster, escolheremos a segunda opção.
Importante: A documentação do Kubernetes informa que o Dashboard não é recomendado em ambientes de produção, já que seu acesso possui várias permissões administrativas. Vamos adicioná-lo somente na etapa de desenvolvimento para monitorar a aplicação.
Acessaremos a documentação oficial do Dashboard do Minikube por meio do navegador. Ela está em inglês, mas é possível encontrar o comando que queremos.
Na seção "Basic Usage" (Uso básico), temos o código que habilita o dashboard. Vamos copiá-lo.
minikube dashboard
Acessaremos o VS Code, onde abriremos um terminal novo. Para isso, acessaremos o menu hambúrguer na barra superior, no canto esquerdo. Em seu interior, seguiremos o caminho "Terminal > Novo Terminal".
O terminal será exibido em uma aba na porção inferior do VS Code. Vamos arrastar sua aba superior para cima, aumentando o seu tamanho para ocupar toda a tela do editor.
Em seu interior, colaremos o comando copiado e pressionaremos "Enter". Ele verificará se tudo está funcionando e abrirá o Dashboard.
Entre os retornos do terminal, há a seguinte linha:
Some dashboard features require the metrics-server addon. To enable all features please run:
minikube addons enable metrics-server
Ela nos informa que algumas funções do Dashboard precisam do metrics-server
, que não é habilitado por padrão. Além disso, ele exibe o comando de ativação.
Vamos pressionar "Ctrl+C" para interromper a execução do Minikube Dashboard e executar o comando de instalação do metrics-server
.
minikube addons enable metrics-server
Após o "Enter", o terminal retornará a mensagem de ativação concluída.
The
metrics-server
addon is enabled
Rodaremos novamente o comando do Dashboard e veremos que a mensagem de aviso sobre o metris-server
não será exibida, mas sim o link de acesso ao Dashboard.
http://127.0.0.1:35921/api/v1/namespaces/kubernetes-dashboard/services/http: kubernetes-dashboard:/proxy/
Clicaremos em cima dele com o "Ctrl" pressionado e acessaremos o navegador, onde haverá uma nova guia com o Kubernetes Dashboard em execução dentro do Minikube.
No menu lateral esquerdo, temos tudo o que utilizaremos: Cron Jobs, Deployments, Jobs, Pods, Stateful Sets para o banco de dados, entre outros.
A seguir, trabalharemos com a aplicação.
O curso Kubernetes: prática, Helm e Cloud possui 170 minutos de vídeos, em um total de 61 atividades. Gostou? Conheça nossos outros cursos de Containers em DevOps, ou leia nossos artigos de DevOps.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.
Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.
Emitimos certificados para atestar que você finalizou nossos cursos e formações.
Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.
Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.
Emitimos certificados para atestar que você finalizou nossos cursos e formações.
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.
Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.
Acesso completo
durante 1 ano
Estude 24h/dia
onde e quando quiser
Novos cursos
todas as semanas