O que é orquestração de containers?
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.
Para que serve a orquestração de containers?
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
Ferramentas de orquestração de containers
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.
Como a orquestração de containers funciona?
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.
Orquestração empresarial de containers
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.
Software certificados para implantações em container
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.
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.