Visão geral
A orquestração automatiza a implantação, o gerenciamento, a escala e a rede dos containers. Empresas que precisam implantar e gerenciar centenas ou milhares de containers Linux® e hosts podem se beneficiar da orquestração de containers.
É possível usar a orquestração em todos os ambientes em que você usa os containers. Com ela, você implanta a mesma aplicação em ambientes diferentes sem precisar reprojetá-la. Além disso, com os microsserviços em containers, é mais fácil orquestrar serviços, incluindo armazenamento, rede e segurança.
Os containers oferecem às aplicações baseadas em microsserviços uma unidade de implantação e um ambiente de execução autônomo ideais. Eles possibilitam a execução independente de várias partes de uma aplicação em microsserviços no mesmo hardware, com um controle muito maior sobre os componentes individuais e ciclos de vida.
Usar a orquestração no gerenciamento do ciclo de vida dos containers também oferece suporte às equipes de DevOps que integram fluxos de trabalho de CI/CD a ele. Com as interfaces de programação de aplicações (APIs) e as equipes de DevOps, os microsserviços em containers são os pilares das aplicações nativas em nuvem.
Qual é a finalidade da orquestração de containers?
Use a orquestração de containers para automatizar e gerenciar tarefas como:
- Provisionamento e implantação
- Configuração e programação
- Alocação de recursos
- Disponibilidade dos containers
- Escala ou remoção de containers com base no balanceamento de cargas de trabalho na infraestrutura
- Balanceamento de carga e roteamento de tráfego
- Monitoramento da integridade do container
- Configuração da aplicação com base no container em que ela será executada
- Proteção das interações entre os containers
Ferramentas de orquestração de containers
As ferramentas de orquestração de containers fornecem um framework para gerenciar arquiteturas de microsserviços e containers em escala. Muitas delas podem ser usadas no gerenciamento do ciclo de vida dos containers. Algumas opções conhecidas são o Kubernetes, Docker Swarm e Apache Mesos.
O Kubernetes é uma ferramenta open source de orquestração de containers projetada e desenvolvida originalmente por engenheiros do Google. Em 2015, o Google doou o projeto Kubernetes à recém-formada Cloud Native Computing Foundation.
Com a capacidade de orquestração do Kubernetes, é possível criar serviços de aplicações que abrangem múltiplos containers, programar o uso dos containers no cluster, escalá-los e gerenciar a integridade deles ao longo do tempo.
O Kubernetes elimina grande parte dos processos manuais necessários para implantar e escalar aplicações em container. É possível agrupar em clusters os hosts, sejam eles físicos ou máquinas virtuais, executados nos containers Linux. Com o Kubernetes, você tem uma plataforma para gerenciar esses clusters com facilidade e eficiência.
Em termos mais abrangentes, com o Kubernetes, é mais fácil implementar e confiar totalmente em uma infraestrutura baseada em containers para os 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 aplicações nativas em nuvem que exigem escalabilidade rápida.
O Kubernetes também ajuda com o balanceamento de carga e a portabilidade de cargas de trabalho, possibilitando a migração de aplicações sem precisar recriá-las.
Principais componentes do Kubernetes:
- Cluster: plano de controle e pelo menos uma máquina de computação ou nós.
- Plano de controle: conjunto de processos que controlam os nós do Kubernetes. É nele que todas as atribuições de tarefas se originam.
- Kubelet: um serviço executado nos nós que lê os manifestos do container e assegura que os containers definidos sejam iniciados e executados.
- Pod: um grupo de um ou mais containers implantados em um nó. Todos os containers em um pod têm o mesmo endereço IP, IPC, nome de host e outros recursos.
Como a orquestração de containers funciona?
Ao usar uma ferramenta de orquestração de containers, como o Kubernetes, você define a configuração de uma aplicação usando um arquivo JSON ou YAML. Esse arquivo informa à ferramenta de gerenciamento de configurações o local das imagens do container, como estabelecer uma rede e onde armazenar os registros.
Quando você implanta um novo container, a ferramenta de gerenciamento de containers programa automaticamente esse processo em um cluster e atribui o host adequado, levando em consideração todas as restrições ou requisitos definidos. Depois, a ferramenta de orquestração gerencia o ciclo de vida do container com base nas especificações determinadas no arquivo de composição.
É possível usar os padrões do Kubernetes para gerenciar a configuração, o ciclo de vida e a escalabilidade dos serviços e aplicações baseadas em container. Esses padrões reproduzíveis são as ferramentas necessárias para que os desenvolvedores do Kubernetes criem sistemas completos.
A orquestração pode ser usada em todos os ambientes que executam containers, incluindo servidores on-premise ou nuvens públicas e privadas.
Orquestração de containers nas empresas
As aplicações de produção abrangem múltiplos containers, que devem ser implantados em vários hosts do servidor. É aí que o Red Hat® OpenShift® entra em cena. O Red Hat OpenShift é uma solução de nível empresarial que oferece a tecnologia do Kubernetes e muito mais.
O Red Hat OpenShift vem com todos os elementos extras que tornam o Kubernetes potente e viável para as empresas, incluindo componentes de registro, rede, telemetria, segurança, automação e serviços.
Com ele, os desenvolvedores da sua empresa poderão criar novas aplicações em containers, 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 valiosos de forma rápida e fácil.
Softwares certificados para implantações baseadas em containers
Experimente, compre e gerencie softwares certificados em nuvens públicas, nuvens privadas e no seu datacenter. Esse é o poder do Red Hat Marketplace. É uma maneira mais simples de acessar o software em que você já confia, criar em um ambiente unificado baseado em Kubernetes e implantar em qualquer lugar.
O Red Hat Marketplace significa passar mais tempo desenvolvendo soluções inovadoras, não correndo atrás de licenças, direitos e vencimentos.