From e29c8d6b919160cf0540290cb05cb6de64c77092 Mon Sep 17 00:00:00 2001 From: Aditya Dani Date: Fri, 10 Mar 2017 04:12:11 +0000 Subject: [PATCH] Portworx Volume Plugin - Add relevant doc references - PortworxVolume as a type of Volume. - Portworx as a type of StorageClass --- docs/user-guide/persistent-volumes/index.md | 25 ++++++++++++++++++++ docs/user-guide/pod-security-policy/index.md | 1 + docs/user-guide/volumes.md | 10 ++++++++ 3 files changed, 36 insertions(+) diff --git a/docs/user-guide/persistent-volumes/index.md b/docs/user-guide/persistent-volumes/index.md index 4558b6fae5..eacec0d26d 100644 --- a/docs/user-guide/persistent-volumes/index.md +++ b/docs/user-guide/persistent-volumes/index.md @@ -121,6 +121,7 @@ However, the particular path specified in the custom recycler pod template in th * Quobyte Volumes * HostPath (single node testing only -- local storage is not supported in any way and WILL NOT WORK in a multi-node cluster) * VMware Photon +* Portworx Volumes * ScaleIO Volumes ## Persistent Volumes @@ -188,6 +189,7 @@ In the CLI, the access modes are abbreviated to: | NFS | ✓ | ✓ | ✓ | | RBD | ✓ | ✓ | - | | VsphereVolume | ✓ | - | - | +| PortworxVolume | ✓ | - | ✓ | | ScaleIO | ✓ | ✓ | - | ### Class @@ -534,6 +536,29 @@ parameters: * `location`: Azure storage account location. Default is empty. * `storageAccount`: Azure storage account name. If storage account is not provided, all storage accounts associated with the resource group are searched to find one that matches `skuName` and `location`. If storage account is provided, it must reside in the same resource group as the cluster, and `skuName` and `location` are ignored. +#### Portworx Volume + +```yaml +kind: StorageClass +apiVersion: storage.k8s.io/v1 +metadata: + name: portworx-io-priority-high +provisioner: kubernetes.io/portworx-volume +parameters: + repl: "1" + snap_interval: "70" + io_priority: "high" + +``` + +* `fs`: filesystem to be laid out: [none/xfs/ext4] (default: `ext4`). +* `block_size`: block size in Kbytes (default: `32`). +* `repl`: number of synchronous replicas to be provided in the form of replication factor [1..3] (default: `1`) A string is expected here i.e.`"1"` and not `1`. +* `io_priority`: determines whether the volume will be created from higher performance or a lower priority storage [high/medium/low] (default: `low`). +* `snap_interval`: clock/time interval in minutes for when to trigger snapshots. snapshots are incremental based on difference with the prior snapshot, 0 disables snaps (default: `0`). A string is expected here i.e. `"70"` and not `70`. +* `aggregation_level`: specifies the number of chunks the volume would be distributed into, 0 indicates a non-aggregated volume (default: `0`). A string is expected here i.e. `"0"` and not `0` +* `ephemeral`: specifies whether the volume should be cleaned-up after unmount or should be persistent. `emptyDir` use case can set this value to true and `persistent volumes` use case such as for databases like Cassandra should set to false, [true/false] (default `false`). A string is expected here i.e. `"true"` and not `true`. + #### ScaleIO ```yaml kind: StorageClass diff --git a/docs/user-guide/pod-security-policy/index.md b/docs/user-guide/pod-security-policy/index.md index d3b40902ea..7ee6d17522 100644 --- a/docs/user-guide/pod-security-policy/index.md +++ b/docs/user-guide/pod-security-policy/index.md @@ -106,6 +106,7 @@ to the volume sources that are defined when creating a volume: 1. quobyte 1. azureDisk 1. photonPersistentDisk +1. portworxVolume 1. \* (allow all volumes) The recommended minimum set of allowed volumes for new PSPs are diff --git a/docs/user-guide/volumes.md b/docs/user-guide/volumes.md index 762518fc8f..6e49af12e2 100644 --- a/docs/user-guide/volumes.md +++ b/docs/user-guide/volumes.md @@ -79,6 +79,7 @@ Kubernetes supports several types of Volumes: * `azureDisk` * `vsphereVolume` * `Quobyte` + * `portworxVolume` We welcome additional contributions. @@ -531,6 +532,15 @@ before you can use it__ See the [Quobyte example](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/examples/volumes/quobyte) for more details. +### Portworx Volume + +A `PortworxVolume` is an elastic block storage layer that runs hyperconverged with Kubernetes. Portworx fingerprints storage in a server, tiers +based on capabilities, and aggregates capacity across multiple servers. Portworx runs in-guest in virtual machines or on bare metal Linux nodes. + +A `PortworxVolume` can be dynamically created through Kubernetes or it can also be pre-provisioned and referenced inside a Kubernetes pod. + +More details can be found [here](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/examples/volumes/portworx/README.md) + ## Using subPath Sometimes, it is useful to share one volume for multiple uses in a single pod. The `volumeMounts.subPath`