O que é orquestração de containers?

Copiar URL

A orquestração é o processo que automatiza a implantação, o gerenciamento, a escala e a rede dos containers ao longo do ciclo de vida. Com isso, é possível implantar a mesma aplicação em diferentes ambientes sem precisar recriá-la, algo especialmente importante para empresas que precisam implantar e gerenciar centenas ou milhares de hosts e containers Linux®.

Gerenciar o ciclo de vida dos containers com orquestração também traz benefícios para as equipes de DevOps que o incorporam aos fluxos de trabalho de  integração e entrega contínuas (CI/CD). Assim como as  interfaces de programação de aplicativos (APIs) e as equipes de DevOps, os  microserviços em containers são fundamentais para as  aplicações nativas em nuvem.

Conheça a orquestração empresarial de containers com o Kubernetes

A orquestração de containers é útil para automatizar e gerenciar tarefas como:

  • Provisionamento e implantação
  • Configuração e programação 
  • Alocação de recursos
  • Disponibilização de containers 
  • Ajuste da escala ou remoção de containers com base no balanceamento de cargas de trabalho em toda a infraestrutura
  • Balanceamento de carga e roteamento de tráfego 
  • Monitoramento da integridade dos containers
  • Configuração de aplicações com base no container em que serão executadas
  • Segurança nas interações entre containers

Recursos da Red Hat

As ferramentas de orquestração de containers oferecem um framework para gerenciar a arquitetura de containers e microsserviços, em escala. Existem muitas ferramentas para essa finalidade que podem ser usadas no gerenciamento do ciclo de vida dos containers. Algumas das opções mais conhecidas são o Kubernetes, o Docker Swarm e o Apache Mesos.

O Kubernetes é uma ferramenta de orquestração de containers open source desenvolvida originalmente pelos engenheiros do Google. Em 2015, o Google doou o projeto Kubernetes à Cloud Native Computing Foundation, recém-formada na época.

A capacidade de orquestração do Kubernetes, torna possível criar serviços de aplicações que abrangem vários containers, programar o uso desses containers no cluster, ajustar a escala e gerenciar a integridade deles com o passar do tempo.

O Kubernetes elimina diversos processos manuais relacionados à implantação e à escala de aplicações em containers. Você pode agrupar conjuntos de hosts, sejam máquinas físicas ou virtuais, executando containers Linux: o Kubernetes fornece a plataforma para gerenciar esses clusters de forma fácil e eficiente. 

Isso permite que você implemente e utilize uma infraestrutura baseada em containers de forma completa em ambientes de produção.

Esses clusters podem abranger hosts em nuvens públicas, privadas ou híbridas. Por isso, o Kubernetes é a plataforma ideal para hospedar apps nativas em nuvem que precisam escalar rápido.

O Kubernetes também auxilia na portabilidade e no balanceamento de carga, permitindo que você mova aplicações sem a necessidade de redesenhá-las. 

Principais componentes do Kubernetes:

  • Cluster: um control plane e uma ou mais máquinas de computação, chamadas de nós.
  • Control plane: a coleção de processos que controlam os nós do Kubernetes. É o local onde todas as tarefas se originam.
  • Kubelet: um serviço executado nos nós que lê os manifestos do container e garante que os containers definidos foram iniciados e estão em execução.
  • Pod: um grupo de um ou mais containers implantados em um único nó. Todos os containers em um determinado pod usam o mesmo endereço IP, IPC, nome do host e outros recursos.
Ebook: Crie apps nativas em nuvem com padrões reutilizáveis do Kubernetes

Quando você usa uma ferramenta de orquestração de containers como o Kubernetes, a configuração da aplicação é descrita em um arquivo YAML ou JSON. Esse arquivo instrui a ferramenta de gerenciamento de configuração sobre onde encontrar as imagens de container, como estabelecer uma rede e onde armazenar os logs.

Na hora de implantar um novo container, a ferramenta de gerenciamento de containers programa a implantação automaticamente em um cluster e encontra o host certo seguindo todas os requisitos (ou restrições) definidos. Depois, a ferramenta de orquestração gerencia o ciclo de vida do container com base nas especificações determinadas no arquivo de configuração.

Você pode usar padrões do Kubernetes para gerenciar a configuração, o ciclo de vida e a escala de aplicações e serviços baseados em container. Esses padrões reproduzíveis são as ferramentas que qualquer desenvolvedor Kubernetes precisa para criar sistemas completos. 

Com essa tecnologia, é possível adotar a orquestração de containers em qualquer ambiente, como em servidores on-premises e nuvens públicas ou privadas.

Descubra como usar implantações do Kubernetes para atualizar aplicações

Em ambientes de produção reais, apps usam múltiplos containers, que devem ser implantados em vários hosts de servidores. É aí que entra a Red Hat®.

Entre outras coisas, o Red Hat OpenShift® ​​​​​é o Kubernetes para empresas. O OpenShift vem com todas as funcionalidades adicionais que tornam o Kubernetes potente e viável para empresas, incluindo componentes de registro, rede, telemetria, segurança, automação e serviços.

Com ferramentas como o Red Hat Service Interconnect, os roteadores e os gateways viabilizam uma comunicação confiável entre serviços em diferentes nuvens, dispositivos de edge, o Kubernetes genérico e o OpenShift.

Com a Red Hat, os desenvolvedores podem criar novas apps em containers para hospedar e implantar na nuvem. Tudo isso comalta disponibilidade, escalabilidade, controle e orquestração para transformar boas ideias em novos negócios, de forma rápida e fácil.

Saiba mais sobre o Red Hat OpenShift

Teste, compre e gerencie software certificados em diferentes nuvens públicas e privadas ou no seu data center. Essa é a vantagem do Red Hat Marketplace. Ele é o jeito mais simples de acessar o software em que você confia, fazer a integração em um ambiente unificado baseado em Kubernetes e implantar em qualquer lugar.

Com o Red Hat Marketplace, você desenvolve soluções inovadoras com mais rapidez porque não precisa gerenciar licenças, direitos de uso e datas de expiração.

Mais informaçõesAvaliação gratuita
Hub

Blog da Red Hat

Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.

Teste as soluções da Red Hat

Você sabia que a Red Hat oferece versões de teste gratuitas de suas soluções? Aproveite e obtenha experiência prática, prepare-se para uma certificação da Red Hat ou avalie na prática se a solução é adequada para ao caso de uso.

Leia mais

What is the Kubernetes Java client?

The Kubernetes Java client is a client library that enables the use of the Java programming language to interface with Kubernetes.

Kubernetes na AWS: comparação entre K8s autogerenciado e plataforma de aplicações gerenciada

Conheça as vantagens de usar o Kubernetes (K8s) na AWS e entenda as diferenças entre o Kubernetes autogerenciado e uma plataforma de aplicações gerenciada.

O que é hosted control plane?

Hosted control plane refere-se ao plano de gerenciamento desacoplado que permite o controle e gerenciamento consolidados dos principais componentes do plano de controle.

Containers: leitura recomendada

Artigos relacionados