Skip to content

Commit d09cecc

Browse files
krishnaduraik8s-ci-robot
authored andcommitted
Instructions on setting up dynamic volume provisioner (kubeflow#1040)
* Instructions on setting up dynamic volume provisioner Resolves kubeflow/kubeflow#3774 * Clarifies what to delete * Rearranges and clarifies descriptions * Re-arranges and rephrases content * Fixes link Corrects description * Addresses review comments
1 parent f557a0e commit d09cecc

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

content/docs/started/k8s/kfctl-k8s-istio.md

+25-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ This config creates a vanilla deployment of Kubeflow with all its core component
1010

1111
### Deploy Kubeflow
1212

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+
1316
Follow these steps to deploy Kubeflow:
1417

1518
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:
3336
kfctl apply all -V
3437
```
3538

36-
* **${KFAPP}** - the _name_ of a directory where you want Kubeflow
39+
* **${KFAPP}** - the _name_ of a directory where you want Kubeflow
3740
configurations to be stored. This directory is created when you run
3841
`kfctl init`. If you want a custom deployment name, specify that name here.
3942
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:
8689
* **${KFAPP}/app.yaml** defines configurations related to your Kubeflow deployment.
8790
* **${KFAPP}/kustomize**: contains the YAML manifests that will be deployed.
8891

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+
89113
### Next steps
90114

91115
* Run a [sample machine learning workflow](/docs/examples/resources/).

0 commit comments

Comments
 (0)