Installs rook to create, configure, and manage Rook clusters on Kubernetes.html
This chart bootstraps a rook-operator deployment on a Kubernetes cluster using the Helm package manager.git
If role-based access control (RBAC) is enabled in your cluster, you may need to give Tiller (the server-side component of Helm) additional permissions. If RBAC is not enabled, be sure to set rbacEnable
to false
when installing the chart.github
# Create a ServiceAccount for Tiller in the `kube-system` namespace kubectl -n kube-system create sa tiller # Create a ClusterRoleBinding for Tiller kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller # Patch Tiller's Deployment to use the new ServiceAccount kubectl -n kube-system patch deploy/tiller-deploy -p '{"spec": {"template": {"spec": {"serviceAccountName": "tiller"}}}}'
The Rook Operator helm chart will install the basic components necessary to create a storage platform for your Kubernetes cluster. After the helm chart is installed, you will need to create a Rook cluster.docker
The helm install
command deploys rook on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.bootstrap
Rook currently publishes builds to the alpha
and master
channels. In the future, beta
and stable
will also be available.ide
The alpha channel is the most recent release of Rook that is considered ready for testing by the community.flex
helm repo add rook-alpha https://charts.rook.io/alpha helm install rook-alpha/rook
The master channel includes the latest commits, with all automated tests green. Historically it has been very stable, though there is no guarantee.ui
To install the helm chart from master, you will need to pass the specific version returned by the search
command.spa
helm repo add rook-master https://charts.rook.io/master helm search rook helm install rook-master/rook --version <version>
For example:3d
helm install rook-master/rook --version v0.6.0-156.gef983d6
To deploy from a local build from your development environment:
make
docker save
then the docker load
commandscd cluster/charts/rook helm install --name rook --namespace rook-system .
To uninstall/delete the rook
deployment:
$ helm delete --purge rook
The command removes all the Kubernetes components associated with the chart and deletes the release.
The following tables lists the configurable parameters of the rook-operator chart and their default values.
Parameter | Description | Default |
---|---|---|
image.repository |
Image | rook/rook |
image.tag |
Image tag | master |
image.pullPolicy |
Image pull policy | IfNotPresent |
rbacEnable |
If true, create & use RBAC resources | true |
resources |
Pod resource requests & limits | {} |
logLevel |
Global log level | INFO |
agent.flexVolumeDirPath |
Path where the Rook agent discovers the flex volume plugins | /usr/libexec/kubernetes/kubelet-plugins/volume/exec/ |
agent.toleration |
Toleration for the agent pods | |
agent.tolerationKey |
The specific key of the taint to tolerate | |
mon.healthCheckInterval |
The frequency for the operator to check the mon health | 45s |
mon.monOutTimeout |
The time to wait before failing over an unhealthy mon | 300s |
You can pass the settings with helm command line parameters. Specify each parameter using the --set key=value[,key=value]
argument to helm install
. For example, the following command will install rook where RBAC is not enabled.
$ helm install --name rook rook-alpha/rook --set rbacEnable=false
Alternatively, a yaml file that specifies the values for the above parameters (values.yaml
) can be provided while installing the chart.
$ helm install --name rook rook-alpha/rook -f values.yaml
Here are the sample settings to get you started.
image: prefix: rook repository: rook/rook tag: master pullPolicy: IfNotPresent resources: limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi rbacEnable: true