Skip to content

Commit

Permalink
review updates
Browse files Browse the repository at this point in the history
  • Loading branch information
jsafrane committed Mar 14, 2019
1 parent 1f49203 commit 59977e4
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
The external-provisioner is a sidecar container that dynamically provisions volumes by calling `ControllerCreateVolume` and `ControlerDeleteVolume` functions of CSI drivers. It is necessary because internal persistent volume controller running in Kubernetes controller-manager does not have any direct interfaces to CSI drivers.

## Overview
The external-provisioner is an external controller that monitors `PersistentVolumeClaim` objects created by user and annotatate by controller-manager and creates/deletes volumes for them. Full design can be found at Kubernetes proposal at [container-storage-interface.md](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/container-storage-interface.md)
The external-provisioner is an external controller that monitors `PersistentVolumeClaim` objects created by user and creates/deletes volumes for them. Full design can be found at Kubernetes proposal at [container-storage-interface.md](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/container-storage-interface.md)

## Compatibility

Expand All @@ -15,6 +15,16 @@ This information reflects the head of this branch.
| ------------------------------------------------------------------------------------------ | ---------------------------------------| --------------- |
| [CSI Spec v1.0.0](https://github.com/container-storage-interface/spec/releases/tag/v1.0.0) | quay.io/k8scsi/csi-provisioner:v1.0.1 | 1.13 |

## Feature status

Various external-provisioner releases come with different alpha / beta features. Alpha features are disabled by default and must be explicitly enabled on command line. Beta features are enabled by default and can be disabled on command line. Check `--help` output for alpha/beta features in each release.

Following table reflects the head of this branch.

| Feature | Status | Description |
| -------- | ------ | ------------------------------------------------------------------------------------------ |
| Topology | Beta | [Topology aware dynamic provisioning](https://kubernetes-csi.github.io/docs/topology.html) |

## Usage

It is necessary to create a new service account and give it enough privileges to run the external-provisioner, see `deploy/kubernetes/rbac.yaml`. The provisioner is then deployed as single Deployment as illustrated below:
Expand Down Expand Up @@ -43,13 +53,11 @@ Note that the external-provisioner does not scale with more replicas. Only one e
* `--worker-threads <num>`: Number of simultaneously running `ControllerCreateVolume` and `ControllerDeleteVolume` operations. Default value is `100`.

#### Other recognized arguments
* `--provisioning-retry-count <num>`: Sets number of retries of failed provisioning of a single volume. The external-provisioner will give up provisioning after given number of retries. It should be used only with special CSI drivers whose provisioning of volumes is extremely slow or expensive so the external-provisioner does not waste resources. Set to `0` to retry forever (which is also the default value).
* `--provisioning-retry-count <num>`: Sets number of retries of failed provisioning of a single volume. The external-provisioner will give up provisioning after given number of retries. It should be used only with special CSI drivers whose provisioning of volumes is extremely slow (e.g. hours or days) or expensive so the external-provisioner does not waste resources. Set to `0` to retry forever (which is also the default value).

* `--deletion-retry-count <num>`: Sets number of retries of failed deletion of a single volume. The external-provisioner will give up deletion of the volume after given number of retries. It should be used only with special CSI drivers whose deletion of volumes is extremely slow or expensive so the external-provisioner does not waste resources. Set to `0` to retry forever (which is also the default value).
* `--deletion-retry-count <num>`: Sets number of retries of failed deletion of a single volume. The external-provisioner will give up deletion of the volume after given number of retries. It should be used only with special CSI drivers whose deletion of volumes is extremely slow (e.g. hours or days) or expensive so the external-provisioner does not waste resources. Set to `0` to retry forever (which is also the default value).

* `--feature-gates <gates>`: Enables or disables alpha (disabled by default) or beta features (enabled by default). Recognized gates:
* `AllAlpha`: Matches all alpha gates.
* `Topology` (alpha): Enables topology aware dynamic provisioning.
* `--feature-gates <gates>`: Enables or disables alpha (disabled by default) or beta features (enabled by default). See [list of features](#feature-status) or `--help` output for list of recognized features.

* `--kubeconfig <path>`: Path to Kubernetes client configuration that the external-provisioner uses to connect to Kubernetes API server. When omitted, default token provided by Kubernetes will be used. This option is useful only when the external-provisioner does not run as a Kubernetes pod, e.g. for debugging. Either this or `--master` needs to be set if the external-provisioner is being run out of cluster.

Expand Down

0 comments on commit 59977e4

Please sign in to comment.