Merge pull request #36133 from luomiao/photon-support-PR-v2

Automatic merge from submit-queue

Support persistent volume usage for kubernetes running on Photon Controller platform

**What this PR does / why we need it:**
Enable the persistent volume usage for kubernetes running on Photon platform.
Photon Controller: https://vmware.github.io/photon-controller/

_Only the first commit include the real code change.
The following commits are for third-party vendor dependency and auto-generated code/docs updating._

Two components are added:
pkg/cloudprovider/providers/photon: support Photon Controller as cloud provider
pkg/volume/photon_pd: support Photon persistent disk as volume source for persistent volume

Usage introduction:
a. Photon Controller is supported as cloud provider.
When choosing to use photon controller as a cloud provider, "--cloud-provider=photon --cloud-config=[path_to_config_file]" is required for kubelet/kube-controller-manager/kube-apiserver. The config file of Photon Controller should follow the following usage:

```
[Global]
target = http://[photon_controller_endpoint_IP]
ignoreCertificate = true
tenant = [tenant_name]
project = [project_name]
overrideIP = true
```

b. Photon persistent disk is supported as volume source/persistent volume source.
yaml usage:

```
volumes:
  - name: photon-storage-1
    photonPersistentDisk:
        pdID: "643ed4e2-3fcc-482b-96d0-12ff6cab2a69"
```
pdID is the persistent disk ID from Photon Controller.

c. Enable Photon Controller as volume provisioner.
yaml usage:

```
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
  name: gold_sc
provisioner: kubernetes.io/photon-pd
parameters:
  flavor: persistent-disk-gold
```

The flavor "persistent-disk-gold" needs to be created by Photon platform admin before hand.
This commit is contained in:
Kubernetes Submit Queue
2016-11-09 00:10:22 -08:00
committed by GitHub
69 changed files with 57446 additions and 49299 deletions

View File

@@ -574,6 +574,7 @@ k8s.io/kubernetes/pkg/cloudprovider/providers/gce,yifan-gu,1
k8s.io/kubernetes/pkg/cloudprovider/providers/mesos,mml,1
k8s.io/kubernetes/pkg/cloudprovider/providers/openstack,Q-Lee,1
k8s.io/kubernetes/pkg/cloudprovider/providers/ovirt,girishkalele,1
k8s.io/kubernetes/pkg/cloudprovider/providers/photon,luomiao,0
k8s.io/kubernetes/pkg/cloudprovider/providers/rackspace,caesarxuchao,1
k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere,apelisse,1
k8s.io/kubernetes/pkg/controller,mikedanese,1
@@ -846,6 +847,7 @@ k8s.io/kubernetes/pkg/volume/glusterfs,timstclair,1
k8s.io/kubernetes/pkg/volume/host_path,jbeda,1
k8s.io/kubernetes/pkg/volume/iscsi,cjcullen,1
k8s.io/kubernetes/pkg/volume/nfs,justinsb,1
k8s.io/kubernetes/pkg/volume/photon_pd,luomiao,0
k8s.io/kubernetes/pkg/volume/quobyte,yujuhong,1
k8s.io/kubernetes/pkg/volume/rbd,piosz,1
k8s.io/kubernetes/pkg/volume/secret,rmmh,1
1 name owner auto-assigned
574 k8s.io/kubernetes/pkg/cloudprovider/providers/mesos mml 1
575 k8s.io/kubernetes/pkg/cloudprovider/providers/openstack Q-Lee 1
576 k8s.io/kubernetes/pkg/cloudprovider/providers/ovirt girishkalele 1
577 k8s.io/kubernetes/pkg/cloudprovider/providers/photon luomiao 0
578 k8s.io/kubernetes/pkg/cloudprovider/providers/rackspace caesarxuchao 1
579 k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere apelisse 1
580 k8s.io/kubernetes/pkg/controller mikedanese 1
847 k8s.io/kubernetes/pkg/volume/host_path jbeda 1
848 k8s.io/kubernetes/pkg/volume/iscsi cjcullen 1
849 k8s.io/kubernetes/pkg/volume/nfs justinsb 1
850 k8s.io/kubernetes/pkg/volume/photon_pd luomiao 0
851 k8s.io/kubernetes/pkg/volume/quobyte yujuhong 1
852 k8s.io/kubernetes/pkg/volume/rbd piosz 1
853 k8s.io/kubernetes/pkg/volume/secret rmmh 1