Boas-vindas a este curso de Kubernetes da Alura, ministrado pelo Leonardo Sartorello.
Audiodescrição: Leonardo é um homem de pele clara, com barba e cabelos castanhos e olhos azuis. Atrás dele, há uma estante com alguns enfeites e uma parede iluminada com luzes em azul e vermelho.
Este curso é para você que já estudou Kubernetes e está querendo praticar com uma aplicação real.
Ao longo deste curso, nós vamos:
Tudo isso utilizando a aplicação da VollMed, uma aplicação de uma clínica médica que armazena informações de pacientes, médicos, consultas, entre outras.
Portanto, aproveite todos os recursos que a plataforma tem para oferecer. Além dos vídeos, temos atividades e o apoio do Fórum e da comunidade do Discord. Vamos estudar!
Antes de começarmos a escrever código para o Kubernetes, vamos entender um pouco melhor a aplicação e planejar o que vamos construir durante este curso.
Trata-se de uma clínica médica, a VollMed, na qual temos controle de pacientes, informações da clínica, consultas, médicos e outras informações que podem ser cadastradas.
Essa aplicação também é desenvolvida em Node.js, com JavaScript e suas frameworks. E, para nos auxiliar, ela já se encontra dentro de um container Docker e também com o Docker Compose para poder subir a aplicação.
Aí pode surgir a pergunta: se a aplicação já está no Docker, com o Docker Compose, por que a estamos colocando no Kubernetes? Porque o que queremos agora é garantir que essa aplicação esteja sempre no ar, ou seja, com o mínimo de downtime, podendo responder o máximo possível às requisições.
Então, quais são os passos para colocarmos essa aplicação no Kubernetes? Primeiro, claro, colocar a aplicação em si. Mas ela não trabalha sozinha, ela precisa de um banco de dados e precisamos fazer a comunicação entre a aplicação e o banco de dados.
Dentro do Kubernetes, essa comunicação não é diretamente da aplicação para o banco. Passamos por um serviço. Esse serviço facilita a comunicação entre a aplicação e o nosso banco de dados.
Uma vez colocada no Kubernetes, a nossa aplicação não está aberta. Precisamos especificar por onde a informação tem que passar. Por uma porta. Então, temos que especificar qual porta será utilizada e como vamos nos conectar a essa aplicação.
Agora que já temos um plano do que precisamos subir dentro do Kubernetes, vamos utilizar algumas ferramentas que podem nos auxiliar nesse trabalho.
A ferramenta que gostaríamos de apresentar é o Dashboard do Kubernetes. O Kubernetes possui uma interface gráfica que podemos utilizar para obter algumas informações. Vamos ver como criar essa interface para poder acessá-la.
Primeiramente, vamos abrir um terminal dentro do VS Code e iniciar o nosso minikube
com o comando minikube start
. Esse processo demora um pouco. Enquanto ele está iniciando, vamos entender o porquê dessa interface gráfica existir e, mais importante, por que geralmente não é utilizada em ambiente de produção.
Essa interface gráfica é muito útil para nós no desenvolvimento porque permite visualizar quais containers estão em execução, o que está sendo executado, os logs e fazer edições desses containers de forma muito rápida.
Mas, em contrapartida, o usuário que o Kubernetes utiliza dentro do dashboard é um usuário com permissões administrativas. Portanto, em um ambiente de produção, isso é um risco à segurança da sua aplicação e dos dados dela.
Por isso, geralmente o dashboard não é usado em ambiente de produção. Mas é uma ferramenta muito boa para usar em um ambiente de desenvolvimento.
Vamos esperar o minikube
terminar de iniciar para poder ver esse dashboard. Se você não está conseguindo executar o minikube start
, volte para o "Preparando o Ambiente" para verificar se você está com o minikube
instalado e se você também está com o Docker instalado. Precisamos dos dois para poder executá-lo.
Para abrir esse dashboard, temos duas opções. Podemos ir pela documentação do Kubernetes, onde terá um passo a passo para seguir, ou podemos seguir pelo jeito do minikube
, já que estamos utilizando ele, que inclusive é muito mais fácil.
É só executar o comando minikube dashboard
. Ele vai demorar um pouco na execução, porque ele tem que baixar todas as configurações do dashboard, iniciar o dashboard para depois podermos acessar.
Ao executar o dashboard, o minikube
soltou uma mensagem informando que algumas funções, ou features (funcionalidades), precisam de um metrics-server
(servidor de métricas).
Para ligar o servidor de métricas, temos que executar o comando minikube addons enable metrics-server
. Vamos parar o dashboard com "Ctrl + C", executar o minikube addons enable metrics-server
, que ele passa para nós, e deixar ele ligar esse servidor de métricas.
Mas, afinal, o que são esses addons do minikube
? O minikube
não é o Kubernetes por completo. Por quê? Porque o Kubernetes completo precisa de várias máquinas para ser executado, ele tem várias features que são necessárias para poder rodar.
No caso do minikube
, ele não tem tudo isso que o Kubernetes oferece. Então, os addons simulam essas funções que o Kubernetes traz para nós.
Em comparação, perdemos algumas funcionalidades. Por exemplo, se a máquina que o minikube
está executando desliga, o minikube
cai junto.
No Kubernetes isso não acontece. Se a máquina que o Kubernetes está executando desliga, existem outras máquinas para tomar a frente.
O
minikube
traz vantagens, mas de preferência não o utilize em ambientes de produção. Só em ambientes de desenvolvimento.
O dashboard terminou de carregar. Ele traz para nós o link, vamos abri-lo no navegador.
O Dashboard tem um menu lateral chamado "Workloads", que é onde vão aparecer os nossos pods, os nossos deployments, replica sets e stateful sets. Ou seja, aplicação e banco de dados de forma geral.
Temos o menu "Service", que é como vamos acessar as aplicações ou partes das aplicações. Temos configuração e armazenamento ("Config and Storage"). Vamos mexer com eles também ainda para subir banco de dados e para guardar variáveis. E há uma parte focada no Cluster, com as configurações dele.
É bom nos familiarizarmos com o dashboard, porque vamos usá-lo bastante durante esse curso. As opções ficam do lado esquerdo da tela e o que vamos ter para mostrar fica do lado direito.
Agora que temos o nosso dashboard, ou dash, para ficar mais fácil, podemos focar na nossa aplicação. Como ela já está dentro de um container Docker, vamos subir esse container, para ver se ela consegue executar.
O curso Kubernetes: praticando e garantido uma aplicação com LivenessProbe possui 100 minutos de vídeos, em um total de 51 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:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.