Header Ads

O que o Kubernetes faz e quando você deve usá-lo?

Kubernetes é uma ferramenta que gerencia todas as partes móveis por trás da execução de aplicativos em contêineres como o Docker. Isso torna o escalonamento do seu aplicativo muito fácil, porque a infraestrutura do seu servidor é separada do código em execução.

O que o Kubernetes faz?

O Kubernetes é frequentemente mencionado junto com o Docker, mas cada um realiza tarefas diferentes. O Docker empacota aplicativos e todas as suas dependências em arquivos únicos, chamados de imagens de contêiner, que podem ser executados em um servidor sem qualquer configuração manual. O mecanismo Docker é semelhante a uma máquina virtual, mas é muito mais elegante e com melhor desempenho, projetado simplesmente para executar um único aplicativo em um ambiente isolado.

O Kubernetes é um mecanismo de orquestração e fornece uma plataforma para a execução de imagens Docker. Ele suporta o uso de imagens Docker, pois são de longe o formato de contêiner mais popular. Os contêineres permitem que seu código seja distribuído com muita facilidade, sem se preocupar se o servidor está configurado para executar o código corretamente.

Um servidor Kubernetes mestre gerenciará um cluster de nós de trabalho. Esses nós de trabalho podem executar qualquer número de contêineres, que são empacotados em pods do Kubernetes. O servidor mestre lida com a implantação de pods em nós de trabalho e tenta manter uma configuração definida. Se seu aplicativo atender a mais tráfego, o Kubernetes poderá provisionar mais recursos e, se um dos seus servidores apresentar problemas, o Kubernetes poderá mover os pods desse servidor para o restante da rede enquanto você corrige o problema.

Nós de trabalho do Kubernetes, com vários pods em execução neles.

Mas, embora o Kubernetes forneça muitos recursos de um sistema de plataforma como serviço (PaaS), ele não provisiona nenhum hardware. O Kubernetes é um software puro e de código aberto. Sistemas PaaS, como AWS EKS, são desenvolvidos com base no Kubernetes e, em muitos casos, oferecem a capacidade de provisionar mais recursos para si mesmo (escalonamento automático).

Por que usar o Kubernetes?

O Kubernetes traz consigo todos os benefícios do Docker e da conteinerização em geral. Os contêineres ajudam a manter seu código organizado e gerenciado, com todas as dependências em um só lugar. Seu código será executado da mesma forma em um ambiente de desenvolvimento e teste e em produção, sem surpresas.

As imagens do Docker sendo executadas na plataforma Kubernetes são separadas da própria plataforma e não têm ideia de que estão sendo executadas em pods do Kubernetes. Esse desacoplamento de aplicativos da infraestrutura torna o Kubernetes extremamente poderoso como um substituto para seu ciclo de implantação existente. Você não terá que se preocupar se o seu código será executado corretamente em seus servidores.

Um ciclo de desenvolvimento rápido coloca mais pressão sobre sua equipe de operações para se preocupar em realmente executar seu código. Se você estiver tendo problemas para gerenciar a instalação e configuração do seu aplicativo nos servidores sempre que o código precisar ser atualizado, o Kubernetes pode tornar isso muito mais rápido.

E se você realmente não gosta de configurar e gerenciar servidores, um serviço Kubernetes gerenciado como o AWS EKS pode aliviar esse problema e deixar seu aplicativo “ sem servidor. ”

Como faço para começar?

O Kubernetes é independente de serviço, portanto, você mesmo pode configurá-lo em seus próprios servidores, se desejar. No entanto, o Kubernetes é muito complicado, por isso existem muitas soluções prontas para uso dos principais provedores de nuvem que usam seus recursos para alimentar seus nós de trabalho. Todos eles serão compatíveis com o Kubernetes, então você poderá alternar entre eles com o mínimo de problemas.

Se desejar configurá-lo sozinho, poderá fazê-lo com a caixa de ferramentas kubeadm. Você precisará de uma máquina mestre para executar o kubeadm, que controlará uma ou mais máquinas de trabalho executando o kubelet. A máquina mestre gerencia a implantação do contêiner nas máquinas de trabalho. Você pode ler o guia de primeiros passos nos documentos do Kubernetes para mais informações, mas esteja preparado para uma noite de configuração.

O AWS EKS é a solução da Amazon &’ que pode executar aplicativos Kubernetes em várias zonas de disponibilidade da AWS. O EKS não requer muita configuração; tudo o que você precisa fazer é provisionar novos nós. Você paga US $ 0,20 por hora (US $ 150 por mês) para cada cluster em execução, além de pagar pelos recursos EC2 e EBS que seus nós de trabalho consomem.

Se você não precisa de um cluster Kubernetes completo, mas ainda deseja executar aplicativos em contêineres, pode usar o Elastic Container Service (ECS) da AWS. ECS executa contêineres Docker e tem seu próprio sistema de escalonamento.

O Azure Kubernetes Service (AKS) da Microsoft é um serviço Kubernetes gerenciado que se integra bem com um pipeline do Azure, facilitando a passagem do código no controle de origem para contêineres implantados em seu cluster do Kubernetes.

O Google é o criador original do Kubernetes, então, naturalmente, eles oferecem um serviço Kubernetes gerenciado por meio do Google Cloud Platform.

Nenhum comentário