k3s/docs/proposals
Kubernetes Submit Queue 9d2a5fe5e8 Merge pull request #29006 from jsafrane/dynprov2
Automatic merge from submit-queue

Implement dynamic provisioning (beta) of PersistentVolumes via StorageClass

Implemented according to PR #26908. There are several patches in this PR with one huge code regen inside.

* Please review the API changes (the first patch) carefully, sometimes I don't know what the code is doing...

* `PV.Spec.Class` and `PVC.Spec.Class` is not implemented, use annotation `volume.alpha.kubernetes.io/storage-class`

* See e2e test and integration test changes - Kubernetes won't provision a thing without explicit configuration of at least one `StorageClass` instance!

* Multiple provisioning volume plugins can coexist together, e.g. HostPath and AWS EBS. This is important for Gluster and RBD provisioners in #25026

* Contradicting the proposal, `claim.Selector` and `volume.alpha.kubernetes.io/storage-class` annotation are **not** mutually exclusive. They're both used for matching existing PVs. However, only `volume.alpha.kubernetes.io/storage-class` is used for provisioning, configuration of provisioning with `Selector` is left for (near) future.

* Documentation is missing. Can please someone write some while I am out?

For now, AWS volume plugin accepts classes with these parameters:

```
kind: StorageClass
metadata:
  name: slow
provisionerType: kubernetes.io/aws-ebs
provisionerParameters:
  type: io1
  zone: us-east-1d
  iopsPerGB: 10
```

* parameters are case-insensitive
* `type`: `io1`, `gp2`, `sc1`, `st1`. See AWS docs for details
* `iopsPerGB`: only for `io1` volumes. I/O operations per second per GiB. AWS volume plugin multiplies this with size of requested volume to compute IOPS of the volume and caps it at 20 000 IOPS (maximum supported by AWS, see AWS docs).
* of course, the plugin will use some defaults when a parameter is omitted in a `StorageClass` instance (`gp2` in the same zone as in 1.3).

GCE:

```
apiVersion: extensions/v1beta1
kind: StorageClass
metadata:
  name: slow
provisionerType: kubernetes.io/gce-pd
provisionerParameters:
  type: pd-standard
  zone: us-central1-a
```

* `type`: `pd-standard` or `pd-ssd`
* `zone`: GCE zone
* of course, the plugin will use some defaults when a parameter is omitted in a `StorageClass` instance (SSD in the same zone as in 1.3 ?).


No OpenStack/Cinder yet

@kubernetes/sig-storage
2016-08-18 09:56:16 -07:00
..
Kubemark_architecture.png Initial kubemark proposal 2015-09-10 09:54:42 +02:00
api-group.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
apiserver-watch.md fix wrong path for all registries 2016-08-15 17:28:38 +08:00
apparmor.md Update deploying-profiles section: watch for changes 2016-08-01 14:31:07 -07:00
client-package-structure.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
cluster-deployment.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
container-init.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
container-runtime-interface-v1.md docs: Detail possible transitions in CRI 2016-08-05 11:22:28 -07:00
controller-ref.md Fix broken verify-munge-docs build by running hack/update-munge-docs.sh. 2016-07-20 18:58:55 -07:00
custom-metrics.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
deploy.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
deployment.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
disk-accounting.md Merge pull request #26702 from joe2far/fix-broken-links 2016-07-20 15:10:41 -07:00
federated-api-servers.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
federation-high-level-arch.png Cluster Federation RFC. 2015-04-14 15:57:33 -07:00
federation-lite.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
federation.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
flannel-integration.md fix wrong path for all registries 2016-08-15 22:23:39 +08:00
garbage-collection.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
gpu-support.md Redirect the website to new location in gpu-support.md 2016-07-26 15:33:16 +08:00
high-availability.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
image-provenance.md Added image-provenance proposal 2016-08-05 12:50:37 -07:00
initial-resources.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
job.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
kubectl-login.md docs/proposal: add proposal for kubectl login 2016-08-04 13:15:40 -07:00
kubelet-eviction.md Document known issue for kubelet inode exhaustion 2016-08-17 16:57:44 -04:00
kubelet-systemd.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
kubelet-tls-bootstrap.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
kubemark.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
local-cluster-ux.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
metrics-plumbing.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
multiple-schedulers.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
network-policy.md Remove incorrect docs about unset fields in NetworkPolicyPeer 2016-08-12 11:26:07 -04:00
node-allocatable.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
node-allocatable.png Node Allocatable resources proposal 2015-12-07 16:43:15 -08:00
performance-related-monitoring.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
pleg.png Proposal: add pod lifecycle event generator for kubelet 2016-01-12 10:16:39 -08:00
pod-cache.png Proposal: add a runtime pod cache in kubelet 2016-02-04 11:23:38 -08:00
pod-lifecycle-event-generator.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
pod-resource-management.md Add implementation status 2016-08-04 15:14:53 -07:00
pod-security-context.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
protobuf.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
release-notes.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
rescheduler.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
rescheduling.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
resource-metrics-api.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
resource-quota-scoping.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
runtime-client-server.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
runtime-pod-cache.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
runtimeconfig.md Component feature config design proposal 2016-08-08 21:04:28 -07:00
scalability-testing.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
scheduledjob.md ScheduledJob: proposal updates 2016-08-04 07:29:06 -07:00
secret-configmap-downwarapi-file-mode.md Fix broken verify-munge-docs build by running hack/update-munge-docs.sh. 2016-07-20 18:58:55 -07:00
security-context-constraints.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
self-hosted-kubelet.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
selinux.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
service-discovery.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
service-external-name.md Fix broken verify-munge-docs build by running hack/update-munge-docs.sh. 2016-07-20 18:58:55 -07:00
templates.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
volume-ownership-management.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
volume-provisioning.md Provisioning documentation updates 2016-08-18 10:36:50 +02:00
volume-selectors.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
volumes.md Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00