11.2 Configuracão
A instalação Kubeflow mais recomendada é através de um dos provedores de pacotes listados na documentação oficial. Mas para melhor entendimento dos componentes e instalação local vamos usar o método avançado via manifests.
11.2.1 Pré requisitos
Verifique a versão do seu cluster Kubernetes:
Para a versão 1.8.1 do Kubeflow a versão do kubernetes precisa ser maior que 1.22.
O utilitário kustomize também é necessário para gerenciar os templates de manifests do Kubeflow. O Kubeflow é compátivel com a versão 5.4.2. A seguir esta o comando para instalação no Linux, modifique a URL de acordo com o seu sistema operacional.
11.2.2 Instalação via manifests
O Kubeflow pode ser instalado via manifest. Estes manifests são a base para todos os provedores de pacotes. Para iniciar a instalação faça o clone do repositório:
Agora a partir do diretório dos manifests vamos iniciar a instalação.
11.2.2.2 cert-manager
Um dos componentes do Kubeflow é um gerenciador de certificados, o cert-manager. Para instala-lo basta executar o seguinte passo:
Verifique se os Pods foram criados corretamente:
11.2.2.3 istio
O Kubeflow utiliza um service mesh para facilitar o fluxo e gateway entre os serviços, o istio. Para criar a infra para o istio execute os comandos abaixo:
Verifique criação dos PODs do istio:
11.2.2.4 Dex
O Dex ajuda na autenticação do Kubeflow com integração com diferentes backends de autenticação como Google, Github e Active Directory. Segue o passo para instação:
Verifique a situação dos PODs do Dex:
11.2.2.5 Arrikto oidc-authservice
O Arrikto oidc-authservice extende o Istio com a capacidade de também ser um cliente OIDC.
Verificar instalação do oidc-authservice:
11.2.2.6 Knative
O Knative é uma solução de aplicações Serverless e eventuais para Kubernetes.
Verfique execução dos PODs:
11.2.2.1 Kubeflow namespace and Roles
O primeiro passo é criar a namespace e roles do Kubeflow:
11.2.2.1 Kubeflow istio resource
Criação do isto resource do Kubeflow:
Verificar instalação do istio resource para o kubeflow:
11.2.2.7 Kubeflow pipelines
O Kubeflow pipelines é um componente do Kubeflow para criar os pipeline de modelo. Dentro dele podemos encontrar outros componente como:
minio: O minio é utilizado para armazenar os artefatos gerados no pipeline.
Aargo: O Argo é utilizado para a gestão de workflows.
mysql: Nesta instalação o Mysql é utilizado para a persistência da base de metadados.
ml-pipeline: São os backends do Kubeflow pipeline.
metadata controller: Backend para gerir os metadados dos pipelines.
Todos esses componentes estão encapsulados em um unico manifest:
Verifique a situação dos PODs:
A incialização dos PODs pode demorar alguns minutos até que todos eles sinalizem o status "Running".
11.2.2.8 KServe / KFServing
O Kserve é um servidor de execução de inferências assim como o MLServe.
Para instalar o Kserve execute o comando abaixo:
Verifique a execução dos PODs de Kserve:
11.2.2.9 Katib
O Katib é um componente do Kubeflow para hiperparametrização e AutoML.
Verifique a inicialização dos PODs
11.2.2.10 Central Dashboard
O Central Dashbaord é a WebUI do Kubeflow.
Verifique a execução do POD de Kserve:
11.2.2.11 Admission Webhook
Componente do Kubeflow para integração via WebHook:
Verifique a execução dos PODs:
11.2.2.12 Notebooks
O Kubeflow notebook gerencia a criação de aplicações de Notebooks:
Também vamos instalar a aplicação Jupyter:
Verifique a execução dos PODs:
11.2.2.13 PVC Viwer Controller
É o controlador para gerenciar a crição de volumes persistentes no kubernetes para suportar os volumes do kubeflow.
11.2.2.14 Profiles + KFAM
Este componente é o gestor de perfis do Kubeflow:
Verifique a execução do POD:
11.2.2.15 Volumes Web App
Este componente extende a WebUI do Kubeflow para a gestão dos volumes persistentes.
Verifique a execução do POD:
11.2.2.16 Tensorboard
Este componente integra o tensorbord para acompanhar as métricas de modelos que utilizam o tensorflow:
Verifique a execução dos PODs:
11.2.2.17 Training Operator
Os Trainig Operators ajudam no treinamento com bibliotecas padrões como Tensorflow, Pytorch e outros.
Verifique a execução dos PODs:
11.2.2.18 User Namespace
Por fim é necessário criar uma namespace e a infra de usuario para trabalharmos com o Kubeflow:
Verifique a execução dos PODs:
11.2.2.19 Acessando o Kubeflow
Agora que a instalação esta terminada, para acessar o Kubeflow é necessário criar um port-foward com a sua máquina local:
Acesse a url http://localhost:8080. O usuário padrão é user@example.com e a senha padrão é 12341234.
11.2.2.20 Minikube and Kubeflow
Para uma execução local é possível utilizar o minikube. A inicialização local do kubeflow gera multiplos serviços e multiplos pods, por isso é necessário aumentar o limite de open files do kernel para contornar este problema:
Last updated