🎯Raio-X do Marketing Digital: Tendências e desafios 🚀

Kubernetes: uma introdução

Publicado em 07/05/2018

Atualizado em 03/06/2024
kubernetes

Nesse artigo falaremos sobre o Kubernetes, seus conceitos básicos, objetivos, arquitetura, funcionamento, vantagens e passos iniciais antes de rodar uma aplicação web com ele. Antes de você prosseguir com a leitura, é extremamente recomendado que você tenha conhecimentos prévios com a tecnologia Docker.

O que é e qual o objetivo do Kubernetes?

Trata-se de um sistema de código aberto para orquestração de contêineres Docker. Em outras palavras, um sistema que faz o monitoramento de aplicações conteinerizadas. Seu principal objetivo é facilitar o monitoramento, abstraindo a complexidade que seria necessária com a criação de scripts para iniciar contêineres, monitorar e controlar o retorno de erros em caso de quedas ou falhas no sistema.

Dessa forma, um programador focado na parte de desenvolvimento não necessita ter conhecimentos avançados em níveis de infraestrutura para conseguir realizar uma monitoração/gerenciamento de qualidade em suas aplicações, basta apenas estudar e entender como integrar o Kubernetes.

Arquitetura do Kubernetes

kubernetes

Antes de começar a testar o Kubernetes na prática, é interessante conhecer sua arquitetura. Podemos dizer que a arquitetura se divide nos seguintes componentes principais.

Master: ponto de controle central que provê uma visão unificada do cluster. É a máquina mestre que recebe as configurações preestabelecidas através dos arquivos .yaml.

Cluster: conjunto dos componentes (Master, nodes, pods, contêineres, etc). Obs: A imagem acima representa o cluster onde trabalharemos.

Node: Uma máquina ativa (gerenciada pelo master), também conhecida como Minion. Dentro dele ficam os serviços necessários para rodar os pods. Os serviços em um node incluem Docker, Kubelet e kube-proxy.

Pods: menores unidades implantadas que podem ser criadas, escaladas e manuseadas. É uma coleção lógica de contêineres que pertencem a uma aplicação.

Obs: Um master pode gerenciar um ou mais nodes, um node pode conter um ou mais pods, e um pod pode conter um ou mais contêineres. Essa última configuração não é recomendada, pois ao existir mais de um contêiner em um único pod, ocorre um alto grau de acoplamento entre os contêineres, pois eles irão dividir recursos de memória e volume.

Kubernetes: vantagens

  • Fácil manipulação de contêineres, que na verdade ocorrem através dos objetos PODS;
  • Escalonamento da a aplicação;
  • Volumes persistentes;
  • Regeneração própria;
  • Abstração de complexidade.

Passos iniciais

Para conseguir utilizar o Kubernetes, previamente é necessária a instalação dos seguintes componentes:

Virtual Box
Kubectl
Minikube

Obs: Minikube é um ferramenta que facilita o processamento do Kubernetes na máquina local·

Depois disso, basta criar um diretório para sua aplicação e digitar o comando $ minikube start, ele será responsável por criar uma máquina virtual ( por esse motivo a instalação do Virtual Box ) e então, agora nesse ambiente virtualizado teremos um cluster onde poderemos trabalhar com nossa aplicação.

iago@iagomachado:~/Desktop/kubernetes/app$ minikube start
Starting local Kubernetes v1.10.0 cluster…
Starting VM…
Getting VM IP address…
Moving files into cluster…
Setting up certs…
Connecting to cluster…
Setting up kubeconfig…
Starting cluster components…
Kubectl is now configured to use the cluster.
Loading cached images from config file.

Conclusão

Dentro desse contexto de aplicações, quem não gosta de automatizar processos, facilitar tarefas e ter confiabilidade/segurança com seus dados?

O Kubernetes proporciona todas essas funcionalidades. Claro que, em questões de desenvolvimento, também será necessário tempo de estudo para familiarização e integração com a tecnologia, mesmo assim, ao pensar em sistemas conteinerizados com grande escala de informações, não deixa de ser uma ótima ferramenta.

Em artigos futuros que serão também disponibilizados aqui no blog da KingHost, veremos como rodar uma aplicação web com Kubernetes na prática. Caso você esteja ansioso, pode ir dando uma olhada na documentação e testar você mesmo. Também preparamos um Webinar “Descomplicando Kubernetes” [assista aqui] que super vale à pena acompanhar.

O que você achou deste conteúdo?

O que você achou deste conteúdo?

Iago
Iago Machado
Amante da programação e de exercícios que envolvam raciocínio lógico. Pronto para aprender, tardio em desistir.
Iago
Iago Machado
Amante da programação e de exercícios que envolvam raciocínio lógico. Pronto para aprender, tardio em desistir.

Compartilhe esse conteúdo com alguém que possa gostar também

Receba todo mês conteúdos
incríveis como esses para
seguir evoluindo

Conteúdos relacionados

Ataque DDoS é uma das ameaças mais temidas por quem tem um site na internet. Imagine anos de investimento para construir a credibilidade de uma presença digital, para ver seu site sendo afetado por um ataque desse tipo.  Para se ter uma ideia, o Brasil pelo 10º ano consecutivo, é o líder do ranking de...

Mensagens para você