Introdução
Para facilitar o processo de gerenciamento, é comum usar uma plataforma de gerenciamento de contêineres, como o Kubernetes. Suponha que você trabalhe em uma empresa de gerenciamento de drones. Sua empresa fornece uma solução de rastreamento de drones para clientes em todo o mundo.
A solução é incorporada e implementada como os microsserviços e inclui várias aplicações principais:
- Front-end da Web: mostra mapas e informações sobre drones rastreados.
- Serviço de cache: Armazena as informações solicitadas com freqüência mostradas no site.
- API RESTful: Usada por drones rastreados para enviar dados sobre seu status, como localização GPS e níveis de carga da bateria.
- Fila: contém dados não processados coletados pela API RESTful.
- Serviço de processamento de dados: Busca e processa dados da fila.
- Banco de dados NoSQL: Armazena dados de rastreamento processados e informações do usuário capturadas do site e do serviço de processamento de dados.
Os contentores são uma escolha excelente quando se desenvolve software com base em arquiteturas de microsserviço. Utilizam hardware de forma eficiente, fornecem funcionalidades de segurança para executar várias instâncias em simultâneo no mesmo anfitrião, sem se afetarem umas às outras, e permitem que um serviço seja aumentado horizontalmente ao implementar mais instâncias.
O tempo de execução padrão de gerenciamento de contêineres se concentra no gerenciamento de contêineres individuais. Se você quiser dimensionar um sistema complexo com vários contêineres trabalhando juntos, esse cenário se torna desafiador. Considere os seguintes aspetos:
- Configurando e mantendo o balanceamento de carga
- Conectividade de rede
- Orquestrando o processo de implantação
Você usa instâncias em contêineres para implantar rapidamente em novas regiões de clientes e dimensionar recursos conforme necessário para atender às demandas dos clientes. Para simplificar o desenvolvimento, a implantação e o gerenciamento desses aplicativos complexos em contêineres, use uma plataforma de orquestração de contêineres, como o Kubernetes.
Objetivos de aprendizagem
Neste módulo, vai aprender:
- Como o Kubernetes suporta a orquestração de contêineres.
- As diferenças entre os planos de controle e os nós.
- Avaliar se o Kubernetes é uma plataforma de orquestração adequada para uma dada carga de trabalho.
Pré-requisitos
- Conceitos básicos de arquiteturas de microsserviço
- Noções básicas sobre a forma como os contentores do Docker funcionam
- Conhecimento básico de como instalar software usando uma interface de linha de comando (CLI)