You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Instructions on setting up dynamic volume provisioner (kubeflow#1040)
* Instructions on setting up dynamic volume provisioner
Resolveskubeflow/kubeflow#3774
* Clarifies what to delete
* Rearranges and clarifies descriptions
* Re-arranges and rephrases content
* Fixes link
Corrects description
* Addresses review comments
Copy file name to clipboardExpand all lines: content/docs/started/k8s/kfctl-k8s-istio.md
+25-1
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,9 @@ This config creates a vanilla deployment of Kubeflow with all its core component
10
10
11
11
### Deploy Kubeflow
12
12
13
+
This Kubeflow deployment requires a default StorageClass with a [dynamic volume provisioner](https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/). Verify the `provisioner` field of your default StorageClass definition.
14
+
If you don't have a provisioner, ensure that you have configured volume provisioning in your Kubernetes cluster appropriately as mentioned [below](#provisioning-of-persistent-volumes-in-kubernetes).
15
+
13
16
Follow these steps to deploy Kubeflow:
14
17
15
18
1. Download a `kfctl` release from the [Kubeflow releases page](https://github.com/kubeflow/kubeflow/releases/) and unpack it:
@@ -33,7 +36,7 @@ Follow these steps to deploy Kubeflow:
33
36
kfctl apply all -V
34
37
```
35
38
36
-
***${KFAPP}** - the _name_ of a directory where you want Kubeflow
39
+
***${KFAPP}** - the _name_ of a directory where you want Kubeflow
37
40
configurations to be stored. This directory is created when you run
38
41
`kfctl init`. If you want a custom deployment name, specify that name here.
39
42
The value of this variable becomes the name of your deployment.
@@ -86,6 +89,27 @@ Your Kubeflow app directory contains the following files and directories:
86
89
***${KFAPP}/app.yaml** defines configurations related to your Kubeflow deployment.
87
90
***${KFAPP}/kustomize**: contains the YAML manifests that will be deployed.
88
91
92
+
### Provisioning of Persistent Volumes in Kubernetes
93
+
94
+
Note that you can skip this step if you have a dynamic volume provisioner already installed in your cluster.
95
+
96
+
If you don't have one:
97
+
98
+
* You can choose to create PVs manually after deployment of Kubeflow.
99
+
* Or install a dynamic volume provisioner like [Local Path Provisioner](https://github.com/rancher/local-path-provisioner#deployment). Ensure that the StorageClass used by this provisioner is the default StorageClass.
100
+
101
+
### Troubleshooting
102
+
103
+
#### Persistent Volume Claims are in Pending State
104
+
105
+
Check if PersistentVolumeClaims get `Bound` to PersistentVolumes.
106
+
```
107
+
kubectl -n kubeflow get pvc
108
+
109
+
```
110
+
111
+
If the PersistentVolumeClaims (PVCs) are in `Pending` state after deployment and they are not bound to PersistentVolumes (PVs), you may have to either manually create PVs for each PVC in your Kubernetes Cluster or an alternative is to set up [dynamic volume provisioning](#provisioning-of-persistent-volumes-in-kubernetes) to create PVs on demand and redeploy Kubeflow after deleting existing PVCs.
112
+
89
113
### Next steps
90
114
91
115
* Run a [sample machine learning workflow](/docs/examples/resources/).
0 commit comments