Kubeflow Deployment
In diesem Abschnitt werden die Aufgaben beschrieben, die Sie zur Bereitstellung von Kubeflow in Ihrem Kubernetes-Cluster abschließen müssen.
Voraussetzungen
Bevor Sie die in diesem Abschnitt beschriebenen Bereitstellungsaufgaben ausführen, gehen wir davon aus, dass Sie bereits die folgenden Aufgaben ausgeführt haben:
-
Sie haben bereits einen funktionierenden Kubernetes-Cluster und Sie führen eine Version von Kubernetes aus, die von der Kubeflow-Version unterstützt wird, die Sie bereitstellen möchten. Eine Liste der unterstützten Kubernetes-Versionen finden Sie in den Abhängigkeiten für Ihre Kubeflow-Version in der "Offizielle Dokumentation von Kubeflow".
-
Sie haben NetApp Trident bereits in Ihrem Kubernetes-Cluster installiert und konfiguriert. Weitere Informationen zu Trident finden Sie im "Trident Dokumentation".
Standard-Kubernetes StorageClass festlegen
Bevor Sie Kubeflow implementieren, empfehlen wir, eine Standard-StorageClass in Ihrem Kubernetes-Cluster zu festlegen. Der Kubeflow-Bereitstellungsprozess versucht möglicherweise, neue persistente Volumes mit der standardmäßigen StorageClass bereitzustellen. Wenn keine StorageClass als Standard-StorageClass festgelegt ist, schlägt die Bereitstellung möglicherweise fehl. Um eine Standard-StorageClass innerhalb des Clusters festzulegen, führen Sie die folgende Aufgabe vom Sprunghost für die Bereitstellung aus. Wenn Sie bereits eine Standard-StorageClass innerhalb Ihres Clusters festgelegt haben, können Sie diesen Schritt überspringen.
-
Weisen Sie einen Ihrer vorhandenen StorageClasses als Standard-StorageClass zu. Die folgenden Beispielbefehle zeigen die Bezeichnung einer StorageClass mit dem Namen an
ontap-ai-flexvols-retain
Als Standard-StorageClass.
Der ontap-nas-flexgroup Der Trident Back-End-Typ hat eine ziemlich große PVC-Mindestgröße. Standardmäßig versucht Kubeflow, PVCs bereitzustellen, die nur wenige GB groß sind. Daher sollten Sie keine StorageClass angeben, die den verwendet ontap-nas-flexgroup Back-End-Typ als Standard StorageClass für die Zwecke der Kubeflow-Bereitstellung.
|
$ 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
Kubeflow Implementierungsoptionen
Es gibt viele verschiedene Optionen für die Bereitstellung von Kubeflow. Siehe "Offizielle Dokumentation von Kubeflow" Sie erhalten eine Liste mit Implementierungsoptionen und wählen die Option, die am besten zu Ihren Anforderungen passt.
Für die Validierung haben wir Kubeflow 1.7 mit implementiert "Einsatz KF" 0.1.1. |