11.2 Configuracão

A instalação do Kubeflow mais recomendada é através de um dos provedores de pacotes listados na documentação oficial. Mas, para melhor entendimento dos componentes e para a instalação local, vamos usar o método avançado via manifests da versão 1.10.

11.2.1 Pré-requisitos

  • kind: Ferramenta para facilitar a instalação do Kubernetes em uma máquina local.

  • kubectl: Ferramenta para configuração do ambiente local do Kubernetes.

  • kustomize: Ferramenta para instalação dos templates do Kubeflow.

Para instalações locais com Linux, altere os seguintes parâmetros de kernel:

sudo sysctl fs.inotify.max_user_instances=2280
sudo sysctl fs.inotify.max_user_watches=1255360

Crie o cluster kind:

cat <<EOF | kind create cluster --name=kubeflow --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  image: kindest/node:v1.32.0@sha256:c48c62eac5da28cdadcf560d1d8616cfa6783b58f0d94cf63ad1bf49600cb027
  kubeadmConfigPatches:
  - |
    kind: ClusterConfiguration
    apiServer:
      extraArgs:
        "service-account-issuer": "https://kubernetes.default.svc"
        "service-account-signing-key-file": "/etc/kubernetes/pki/sa.key"
EOF

Salve as configurações do cluster para usar o kubectl:

kind get kubeconfig --name kubeflow > /tmp/kubeflow-config
export KUBECONFIG=/tmp/kubeflow-config

Crie as Secrets para acessar as imagens Docker do cluster:

docker login

kubectl create secret generic regcred \
    --from-file=.dockerconfigjson=$HOME/.docker/config.json \
    --type=kubernetes.io/dockerconfigjson

Pronto! Agora estamos prontos para começar a instalação.

11.2.2 Instalação via manifests

O Kubeflow pode ser instalado via manifests da versão 1.10. Esses manifests são a base para todos os provedores de pacotes. Para iniciar a instalação, faça o clone do repositório:

git clone -b v1.10.0 https://github.com/kubeflow/manifests.git

Execute o seguinte comando para aplicar os templates até ter sucesso:

while ! kustomize build example | kubectl apply --server-side --force-conflicts -f -; do echo "Retrying to apply resources"; sleep 20; done

Ao fim da aplicação dos templates, verifique se os pods estão ativos:

kubectl get pods -n cert-manager
kubectl get pods -n istio-system
kubectl get pods -n auth
kubectl get pods -n oauth2-proxy
kubectl get pods -n knative-serving
kubectl get pods -n kubeflow
kubectl get pods -n kubeflow-user-example-com

Para acessar o Kubeflow, crie um direcionamento para a porta local:

kubectl port-forward svc/istio-ingressgateway -n istio-system 8080:80

Acesse o Kubeflow no endereço localhost:8080.

Para mais informações sobre a instalação do Kubeflow 1.10, veja a documentação.

Last updated