> For the complete documentation index, see [llms.txt](https://aurimrv.gitbook.io/pratica-devops-com-docker-para-machine-learning/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aurimrv.gitbook.io/pratica-devops-com-docker-para-machine-learning/id-11-mlops-com-kubeflow/11.1-visao-geral-kubeflow.md).

# 11.1 Visão geral do Kubeflow

O [Kubeflow](https://www.kubeflow.org/) é uma plataforma que suporta, do início ao fim, o ciclo de vida de implementação de Machine Learning (MLOps) em clusters Kubernetes.

Os componentes principais do Kubeflow na sua versão estável mais recente são:

* **Central Dashboard**: A interface web (WebUI) central do Kubeflow, que serve como portal de entrada para interagir com todos os outros componentes de forma visual e intuitiva.
* **Kubeflow Notebooks**: Permite a criação de ambientes interativos de desenvolvimento (como Jupyter Notebooks, VS Code e RStudio) com recursos de CPU/GPU dinâmicos e controle de acesso.
* **Kubeflow Pipelines (KFP)**: O componente principal de orquestração do Kubeflow. O KFP v2 introduz uma especificação de pipeline baseada em Intermediate Representation (IR) em formato YAML, facilitando a criação, compilação, execução e monitoramento de workflows complexos de Machine Learning.
* **Model Registry**: Um componente central introduzido para gerenciar o ciclo de vida de metadados e artefatos de modelos de Machine Learning (como versionamento, linhagem e mapeamento de artefatos), integrando-se nativamente com os componentes de treinamento e inferência.
* **Katib**: O componente de AutoML do Kubeflow, voltado para ajuste de hiperparâmetros (hyperparameter tuning), pesquisa de arquitetura de rede (NAS) e otimização geral de modelos.
* **Training Operator**: Controladores Kubernetes customizados para simplificar o treinamento distribuído de modelos usando frameworks populares (como TensorFlow, PyTorch, XGBoost, Spark, entre outros).
* **Multi-Tenancy**: Sistema robusto de isolamento de usuários, onde namespaces e perfis (Profiles) organizam de forma segura o controle de acesso (RBAC) e as cotas de recursos de infraestrutura.
* **External Add-Ons**: O Kubeflow integra-se nativamente com ferramentas de terceiros por meio de manifestos customizáveis. O principal destaque é o **KServe** (servidor de inferências escalável e de alto desempenho), além de outras ferramentas como Kale e Feast.

![Kubeflow](https://www.kubeflow.org/docs/started/images/kubeflow-architecture.drawio.svg)

Vale destacar que o Kubeflow pode ser implantado tanto localmente para testes quanto em nuvens públicas de forma gerenciada ou semi-gerenciada (como AWS EKS, Google Cloud GKE, Azure AKS) e por meio de distribuições corporativas da comunidade (como o Charmed Kubeflow da Canonical).

A arquitetura do Kubeflow baseia-se fortemente em recursos nativos do Kubernetes (CRDs, Operators e controladores). Recomenda-se a leitura da [documentação oficial de arquitetura](https://www.kubeflow.org/docs/started/architecture/) para um entendimento aprofundado dos fluxos de controle e dados.
