diff --git a/api/swagger-spec/apps_v1alpha1.json b/api/swagger-spec/apps_v1alpha1.json
index f368df82807..a458269d136 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 a583634d1c1..b01d01e195e 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 dcaf86dca77..01af27aedcd 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 3c443dd61f2..2c44724e2b3 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 f904ffa582e..b71a87ca33d 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 68b2d209c65..ca3bb88b399 100755
--- a/docs/api-reference/autoscaling/v1/definitions.html
+++ b/docs/api-reference/autoscaling/v1/definitions.html
@@ -1327,7 +1327,7 @@ Examples: