Sintonize na YOLO Vision 2025!
25 de setembro de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024
Glossário

Kubernetes

Descubra como o Kubernetes otimiza as cargas de trabalho de IA/ML com implantação de modelos escaláveis, treinamento distribuído e gerenciamento eficiente de recursos.

O Kubernetes, frequentemente abreviado como K8s, é uma plataforma de orquestração de contêineres de código aberto que automatiza a implantação, o escalonamento e o gerenciamento de aplicações em contêineres. Originalmente desenvolvido pelo Google e agora mantido pela Cloud Native Computing Foundation (CNCF), o Kubernetes fornece uma estrutura robusta para executar sistemas distribuídos e resilientes. No contexto de Inteligência Artificial (IA) e Aprendizado de Máquina (ML), tornou-se uma ferramenta essencial para gerenciar todo o ciclo de vida dos modelos de ML, desde o treinamento até a implantação em ambientes de produção.

Como funciona o Kubernetes

O Kubernetes opera em um cluster de máquinas, que podem ser servidores físicos ou máquinas virtuais, on-premises ou na nuvem. Os principais componentes incluem:

  • Cluster: Um conjunto de nós (máquinas de trabalho) que executam aplicações containerizadas.
  • Nó: Uma máquina de trabalho num cluster Kubernetes. Cada nó executa um Kubelet, que é um agente para gerir o nó e comunicar com o plano de controlo.
  • Pod: A unidade menor e mais simples no modelo de objeto Kubernetes. Um Pod representa uma única instância de um processo em execução em um cluster e pode conter um ou mais contêineres, como contêineres Docker.
  • Implantação: Gerencia um conjunto de Pods de réplica, garantindo que um número especificado deles esteja em execução em todos os momentos. Ele lida com atualizações e rollbacks automaticamente.

Ao abstrair o hardware subjacente, o Kubernetes permite que desenvolvedores e engenheiros de MLOps definam o estado desejado de sua aplicação, e ele trabalha para manter esse estado, lidando com falhas e necessidades de escalonamento automaticamente. Você pode aprender mais na documentação oficial do Kubernetes.

Kubernetes em IA e Aprendizado de Máquina

O Kubernetes é particularmente poderoso para Operações de Aprendizado de Máquina (MLOps) porque aborda muitos desafios associados à construção e implantação de sistemas de IA em escala. Sua capacidade de gerenciar recursos de forma eficiente o torna ideal para tarefas com uso intensivo de recursos, como o treinamento de modelos. O Kubernetes pode dimensionar trabalhos de treinamento em vários GPUs e nós, reduzindo significativamente o tempo de treinamento.

Para inferência, o Kubernetes garante alta disponibilidade e escalabilidade. Aqui estão alguns exemplos do mundo real:

  1. Serviço de Detecção de Objetos Escalável: Uma empresa implanta um modelo Ultralytics YOLO11 para detecção de objetos em tempo real como um serviço web. O modelo é empacotado em um contêiner. Usando o Kubernetes, eles podem escalar automaticamente o número de pods de inferência para cima ou para baixo com base no tráfego de entrada. Se um nó falhar, o Kubernetes automaticamente agenda os pods para nós saudáveis, garantindo que o serviço permaneça disponível sem intervenção manual. Este é um padrão comum para implantar modelos em sistemas de vigilância inteligente.
  2. Pipeline de PNL Complexo como Microsserviços: Uma equipe cria um aplicativo de Processamento de Linguagem Natural (PNL) que envolve várias etapas: pré-processamento de texto, análise de sentimentos e reconhecimento de entidades nomeadas. Cada componente é um microsserviço separado, contido de forma independente. O Kubernetes orquestra esses serviços, gerenciando sua rede e permitindo que cada parte seja atualizada e dimensionada de forma independente. Essa arquitetura oferece flexibilidade e resiliência para aplicações complexas orientadas por IA.

Kubernetes vs. Tecnologias Relacionadas

  • Kubernetes vs. Docker: Docker é uma ferramenta para construir e executar contêineres individuais. Kubernetes é um orquestrador para contêineres, gerenciando milhares deles em muitas máquinas. Eles não são concorrentes, mas colaboradores; você constrói imagens de contêiner com Docker e, em seguida, as gerencia com Kubernetes. Você pode começar com o básico seguindo o guia de início rápido do Docker.
  • Kubernetes vs. Computação Serverless: Plataformas Serverless como AWS Lambda abstraem todo o gerenciamento do servidor. Em contraste, o Kubernetes oferece mais controle sobre a infraestrutura, tornando-o melhor para aplicações de longa duração ou com estado. Embora o serverless seja mais simples para funções orientadas a eventos, as estruturas serverless podem ser executadas no Kubernetes usando ferramentas como Knative.

Ferramentas e Ecossistema

O ecossistema Kubernetes é vasto e inclui muitas ferramentas para estender sua funcionalidade:

  • Helm: Frequentemente chamado de gerenciador de pacotes para Kubernetes, o Helm ajuda você a gerenciar aplicativos Kubernetes.
  • Prometheus & Grafana: Uma combinação popular para monitorar clusters e aplicações Kubernetes.
  • Integrações com Provedores de Nuvem: Os principais provedores de nuvem oferecem serviços Kubernetes gerenciados, como o Google Kubernetes Engine (GKE), o Amazon Elastic Kubernetes Service (EKS) e o Azure Kubernetes Service (AKS), que simplificam a configuração e a manutenção do cluster.
  • Plataformas de ML: Ferramentas como o Kubeflow são construídas no Kubernetes para fornecer fluxos de trabalho específicos de ML para pipelines, treinamento e implantação. Plataformas como o Ultralytics HUB otimizam o pipeline de MLOps, frequentemente abstraindo as complexidades do Kubernetes para facilitar a implantação de modelos.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora
Link copiado para a área de transferência