Alura > Cursos de DevOps > Cursos de Containers > Conteúdos de Containers > Primeiras aulas do curso Kubernetes: praticando e garantido uma aplicação com LivenessProbe

Kubernetes: praticando e garantido uma aplicação com LivenessProbe

Configurações de cluster - Apresentação

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.

Para quem é este curso?

Este curso é para você que já estudou Kubernetes e está querendo praticar com uma aplicação real.

O que vamos aprender?

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!

Configurações de cluster - Planejamento

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.

O que a nossa aplicação faz?

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.

Como vamos colocar a aplicação no Kubernetes?

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.

Configurações de cluster - Dashboard e metrics-server

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.

Entrando no Dashboard do Kubernetes

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.

As funções da interface gráfica do Kubernetes

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.

Conhecendo o Dashboard

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.

Sobre o curso Kubernetes: praticando e garantido uma aplicação com LivenessProbe

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:

Aprenda Containers acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas