O que é Kubernetes?

Copiar URL

Red Hat é líder segundo relatório Magic Quadrant™ do Gartner® de 2023

A Red Hat ficou em primeiro lugar na categoria Gestão de Containers do relatório Magic Quadrant™ do Gartner® de 2023, devido à sua visão abrangente e capacidade de execução.

O Kubernetes (também conhecido como k8s ou "kube") é uma plataforma de orquestração de containers open source que automatiza grande parte dos processos manuais necessários para implantar, gerenciar e escalar aplicações em containers.

Originalmente, o Kubernetes foi criado e desenvolvido por engenheiros do Google como parte do projeto Borg, e foi doado para a Cloud Native Computing Foundation (CNCF) em 2015. A Red Hat® foi uma das primeiras empresas a trabalhar com o Google no desenvolvimento do Kubernetes, antes mesmo do lançamento da plataforma. Foi assim que nos tornamos o segundo maior colaborador do projeto upstream dessa tecnologia. 

Uma implantação ativa do Kubernetes é chamada de cluster, um grupo de hosts que executa containers Linux®. Ele é dividido em duas partes: o control plane e as máquinas de computação (ou nós).

A diagram showing the infrastructure of a Kubernetes cluster

Cada nó tem o próprio ambiente Linux, que pode ser físico ou uma máquina virtual. Os nós executam pods, que são formados por containers. 

O control plane é responsável por manter o estado desejado do cluster. Por exemplo, as aplicações que estão sendo executadas e as imagens de container que elas usam. As máquinas de computação executam as aplicações e cargas de trabalho. O control plane aceita comandos de um administrador (ou equipe de DevOps) e retransmite essas instruções às máquinas de computação.

Essa retransmissão é realizada em conjunto com vários serviços para decidir automaticamente qual nó é o mais adequado para a tarefa. Os serviços desacoplam as definições de trabalho dos pods e enviam as solicitações de serviço automaticamente para o pod certo, não importa para onde ele vá no cluster nem se ele foi substituído. Os recursos são alocados e os pods do nó atribuídos para cumprir a tarefa solicitada.

O Kubernetes é executado em um sistema operacional, como o Red Hat Enterprise Linux, e interage com pods de containers executados em nós.

O estado desejado do cluster do Kubernetes define quais aplicações ou outras cargas de trabalho serão executadas, as imagens que elas usarão, os recursos disponibilizados para elas e outros detalhes de configuração.

Com o uso desse tipo de infraestrutura, o modo de gerenciamento dos containers não é muito diferente. Sua atuação acontece em um nível superior, tornando-o mais refinado, sem a necessidade de microgerenciar cada container ou nó separadamente. 

Você escolhe o ambiente de execução do Kubernetes. Ele pode ser servidores bare-metal, máquinas virtuais (VMs), provedores de nuvem pública, nuvens privadas e híbridas. Uma das principais vantagens do Kubernetes é que ele funciona em vários tipos de infraestrutura.

Descubra com os líderes da Red Hat como os containers revolucionam a nuvem híbrida aberta.

É possível usar oDocker como um runtime de container orquestrado pelo Kubernetes. Quando o Kubernetes programa um pod para um nó, o kubelet (o serviço que garante a execução de cada container) no nó instrui o Docker a iniciar os containers especificados.

Em seguida, o kubelet coleta o status dos containers do Docker e agrega essa informação no control plane continuamente. O Docker insere os containers nesse nó e os inicia e interrompe normalmente.

A diferença ao usar o Kubernetes com o Docker é que um sistema automatizado solicita que o Docker realize essas tarefas em todos os nós de todos os containers, em vez de o administrador fazer essas solicitações manualmente.

Pronto para começar com o Kubernetes? Neste curso sob demanda, você verá como implantar serviços e aplicações em container, testá-los usando o Docker e implantá-los em um cluster Kubernetes usando o Red Hat OpenShift®.

Essa plataforma pode ajudar você a oferecer e gerenciar apps nativas em nuvem, legadas e em containers, além daquelas que estão sendo refatoradas em microsserviços. 

Para atender a novas necessidades empresariais, sua equipe de desenvolvimento precisa ser capaz de criar novos serviços e aplicações com agilidade. O ponto de partida é usar microsserviços em containers: esse é o segredo para acelerar o desenvolvimento nativo em nuvem e facilitar a transformação e a otimização das aplicações atuais. 

Desenvolvimento de aplicações com o Kubernetes

As apps de produção abrangem vários containers, que devem ser implantados em vários hosts do servidor. O Kubernetes oferece os recursos de orquestração e gerenciamento necessários para implantar containers em escala para essas cargas de trabalho.

Com a capacidade de orquestração do Kubernetes, é possível criar serviços de aplicações que abrangem múltiplos containers, programar o uso desses containers no cluster, escalá-los e gerenciar a integridade deles com o passar do tempo. O Kubernetes permite que você tome medidas para realmente aprimorar a segurança da TI.

Também é necessário integrar a plataforma aos serviços de rede, armazenamento, segurança, telemetria e outros para oferecer uma infraestrutura de containers abrangente.

Kubernetes explained - diagram

Depois de escalar para um ambiente de produção e várias aplicações, é claro que você precisará de vários containers funcionando juntos para ter os serviços individuais. 

Os containers Linux oferecem às apps baseadas em microsserviços uma unidade de implantação e um ambiente de execução autônomo ideais. Além disso, com os microsserviços em containers, é mais fácil orquestrar serviços, incluindo armazenamento, rede e segurança.

Isso multiplica substancialmente o número de containers no ambiente. À medida que eles se acumulam, a complexidade também aumenta.

O Kubernetes corrige vários problemas comuns que ocorrem com a proliferação de containers, organizando-os em "pods". Os pods adicionam uma camada de abstração aos containers agrupados. Assim, é mais fácil programar as cargas de trabalho e oferecer os serviços necessários a esses containers, como rede e armazenamento. 

Outros componentes do Kubernetes são úteis no balanceamento de carga entre os pods. Com isso, o número de containers em execução será suficiente para oferecer suporte às cargas de trabalho.

Com a implementação correta do Kubernetes e a ajuda de outros projetos open source, como Open vSwitch, OAuth e SELinux, as empresas podem orquestrar todas as partes da infraestrutura de containers.

O Kubernetes é uma plataforma open source. Por isso, ele não conta com uma estrutura de suporte formal em que as empresas podem confiar totalmente. Problemas com a implantação do Kubernetes durante a execução no ambiente de produção podem representar uma grande dor de cabeça para você e para sua clientela.

Imagine o Kubernetes como o motor de um carro. Ele pode até funcionar sozinho, mas só teremos um carro se ele estiver conectado à transmissão, aos eixos e às rodas. Da mesma forma, instalar o Kubernetes não é o suficiente para ter uma plataforma a nível de ambiente de produção. O Kubernetes precisa de outros componentes para ser totalmente funcional. É necessário adicionar autenticação, rede, segurança, monitoramento, gerenciamento de logs e outras ferramentas. E é aí que entra o Red Hat OpenShift: ele é o carro completo. 

O Red Hat OpenShift é uma solução Kubernetes para empresas. Ele oferece todos os elementos adicionais que tornam o Kubernetes potente e viável para as empresas, incluindo componentes de registro, rede, telemetria, segurança, automação e serviços. O Kubernetes é uma parte central da plataforma, que é uma solução certificada da CNCF.

Com o Red Hat OpenShift Container Platform, os desenvolvedores podem criar novas apps em containers para hospedá-las e implantá-las na nuvem. Tudo isso com a escalabilidade, o controle e a orquestração necessários para transformar boas ideias em negócios relevantes, de forma rápida e fácil. Se quiser implantar ou mover suas cargas de trabalho do Kubernetes para um serviço de nuvem gerenciado, o OpenShift também está disponível como plataforma Kubernetes nativa em nuvem na Amazon Web Services (AWS), no Microsoft Azure, Google Cloud, IBM Cloud e outros provedores. 

Com o OpenShift, você pode usar o Red Hat Advanced Cluster Management e o Red Hat Ansible® Automation Platform juntos para implantar e gerenciar clusters do Kubernetes em ambientes de nuvem pública, on-premise ou de edge computing com eficiência.

Veja como a Red Hat pode ajudar você a criar e automatizar ambientes híbridos

Caso de uso: criação de uma plataforma na nuvem para oferecer serviços bancários inovadores

A Emirates NBD, um dos maiores bancos nos Emirados Árabes, precisava de uma base escalável e resiliente para promover a inovação digital. Provisionamento lento e um ambiente de TI complexo foram obstáculos para o banco. Configurar um servidor levou dois meses, e fazer alterações em aplicações grandes e monolíticas levou mais de seis meses.

Com o Red Hat OpenShift Container Platform para gerenciamento, integração e orquestração de container, o banco criou a Sahab, a primeira nuvem privada executada em escala por um banco no Oriente Médio. A Sahab conta com aplicações, sistemas e outros recursos para desenvolvimento de ponta a ponta, desde o provisionamento até a produção, usando um modelo que funciona como um serviço. 

Com a nova plataforma, o Emirates NBD melhorou a colaboração entre suas equipes internas e com parceiros utilizadores de interfaces de programação de aplicações (APIs) e microsserviços. Com a adoção de práticas de desenvolvimento ágil e DevOps, o banco diminuiu os ciclos de atualização e lançamento de apps.

Você pode fazer muito mais com os containers.

Leitura recomendada

ARTIGO

Containers x máquinas virtuais

Os containers Linux e as máquinas virtuais são ambientes de computação empacotados que combinam vários componentes de TI e os isolam do restante do sistema.

ARTIGO

O que é orquestração de containers?

A orquestração automatiza a implantação, o gerenciamento, a escala e a rede dos containers.

ARTIGO

O que é um container Linux?

Um container Linux é um conjunto de processos isolados do sistema. Esses processos são executados a partir de uma imagem distinta que oferece todos os arquivos necessários a eles.

Leia mais sobre containers

Soluções Red Hat

Uma plataforma de aplicações para empresas que oferece serviços testados para lançar aplicações na infraestrutura de sua escolha.

Conteúdo adicional

Datasheet

Red Hat OpenShift: tecnologia de container para nuvem híbrida

O Red Hat® OpenShift® é uma plataforma empresarial de containers Kubernetes que ajuda organizações em todo o mundo a criar, implantar, executar, gerenciar e proteger aplicações inovadoras em nuvens híbridas.

Datasheet

Red Hat OpenShift Kubernetes Engine

O Red Hat OpenShift Kubernetes Engine consiste em vários componentes essenciais e totalmente integrados para criação, implantação e gerenciamento de aplicações em containers.

Ebook

Transforme suas aplicações

Conheça as tendências atuais para a transformação de aplicações e como modernizar sua TI usando serviços em nuvem e plataformas de aplicações em nuvem híbrida.

Treinamentos Red Hat

Treinamento gratuito

Running Containers with Red Hat Technical Overview

Treinamento gratuito

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Treinamento gratuito

Developing Cloud-Native Applications with Microservices Architectures