diff --git a/api/swagger-spec/apps_v1alpha1.json b/api/swagger-spec/apps_v1alpha1.json index f368df82807e2..a458269d13660 100644 --- a/api/swagger-spec/apps_v1alpha1.json +++ b/api/swagger-spec/apps_v1alpha1.json @@ -1413,6 +1413,10 @@ "vsphereVolume": { "$ref": "v1.VsphereVirtualDiskVolumeSource", "description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine" + }, + "quobyte": { + "$ref": "v1.QuobyteVolumeSource", + "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime" } } }, @@ -1981,6 +1985,36 @@ } } }, + "v1.QuobyteVolumeSource": { + "id": "v1.QuobyteVolumeSource", + "description": "Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.", + "required": [ + "registry", + "volume" + ], + "properties": { + "registry": { + "type": "string", + "description": "Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes" + }, + "volume": { + "type": "string", + "description": "Volume is a string that references an already created Quobyte volume by name." + }, + "readOnly": { + "type": "boolean", + "description": "ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false." + }, + "user": { + "type": "string", + "description": "User to map volume access to Defaults to serivceaccount user" + }, + "group": { + "type": "string", + "description": "Group to map volume access to Default is no group" + } + } + }, "v1.Container": { "id": "v1.Container", "description": "A single application container that you want to run within a pod.", diff --git a/api/swagger-spec/batch_v1.json b/api/swagger-spec/batch_v1.json index a583634d1c122..b01d01e195eb4 100644 --- a/api/swagger-spec/batch_v1.json +++ b/api/swagger-spec/batch_v1.json @@ -1418,6 +1418,10 @@ "vsphereVolume": { "$ref": "v1.VsphereVirtualDiskVolumeSource", "description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine" + }, + "quobyte": { + "$ref": "v1.QuobyteVolumeSource", + "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime" } } }, @@ -1986,6 +1990,36 @@ } } }, + "v1.QuobyteVolumeSource": { + "id": "v1.QuobyteVolumeSource", + "description": "Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.", + "required": [ + "registry", + "volume" + ], + "properties": { + "registry": { + "type": "string", + "description": "Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes" + }, + "volume": { + "type": "string", + "description": "Volume is a string that references an already created Quobyte volume by name." + }, + "readOnly": { + "type": "boolean", + "description": "ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false." + }, + "user": { + "type": "string", + "description": "User to map volume access to Defaults to serivceaccount user" + }, + "group": { + "type": "string", + "description": "Group to map volume access to Default is no group" + } + } + }, "v1.Container": { "id": "v1.Container", "description": "A single application container that you want to run within a pod.", diff --git a/api/swagger-spec/extensions_v1beta1.json b/api/swagger-spec/extensions_v1beta1.json index dcaf86dca775a..01af27aedcd60 100644 --- a/api/swagger-spec/extensions_v1beta1.json +++ b/api/swagger-spec/extensions_v1beta1.json @@ -8582,6 +8582,10 @@ "vsphereVolume": { "$ref": "v1.VsphereVirtualDiskVolumeSource", "description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine" + }, + "quobyte": { + "$ref": "v1.QuobyteVolumeSource", + "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime" } } }, @@ -9150,6 +9154,36 @@ } } }, + "v1.QuobyteVolumeSource": { + "id": "v1.QuobyteVolumeSource", + "description": "Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.", + "required": [ + "registry", + "volume" + ], + "properties": { + "registry": { + "type": "string", + "description": "Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes" + }, + "volume": { + "type": "string", + "description": "Volume is a string that references an already created Quobyte volume by name." + }, + "readOnly": { + "type": "boolean", + "description": "ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false." + }, + "user": { + "type": "string", + "description": "User to map volume access to Defaults to serivceaccount user" + }, + "group": { + "type": "string", + "description": "Group to map volume access to Default is no group" + } + } + }, "v1.Container": { "id": "v1.Container", "description": "A single application container that you want to run within a pod.", diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json index 3c443dd61f2c3..2c44724e2b344 100644 --- a/api/swagger-spec/v1.json +++ b/api/swagger-spec/v1.json @@ -17244,6 +17244,10 @@ "$ref": "v1.VsphereVirtualDiskVolumeSource", "description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine" }, + "quobyte": { + "$ref": "v1.QuobyteVolumeSource", + "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime" + }, "accessModes": { "type": "array", "items": { @@ -17629,6 +17633,36 @@ } } }, + "v1.QuobyteVolumeSource": { + "id": "v1.QuobyteVolumeSource", + "description": "Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.", + "required": [ + "registry", + "volume" + ], + "properties": { + "registry": { + "type": "string", + "description": "Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes" + }, + "volume": { + "type": "string", + "description": "Volume is a string that references an already created Quobyte volume by name." + }, + "readOnly": { + "type": "boolean", + "description": "ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false." + }, + "user": { + "type": "string", + "description": "User to map volume access to Defaults to serivceaccount user" + }, + "group": { + "type": "string", + "description": "Group to map volume access to Default is no group" + } + } + }, "v1.PersistentVolumeStatus": { "id": "v1.PersistentVolumeStatus", "description": "PersistentVolumeStatus is the current status of a persistent volume.", @@ -17879,6 +17913,10 @@ "vsphereVolume": { "$ref": "v1.VsphereVirtualDiskVolumeSource", "description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine" + }, + "quobyte": { + "$ref": "v1.QuobyteVolumeSource", + "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime" } } }, diff --git a/cmd/kubelet/app/plugins.go b/cmd/kubelet/app/plugins.go index f904ffa582e35..b71a87ca33db9 100644 --- a/cmd/kubelet/app/plugins.go +++ b/cmd/kubelet/app/plugins.go @@ -44,6 +44,7 @@ import ( "k8s.io/kubernetes/pkg/volume/host_path" "k8s.io/kubernetes/pkg/volume/iscsi" "k8s.io/kubernetes/pkg/volume/nfs" + "k8s.io/kubernetes/pkg/volume/quobyte" "k8s.io/kubernetes/pkg/volume/rbd" "k8s.io/kubernetes/pkg/volume/secret" "k8s.io/kubernetes/pkg/volume/vsphere_volume" @@ -74,6 +75,7 @@ func ProbeVolumePlugins(pluginDir string) []volume.VolumePlugin { allPlugins = append(allPlugins, glusterfs.ProbeVolumePlugins()...) allPlugins = append(allPlugins, rbd.ProbeVolumePlugins()...) allPlugins = append(allPlugins, cinder.ProbeVolumePlugins()...) + allPlugins = append(allPlugins, quobyte.ProbeVolumePlugins()...) allPlugins = append(allPlugins, cephfs.ProbeVolumePlugins()...) allPlugins = append(allPlugins, downwardapi.ProbeVolumePlugins()...) allPlugins = append(allPlugins, fc.ProbeVolumePlugins()...) diff --git a/docs/api-reference/autoscaling/v1/definitions.html b/docs/api-reference/autoscaling/v1/definitions.html index 68b2d209c6555..ca3bb88b39932 100755 --- a/docs/api-reference/autoscaling/v1/definitions.html +++ b/docs/api-reference/autoscaling/v1/definitions.html @@ -1327,7 +1327,7 @@