Alura > Cursos de DevOps > Cursos de Containers > Conteúdos de Containers > Primeiras aulas do curso Kubernetes: prática, Helm e Cloud

Kubernetes: prática, Helm e Cloud

Configurações de cluster - Apresentação

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á!

Configurações de cluster - Planejamento

Antes de começar a subir códigos, vamos planejar o que faremos neste curso.

Contexto

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.

Ferramentas utilizadas

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:

Plano de execução

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.

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

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.

Instalando o Kubernets Dashboard

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.

Sobre o curso Kubernetes: prática, Helm e Cloud

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:

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

Plus

De
R$ 1.800
12X
R$109
à vista R$1.308
  • Acesso a TODOS os cursos da Alura

    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.

  • Alura Challenges

    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.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
12X
R$149
à vista R$1.788
  • Acesso a TODOS os cursos da Alura

    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.

  • Alura Challenges

    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.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri, a inteligência artificial da Alura

    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.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas