- Kubernetes v1.9+ with
VolumeScheduling
feature gate enabled - Kubectl
- Helm
Create your own namespace and set your current context to use that namespace.
The following commands can be used after editing the comments within <>
.
$ kubectl create namespace <insert-namespace-here>
$ kubectl config set-context $(kubectl config current-context) --namespace=<insert-namespace-here>
Clone the repo and specify the namespace within <>
to install VCK:
$ git clone [email protected]:IntelAI/vck.git
$ cd vck
$ helm install helm-charts/kube-volume-controller/ -n vck --wait \
--set namespace=<vck_namespace>
NAME: vck
LAST DEPLOYED: Tue Feb 6 12:58:50 2018
NAMESPACE: vck-testing
STATUS: DEPLOYED
RESOURCES:
==> v1/StorageClass
NAME PROVISIONER AGE
vck-local kubernetes.io/no-provisioner 11s
==> v1/ServiceAccount
NAME SECRETS AGE
kube-volume-controller 1 11s
==> v1/ClusterRole
NAME AGE
kube-volume-controller 11s
==> v1/ClusterRoleBinding
NAME AGE
kube-volume-controller 11s
==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
kube-volume-controller 1 1 1 1 11s
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
kube-volume-controller-84bc5789c-9wtsr 1/1 Running 0 11s
Notes:
Kube-Volume-Controller v0.1.0
* Installed in vck
* Cluster Role: true
* Storage Class: true
The above command will install the VCK controller as a deployment, the storage class for dynamic provisioning of persistent volumes and persistent volume claims, a service account for the controller and all the RBAC related objects such as cluster role and cluster role binding.
If the installation was successful, VCK is ready to use. The installation can be verified using the command shown below.
$ kubectl get crd
NAME AGE
volumemanagers.vck.intelai.org 1h
Once VCK is installed in one Kubernetes namespace and in order to use it in another namespace, VCK controller needs to be installed in the new namespace, but subsequent installations no longer require the clusterrole
, or storageclass
to be enabled:
$ YOUR_NAMESPACE=<your_namespace>
$ helm install helm-charts/kube-volume-controller/ -n vck-${YOUR_NAMESPACE} --wait \
--set clusterrole.install=false \
--set storageclass.install=false \
--set crd.install=false \
--set namespace=${YOUR_NAMESPACE}
Any helm chart values can be configured via --set key=value
in the helm command. For example, you can specify VCK version via --set tag="v0.1.0"
and enable logging via --set log_level=4
:
$ helm install helm-charts/kube-volume-controller/ -n vck --wait \
--set tag="v0.1.0" \
--set log_level=4 \
--set namespace=<vck_namespace>
If you need to uninstall the Controller from your namespace try running the command:
$ YOUR_NAMESPACE=<your_namespace>
$helm delete --purge vck-${YOUR_NAMESPACE}
For a complete list of parameters, please review the helm values file for additional information.
See user manual for details on how to use VCK.