Implementazione di Kubeflow
In questa sezione vengono descritte le attività da completare per implementare Kubeflow nel cluster Kubernetes.
Prerequisiti
Prima di eseguire l'esercizio di implementazione descritto in questa sezione, si presuppone che siano già state eseguite le seguenti attività:
-
Disponi già di un cluster Kubernetes funzionante e stai eseguendo una versione di Kubernetes supportata dalla versione di Kubeflow che intendi implementare. Per un elenco delle versioni di Kubernetes supportate, fare riferimento alle dipendenze per la versione di Kubeflow in "Documentazione ufficiale del Kubeflow".
-
NetApp Trident è già stato installato e configurato nel cluster Kubernetes. Per ulteriori informazioni su Trident, fare riferimento alla "Documentazione di Trident".
Impostare la classe di storage Kubernetes predefinita
Prima di implementare Kubeflow, ti consigliamo di indicare una classe storage predefinita all'interno del cluster Kubernetes. Il processo di implementazione di Kubeflow può tentare di eseguire il provisioning di nuovi volumi persistenti tramite StorageClass predefinito. Se nessuna StorageClass è designata come StorageClass predefinita, l'implementazione potrebbe non riuscire. Per designare una StorageClass predefinita all'interno del cluster, eseguire la seguente attività dall'host di distribuzione jump. Se è già stata designata una StorageClass predefinita all'interno del cluster, è possibile saltare questo passaggio.
-
Designare uno dei StorageClasses esistenti come StorageClass predefinito. I comandi di esempio che seguono mostrano la designazione di StorageClass denominata
ontap-ai-flexvols-retain
Come StorageClass di default.
Il ontap-nas-flexgroup Il tipo di backend Trident ha una dimensione minima del PVC che è abbastanza grande. Per impostazione predefinita, Kubeflow tenta di eseguire il provisioning di PVC di dimensioni limitate a poche GB. Pertanto, non è necessario designare un StorageClass che utilizzi ontap-nas-flexgroup Tipo di backend come StorageClass predefinito ai fini dell'implementazione di Kubeflow.
|
$ kubectl get sc NAME PROVISIONER AGE ontap-ai-flexgroups-retain csi.trident.netapp.io 25h ontap-ai-flexgroups-retain-iface1 csi.trident.netapp.io 25h ontap-ai-flexgroups-retain-iface2 csi.trident.netapp.io 25h ontap-ai-flexvols-retain csi.trident.netapp.io 3s $ kubectl patch storageclass ontap-ai-flexvols-retain -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' storageclass.storage.k8s.io/ontap-ai-flexvols-retain patched $ kubectl get sc NAME PROVISIONER AGE ontap-ai-flexgroups-retain csi.trident.netapp.io 25h ontap-ai-flexgroups-retain-iface1 csi.trident.netapp.io 25h ontap-ai-flexgroups-retain-iface2 csi.trident.netapp.io 25h ontap-ai-flexvols-retain (default) csi.trident.netapp.io 54s
Opzioni di implementazione di Kubeflow
Ci sono molte opzioni diverse per implementare Kubeflow. Fare riferimento a. "Documentazione ufficiale del Kubeflow" per un elenco delle opzioni di distribuzione e scegliere l'opzione più adatta alle proprie esigenze.
A scopo di convalida, abbiamo implementato Kubeflow 1,7 utilizzando "DeployKF" 0,1.1. |