Install Using YAML Files
Install CRDs
From project root directory, run
kubectl apply -f config/crd/bases/
Install KubeDL controller
A single yaml file including everything: deployment, rbac etc.
kubectl apply -f https://raw.githubusercontent.com/kubedl-io/kubedl/master/config/manager/all_in_one.yaml
KubeDL controller is installed under kubedl-system
namespace.
Running the command from master branch uses the daily docker image.
Install the KubeDL Dashboard
kubectl apply -f https://raw.githubusercontent.com/kubedl-io/kubedl/master/console/dashboard.yaml
The dashboard will list nodes. Hence, its service account requires the list node permission
.
Check the dashboard.
Uninstall KubeDL controller and dashboard
kubectl delete namespace kubedl-system
Delete CRDs
kubectl get crd | grep kubedl.io | cut -d ' ' -f 1 | xargs kubectl delete crd
Delete ClusterRole and ClusterRoleBindings
kubectl delete clusterrole kubedl-leader-election-role
kubectl delete clusterrolebinding kubedl-manager-rolebinding
Enable specific job Kind
KubeDL supports all kinds of jobs(tensorflow, pytorch etc.) in a single Kubernetes operator. You can selectively enable the kind of jobs to support. There are three options:
- Default option. Just install the job CRDs required. KubeDL will automatically enable the corresponding job controller.
- Set env
WORKLOADS_ENABLE
in KubeDL container. The value is a list of job types to be enabled. For example,WORKLOADS_ENABLE=TFJob,PytorchJob
means only Tensorflow and Pytorch Job are enabled. - Set startup flags
--workloads
in KubeDL container command args. The value is a list of job types to be enabled like--workloads TFJob,PytorchJob
.