diff --git a/CHANGELOG.md b/CHANGELOG.md
index c8a3eb605bd..a542d4af79d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1001,7 +1001,7 @@ by Kubernetes. Changes were introduced in PR [#13580](https://github.com/kuberne
or GA.
* New Flex Volume Plugin enables users to use out-of-process volume plugins that
are installed to “/usr/libexec/kubernetes/kubelet-plugins/volume/exec/” on
-every node, instead of being compiled into the Kubernetes binary. See [example](examples/flexvolume/README.md) for details.
+every node, instead of being compiled into the Kubernetes binary. See [example](examples/volumes/flexvolume/README.md) for details.
* vendor volumes into a pod. It expects vendor drivers are installed in the
volume plugin path on each kubelet node. This is an alpha feature and may
change in future.
diff --git a/api/swagger-spec/apps_v1alpha1.json b/api/swagger-spec/apps_v1alpha1.json
index d0ed8a04521..5b70cd188db 100644
--- a/api/swagger-spec/apps_v1alpha1.json
+++ b/api/swagger-spec/apps_v1alpha1.json
@@ -1364,11 +1364,11 @@
},
"iscsi": {
"$ref": "v1.ISCSIVolumeSource",
- "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md"
+ "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md"
},
"glusterfs": {
"$ref": "v1.GlusterfsVolumeSource",
- "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md"
+ "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md"
},
"persistentVolumeClaim": {
"$ref": "v1.PersistentVolumeClaimVolumeSource",
@@ -1376,7 +1376,7 @@
},
"rbd": {
"$ref": "v1.RBDVolumeSource",
- "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md"
+ "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md"
},
"flexVolume": {
"$ref": "v1.FlexVolumeSource",
@@ -1615,15 +1615,15 @@
"properties": {
"endpoints": {
"type": "string",
- "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
},
"path": {
"type": "string",
- "description": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
},
"readOnly": {
"type": "boolean",
- "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
}
}
},
@@ -1657,11 +1657,11 @@
"items": {
"type": "string"
},
- "description": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"image": {
"type": "string",
- "description": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"fsType": {
"type": "string",
@@ -1669,23 +1669,23 @@
},
"pool": {
"type": "string",
- "description": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it."
+ "description": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it."
},
"user": {
"type": "string",
- "description": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"keyring": {
"type": "string",
- "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
- "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"readOnly": {
"type": "boolean",
- "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
}
}
},
@@ -1761,7 +1761,7 @@
"items": {
"type": "string"
},
- "description": "Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"path": {
"type": "string",
@@ -1769,19 +1769,19 @@
},
"user": {
"type": "string",
- "description": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"secretFile": {
"type": "string",
- "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
- "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"readOnly": {
"type": "boolean",
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
}
}
},
diff --git a/api/swagger-spec/batch_v1.json b/api/swagger-spec/batch_v1.json
index 2ee93142bed..8ba14edc26a 100644
--- a/api/swagger-spec/batch_v1.json
+++ b/api/swagger-spec/batch_v1.json
@@ -1369,11 +1369,11 @@
},
"iscsi": {
"$ref": "v1.ISCSIVolumeSource",
- "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md"
+ "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md"
},
"glusterfs": {
"$ref": "v1.GlusterfsVolumeSource",
- "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md"
+ "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md"
},
"persistentVolumeClaim": {
"$ref": "v1.PersistentVolumeClaimVolumeSource",
@@ -1381,7 +1381,7 @@
},
"rbd": {
"$ref": "v1.RBDVolumeSource",
- "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md"
+ "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md"
},
"flexVolume": {
"$ref": "v1.FlexVolumeSource",
@@ -1620,15 +1620,15 @@
"properties": {
"endpoints": {
"type": "string",
- "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
},
"path": {
"type": "string",
- "description": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
},
"readOnly": {
"type": "boolean",
- "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
}
}
},
@@ -1662,11 +1662,11 @@
"items": {
"type": "string"
},
- "description": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"image": {
"type": "string",
- "description": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"fsType": {
"type": "string",
@@ -1674,23 +1674,23 @@
},
"pool": {
"type": "string",
- "description": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it."
+ "description": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it."
},
"user": {
"type": "string",
- "description": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"keyring": {
"type": "string",
- "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
- "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"readOnly": {
"type": "boolean",
- "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
}
}
},
@@ -1766,7 +1766,7 @@
"items": {
"type": "string"
},
- "description": "Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"path": {
"type": "string",
@@ -1774,19 +1774,19 @@
},
"user": {
"type": "string",
- "description": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"secretFile": {
"type": "string",
- "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
- "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"readOnly": {
"type": "boolean",
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
}
}
},
diff --git a/api/swagger-spec/extensions_v1beta1.json b/api/swagger-spec/extensions_v1beta1.json
index 592136333bd..5cdf5520c3f 100644
--- a/api/swagger-spec/extensions_v1beta1.json
+++ b/api/swagger-spec/extensions_v1beta1.json
@@ -7978,11 +7978,11 @@
},
"iscsi": {
"$ref": "v1.ISCSIVolumeSource",
- "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md"
+ "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md"
},
"glusterfs": {
"$ref": "v1.GlusterfsVolumeSource",
- "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md"
+ "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md"
},
"persistentVolumeClaim": {
"$ref": "v1.PersistentVolumeClaimVolumeSource",
@@ -7990,7 +7990,7 @@
},
"rbd": {
"$ref": "v1.RBDVolumeSource",
- "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md"
+ "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md"
},
"flexVolume": {
"$ref": "v1.FlexVolumeSource",
@@ -8229,15 +8229,15 @@
"properties": {
"endpoints": {
"type": "string",
- "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
},
"path": {
"type": "string",
- "description": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
},
"readOnly": {
"type": "boolean",
- "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
}
}
},
@@ -8271,11 +8271,11 @@
"items": {
"type": "string"
},
- "description": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"image": {
"type": "string",
- "description": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"fsType": {
"type": "string",
@@ -8283,23 +8283,23 @@
},
"pool": {
"type": "string",
- "description": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it."
+ "description": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it."
},
"user": {
"type": "string",
- "description": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"keyring": {
"type": "string",
- "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
- "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"readOnly": {
"type": "boolean",
- "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
}
}
},
@@ -8375,7 +8375,7 @@
"items": {
"type": "string"
},
- "description": "Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"path": {
"type": "string",
@@ -8383,19 +8383,19 @@
},
"user": {
"type": "string",
- "description": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"secretFile": {
"type": "string",
- "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
- "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"readOnly": {
"type": "boolean",
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
}
}
},
diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json
index e064facc395..ccbf8985a95 100644
--- a/api/swagger-spec/v1.json
+++ b/api/swagger-spec/v1.json
@@ -17197,7 +17197,7 @@
},
"glusterfs": {
"$ref": "v1.GlusterfsVolumeSource",
- "description": "Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md"
+ "description": "Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md"
},
"nfs": {
"$ref": "v1.NFSVolumeSource",
@@ -17205,7 +17205,7 @@
},
"rbd": {
"$ref": "v1.RBDVolumeSource",
- "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md"
+ "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md"
},
"iscsi": {
"$ref": "v1.ISCSIVolumeSource",
@@ -17331,15 +17331,15 @@
"properties": {
"endpoints": {
"type": "string",
- "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
},
"path": {
"type": "string",
- "description": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
},
"readOnly": {
"type": "boolean",
- "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"
+ "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod"
}
}
},
@@ -17378,11 +17378,11 @@
"items": {
"type": "string"
},
- "description": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"image": {
"type": "string",
- "description": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"fsType": {
"type": "string",
@@ -17390,23 +17390,23 @@
},
"pool": {
"type": "string",
- "description": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it."
+ "description": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it."
},
"user": {
"type": "string",
- "description": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"keyring": {
"type": "string",
- "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
- "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
},
"readOnly": {
"type": "boolean",
- "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"
+ "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it"
}
}
},
@@ -17489,7 +17489,7 @@
"items": {
"type": "string"
},
- "description": "Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"path": {
"type": "string",
@@ -17497,19 +17497,19 @@
},
"user": {
"type": "string",
- "description": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"secretFile": {
"type": "string",
- "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
- "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
},
"readOnly": {
"type": "boolean",
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it"
+ "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it"
}
}
},
@@ -17825,11 +17825,11 @@
},
"iscsi": {
"$ref": "v1.ISCSIVolumeSource",
- "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md"
+ "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md"
},
"glusterfs": {
"$ref": "v1.GlusterfsVolumeSource",
- "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md"
+ "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md"
},
"persistentVolumeClaim": {
"$ref": "v1.PersistentVolumeClaimVolumeSource",
@@ -17837,7 +17837,7 @@
},
"rbd": {
"$ref": "v1.RBDVolumeSource",
- "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md"
+ "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md"
},
"flexVolume": {
"$ref": "v1.FlexVolumeSource",
diff --git a/docs/api-reference/batch/v1/definitions.html b/docs/api-reference/batch/v1/definitions.html
index c4b71f8fb1d..f4a93071021 100755
--- a/docs/api-reference/batch/v1/definitions.html
+++ b/docs/api-reference/batch/v1/definitions.html
@@ -681,7 +681,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
monitors |
-Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
true |
string array |
|
@@ -695,28 +695,28 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
user |
-Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
string |
|
secretFile |
-Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
string |
|
secretRef |
-Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
v1.LocalObjectReference |
|
readOnly |
-Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
boolean |
false |
@@ -3120,14 +3120,14 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
iscsi |
-ISCSI represents an ISCSI Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md |
+ISCSI represents an ISCSI Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md |
false |
v1.ISCSIVolumeSource |
|
glusterfs |
-Glusterfs represents a Glusterfs mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md |
+Glusterfs represents a Glusterfs mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md |
false |
v1.GlusterfsVolumeSource |
|
@@ -3141,7 +3141,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
rbd |
-RBD represents a Rados Block Device mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md |
+RBD represents a Rados Block Device mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md |
false |
v1.RBDVolumeSource |
|
@@ -3986,21 +3986,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
endpoints |
-EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod |
+EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod |
true |
string |
|
path |
-Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod |
+Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod |
true |
string |
|
readOnly |
-ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod |
+ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod |
false |
boolean |
false |
@@ -4034,14 +4034,14 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
monitors |
-A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
true |
string array |
|
image |
-The rados image name. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+The rados image name. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
true |
string |
|
@@ -4055,35 +4055,35 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
pool |
-The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it. |
+The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it. |
false |
string |
|
user |
-The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
string |
|
keyring |
-Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
string |
|
secretRef |
-SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
v1.LocalObjectReference |
|
readOnly |
-ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
boolean |
false |
diff --git a/docs/api-reference/extensions/v1beta1/definitions.html b/docs/api-reference/extensions/v1beta1/definitions.html
index 0b6daa6b7b9..ca16ce5425d 100755
--- a/docs/api-reference/extensions/v1beta1/definitions.html
+++ b/docs/api-reference/extensions/v1beta1/definitions.html
@@ -956,7 +956,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
monitors |
-Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
true |
string array |
|
@@ -970,28 +970,28 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
user |
-Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
string |
|
secretFile |
-Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
string |
|
secretRef |
-Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
v1.LocalObjectReference |
|
readOnly |
-Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
boolean |
false |
@@ -2861,14 +2861,14 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
iscsi |
-ISCSI represents an ISCSI Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md |
+ISCSI represents an ISCSI Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md |
false |
v1.ISCSIVolumeSource |
|
glusterfs |
-Glusterfs represents a Glusterfs mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md |
+Glusterfs represents a Glusterfs mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md |
false |
v1.GlusterfsVolumeSource |
|
@@ -2882,7 +2882,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
rbd |
-RBD represents a Rados Block Device mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md |
+RBD represents a Rados Block Device mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md |
false |
v1.RBDVolumeSource |
|
@@ -3693,21 +3693,21 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
endpoints |
-EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod |
+EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod |
true |
string |
|
path |
-Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod |
+Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod |
true |
string |
|
readOnly |
-ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod |
+ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod |
false |
boolean |
false |
@@ -3947,14 +3947,14 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
monitors |
-A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
true |
string array |
|
image |
-The rados image name. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+The rados image name. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
true |
string |
|
@@ -3968,35 +3968,35 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
pool |
-The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it. |
+The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it. |
false |
string |
|
user |
-The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
string |
|
keyring |
-Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
string |
|
secretRef |
-SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
v1.LocalObjectReference |
|
readOnly |
-ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
boolean |
false |
diff --git a/docs/api-reference/v1/definitions.html b/docs/api-reference/v1/definitions.html
index 45c738145e5..4db93977c37 100755
--- a/docs/api-reference/v1/definitions.html
+++ b/docs/api-reference/v1/definitions.html
@@ -894,7 +894,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
monitors |
-Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
true |
string array |
|
@@ -908,28 +908,28 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
user |
-Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
string |
|
secretFile |
-Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
string |
|
secretRef |
-Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
v1.LocalObjectReference |
|
readOnly |
-Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it |
+Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it |
false |
boolean |
false |
@@ -3594,14 +3594,14 @@ The resulting set of endpoints can be viewed as:
iscsi |
-ISCSI represents an ISCSI Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md |
+ISCSI represents an ISCSI Disk resource that is attached to a kubelet’s host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md |
false |
v1.ISCSIVolumeSource |
|
glusterfs |
-Glusterfs represents a Glusterfs mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md |
+Glusterfs represents a Glusterfs mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md |
false |
v1.GlusterfsVolumeSource |
|
@@ -3615,7 +3615,7 @@ The resulting set of endpoints can be viewed as:
rbd |
-RBD represents a Rados Block Device mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md |
+RBD represents a Rados Block Device mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md |
false |
v1.RBDVolumeSource |
|
@@ -4798,21 +4798,21 @@ The resulting set of endpoints can be viewed as:
endpoints |
-EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod |
+EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod |
true |
string |
|
path |
-Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod |
+Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod |
true |
string |
|
readOnly |
-ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod |
+ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod |
false |
boolean |
false |
@@ -4997,14 +4997,14 @@ The resulting set of endpoints can be viewed as:
monitors |
-A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
true |
string array |
|
image |
-The rados image name. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+The rados image name. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
true |
string |
|
@@ -5018,35 +5018,35 @@ The resulting set of endpoints can be viewed as:
pool |
-The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it. |
+The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it. |
false |
string |
|
user |
-The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
string |
|
keyring |
-Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
string |
|
secretRef |
-SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
v1.LocalObjectReference |
|
readOnly |
-ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it |
+ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it |
false |
boolean |
false |
@@ -5853,7 +5853,7 @@ The resulting set of endpoints can be viewed as:
glusterfs |
-Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md |
+Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md |
false |
v1.GlusterfsVolumeSource |
|
@@ -5867,7 +5867,7 @@ The resulting set of endpoints can be viewed as:
rbd |
-RBD represents a Rados Block Device mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md |
+RBD represents a Rados Block Device mount on the host that shares a pod’s lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md |
false |
v1.RBDVolumeSource |
|
diff --git a/docs/proposals/security-context-constraints.md b/docs/proposals/security-context-constraints.md
index b0ffcd0a72e..d59dae9dab3 100644
--- a/docs/proposals/security-context-constraints.md
+++ b/docs/proposals/security-context-constraints.md
@@ -180,16 +180,16 @@ type VolumeSecurityPolicy struct {
// More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs
NFS bool `json:"nfs,omitempty"`
// ISCSI allows or disallows the use of the ISCSI volume plugin.
- // More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md
ISCSI bool `json:"iscsi,omitempty"`
// Glusterfs allows or disallows the use of the Glusterfs volume plugin.
- // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md
Glusterfs bool `json:"glusterfs,omitempty"`
// PersistentVolumeClaim allows or disallows the use of the PersistentVolumeClaim volume plugin.
// More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims
PersistentVolumeClaim bool `json:"persistentVolumeClaim,omitempty"`
// RBD allows or disallows the use of the RBD volume plugin.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md
RBD bool `json:"rbd,omitempty"`
// Cinder allows or disallows the use of the Cinder volume plugin.
// More info: http://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md
diff --git a/examples/README.md b/examples/README.md
index 9e4aa779259..2eec040d5ca 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -51,7 +51,7 @@ Name | Description | Notable Features Used | Complexity Level
------------- | ------------- | ------------ | ------------ | ------------
[Guestbook](guestbook/) | PHP app with Redis | Replication Controller, Service | Beginner
[WordPress](mysql-wordpress-pd/) | WordPress with MySQL | Deployment, Persistent Volume with Claim | Beginner
-[Cassandra](cassandra/) | Cloud Native Cassandra | Daemon Set | Intermediate
+[Cassandra](storage/cassandra/) | Cloud Native Cassandra | Daemon Set | Intermediate
Note: Please add examples to the list above that are maintained.
diff --git a/examples/examples_test.go b/examples/examples_test.go
index 21feace4f16..eb05388d337 100644
--- a/examples/examples_test.go
+++ b/examples/examples_test.go
@@ -220,10 +220,10 @@ func TestExampleObjectSchemas(t *testing.T) {
"pod": &api.Pod{},
"service": &api.Service{},
},
- "../examples/iscsi": {
+ "../examples/volumes/iscsi": {
"iscsi": &api.Pod{},
},
- "../examples/glusterfs": {
+ "../examples/volumes/glusterfs": {
"glusterfs-pod": &api.Pod{},
"glusterfs-endpoints": &api.Endpoints{},
"glusterfs-service": &api.Service{},
@@ -249,14 +249,14 @@ func TestExampleObjectSchemas(t *testing.T) {
"scheduler-policy-config": &schedulerapi.Policy{},
"scheduler-policy-config-with-extender": &schedulerapi.Policy{},
},
- "../examples/rbd/secret": {
+ "../examples/volumes/rbd/secret": {
"ceph-secret": &api.Secret{},
},
- "../examples/rbd": {
+ "../examples/volumes/rbd": {
"rbd": &api.Pod{},
"rbd-with-secret": &api.Pod{},
},
- "../examples/cassandra": {
+ "../examples/storage/cassandra": {
"cassandra-daemonset": &extensions.DaemonSet{},
"cassandra-controller": &api.ReplicationController{},
"cassandra-service": &api.Service{},
@@ -289,7 +289,7 @@ func TestExampleObjectSchemas(t *testing.T) {
"../examples/explorer": {
"pod": &api.Pod{},
},
- "../examples/hazelcast": {
+ "../examples/storage/hazelcast": {
"hazelcast-controller": &api.ReplicationController{},
"hazelcast-service": &api.Service{},
},
@@ -319,7 +319,7 @@ func TestExampleObjectSchemas(t *testing.T) {
"mysql-deployment": &api.Service{},
"wordpress-deployment": &api.Service{},
},
- "../examples/nfs": {
+ "../examples/volumes/nfs": {
"nfs-busybox-rc": &api.ReplicationController{},
"nfs-server-rc": &api.ReplicationController{},
"nfs-server-service": &api.Service{},
@@ -345,7 +345,7 @@ func TestExampleObjectSchemas(t *testing.T) {
"phabricator-controller": &api.ReplicationController{},
"phabricator-service": &api.Service{},
},
- "../examples/redis": {
+ "../examples/storage/redis": {
"redis-controller": &api.ReplicationController{},
"redis-master": &api.Pod{},
"redis-proxy": &api.Pod{},
@@ -357,7 +357,7 @@ func TestExampleObjectSchemas(t *testing.T) {
"limits": &api.LimitRange{},
"quota": &api.ResourceQuota{},
},
- "../examples/rethinkdb": {
+ "../examples/storage/rethinkdb": {
"admin-pod": &api.Pod{},
"admin-service": &api.Service{},
"driver-service": &api.Service{},
@@ -390,11 +390,11 @@ func TestExampleObjectSchemas(t *testing.T) {
"zookeeper-service": &api.Service{},
"zookeeper": &api.Pod{},
},
- "../examples/cephfs/": {
+ "../examples/volumes/cephfs/": {
"cephfs": &api.Pod{},
"cephfs-with-secret": &api.Pod{},
},
- "../examples/fibre_channel": {
+ "../examples/volumes/fibre_channel": {
"fc": &api.Pod{},
},
"../examples/javaweb-tomcat-sidecar": {
@@ -409,7 +409,7 @@ func TestExampleObjectSchemas(t *testing.T) {
"redis-service": &api.Service{},
"job": &batch.Job{},
},
- "../examples/azure_file": {
+ "../examples/volumes/azure_file": {
"azure": &api.Pod{},
},
}
@@ -486,7 +486,7 @@ func TestReadme(t *testing.T) {
}{
{"../README.md", []runtime.Object{&api.Pod{}}},
{"../docs/user-guide/walkthrough/README.md", []runtime.Object{&api.Pod{}}},
- {"../examples/iscsi/README.md", []runtime.Object{&api.Pod{}}},
+ {"../examples/volumes/iscsi/README.md", []runtime.Object{&api.Pod{}}},
}
for _, path := range paths {
diff --git a/examples/job/work-queue-2/README.md b/examples/job/work-queue-2/README.md
index d2d723342ad..d8e7fe88866 100644
--- a/examples/job/work-queue-2/README.md
+++ b/examples/job/work-queue-2/README.md
@@ -58,7 +58,7 @@ Here is an overview of the steps in this example:
## Starting Redis
For this example, for simplicitly, we will start a single instance of Redis.
-See the [Redis Example](../../../examples/redis/README.md) for an example
+See the [Redis Example](../../../examples/storage/redis/README.md) for an example
of deploying Redis scaleably and redundantly.
Start a temporary Pod running Redis and a service so we can find it.
diff --git a/examples/spark/spark-gluster/README.md b/examples/spark/spark-gluster/README.md
index 83f0c4cf008..7b695e98557 100644
--- a/examples/spark/spark-gluster/README.md
+++ b/examples/spark/spark-gluster/README.md
@@ -34,7 +34,7 @@ Documentation for other releases can be found at
# Spark on GlusterFS example
-This guide is an extension of the standard [Spark on Kubernetes Guide](../../../examples/spark/) and describes how to run Spark on GlusterFS using the [Kubernetes Volume Plugin for GlusterFS](../../../examples/glusterfs/)
+This guide is an extension of the standard [Spark on Kubernetes Guide](../../../examples/spark/) and describes how to run Spark on GlusterFS using the [Kubernetes Volume Plugin for GlusterFS](../../../examples/volumes/glusterfs/)
The setup is the same in that you will setup a Spark Master Service in the same way you do with the standard Spark guide but you will deploy a modified Spark Master and a Modified Spark Worker ReplicationController, as they will be modified to use the GlusterFS volume plugin to mount a GlusterFS volume into the Spark Master and Spark Workers containers. Note that this example can be used as a guide for implementing any of the Kubernetes Volume Plugins with the Spark Example.
diff --git a/examples/cassandra/README.md b/examples/storage/cassandra/README.md
similarity index 92%
rename from examples/cassandra/README.md
rename to examples/storage/cassandra/README.md
index 2beac0d6a7b..20b9f243617 100644
--- a/examples/cassandra/README.md
+++ b/examples/storage/cassandra/README.md
@@ -19,11 +19,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/cassandra/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -58,17 +53,17 @@ new Cassandra nodes as they join the cluster.
This example also uses some of the core components of Kubernetes:
-- [_Pods_](../../docs/user-guide/pods.md)
-- [ _Services_](../../docs/user-guide/services.md)
-- [_Replication Controllers_](../../docs/user-guide/replication-controller.md)
-- [_Daemon Sets_](../../docs/admin/daemons.md)
+- [_Pods_](../../../docs/user-guide/pods.md)
+- [ _Services_](../../../docs/user-guide/services.md)
+- [_Replication Controllers_](../../../docs/user-guide/replication-controller.md)
+- [_Daemon Sets_](../../../docs/admin/daemons.md)
## Prerequisites
This example assumes that you have a Kubernetes version >=1.2 cluster installed and running,
-and that you have installed the [`kubectl`](../../docs/user-guide/kubectl/kubectl.md)
+and that you have installed the [`kubectl`](../../../docs/user-guide/kubectl/kubectl.md)
command line tool somewhere in your path. Please see the
-[getting started guides](../../docs/getting-started-guides/)
+[getting started guides](../../../docs/getting-started-guides/)
for installation instructions for your platform.
This example also has a few code and configuration files needed. To avoid
@@ -109,7 +104,7 @@ how the container docker image was built and what it contains.
You may also note that we are setting some Cassandra parameters (`MAX_HEAP_SIZE`
and `HEAP_NEWSIZE`), and adding information about the
-[namespace](../../docs/user-guide/namespaces.md).
+[namespace](../../../docs/user-guide/namespaces.md).
We also tell Kubernetes that the container exposes
both the `CQL` and `Thrift` API ports. Finally, we tell the cluster
manager that we need 0.1 cpu (0.1 core).
@@ -121,10 +116,10 @@ here are the steps:
```sh
# create a service to track all cassandra nodes
-kubectl create -f examples/cassandra/cassandra-service.yaml
+kubectl create -f examples/storage/cassandra/cassandra-service.yaml
# create a replication controller to replicate cassandra nodes
-kubectl create -f examples/cassandra/cassandra-controller.yaml
+kubectl create -f examples/storage/cassandra/cassandra-controller.yaml
# validate the Cassandra cluster. Substitute the name of one of your pods.
kubectl exec -ti cassandra-xxxxx -- nodetool status
@@ -136,7 +131,7 @@ kubectl scale rc cassandra --replicas=4
kubectl delete rc cassandra
# then, create a daemonset to place a cassandra node on each kubernetes node
-kubectl create -f examples/cassandra/cassandra-daemonset.yaml --validate=false
+kubectl create -f examples/storage/cassandra/cassandra-daemonset.yaml --validate=false
# resource cleanup
kubectl delete service -l app=cassandra
@@ -145,8 +140,8 @@ kubectl delete daemonset cassandra
## Step 1: Create a Cassandra Service
-A Kubernetes _[Service](../../docs/user-guide/services.md)_ describes a set of
-[_Pods_](../../docs/user-guide/pods.md) that perform the same task. In
+A Kubernetes _[Service](../../../docs/user-guide/services.md)_ describes a set of
+[_Pods_](../../../docs/user-guide/pods.md) that perform the same task. In
Kubernetes, the atomic unit of an application is a Pod: one or more containers
that _must_ be scheduled onto the same host.
@@ -184,20 +179,20 @@ selected for membership in this service. We'll see that in action shortly.
Create the Cassandra service as follows:
```console
-$ kubectl create -f examples/cassandra/cassandra-service.yaml
+$ kubectl create -f examples/storage/cassandra/cassandra-service.yaml
```
## Step 2: Use a Replication Controller to create Cassandra node pods
As we noted above, in Kubernetes, the atomic unit of an application is a
-[_Pod_](../../docs/user-guide/pods.md).
+[_Pod_](../../../docs/user-guide/pods.md).
A Pod is one or more containers that _must_ be scheduled onto
the same host. All containers in a pod share a network namespace, and may
optionally share mounted volumes.
A Kubernetes
-_[Replication Controller](../../docs/user-guide/replication-controller.md)_
+_[Replication Controller](../../../docs/user-guide/replication-controller.md)_
is responsible for replicating sets of identical pods. Like a
Service, it has a selector query which identifies the members of its set.
Unlike a Service, it also has a desired number of replicas, and it will create
@@ -294,7 +289,7 @@ Create the Replication Controller:
```console
-$ kubectl create -f examples/cassandra/cassandra-controller.yaml
+$ kubectl create -f examples/storage/cassandra/cassandra-controller.yaml
```
@@ -428,7 +423,7 @@ $ kubectl delete rc cassandra
## Step 5: Use a DaemonSet instead of a Replication Controller
-In Kubernetes, a [_Daemon Set_](../../docs/admin/daemons.md) can distribute pods
+In Kubernetes, a [_Daemon Set_](../../../docs/admin/daemons.md) can distribute pods
onto Kubernetes nodes, one-to-one. Like a _ReplicationController_, it has a
selector query which identifies the members of its set. Unlike a
_ReplicationController_, it has a node selector to limit which nodes are
@@ -520,7 +515,7 @@ Create this daemonset:
```console
-$ kubectl create -f examples/cassandra/cassandra-daemonset.yaml
+$ kubectl create -f examples/storage/cassandra/cassandra-daemonset.yaml
```
@@ -528,7 +523,7 @@ You may need to disable config file validation, like so:
```console
-$ kubectl create -f examples/cassandra/cassandra-daemonset.yaml --validate=false
+$ kubectl create -f examples/storage/cassandra/cassandra-daemonset.yaml --validate=false
```
@@ -596,5 +591,5 @@ $ kubectl delete daemonset cassandra
-[]()
+[]()
diff --git a/examples/cassandra/cassandra-controller.yaml b/examples/storage/cassandra/cassandra-controller.yaml
similarity index 100%
rename from examples/cassandra/cassandra-controller.yaml
rename to examples/storage/cassandra/cassandra-controller.yaml
diff --git a/examples/cassandra/cassandra-daemonset.yaml b/examples/storage/cassandra/cassandra-daemonset.yaml
similarity index 100%
rename from examples/cassandra/cassandra-daemonset.yaml
rename to examples/storage/cassandra/cassandra-daemonset.yaml
diff --git a/examples/cassandra/cassandra-service.yaml b/examples/storage/cassandra/cassandra-service.yaml
similarity index 100%
rename from examples/cassandra/cassandra-service.yaml
rename to examples/storage/cassandra/cassandra-service.yaml
diff --git a/examples/cassandra/image/Dockerfile b/examples/storage/cassandra/image/Dockerfile
similarity index 100%
rename from examples/cassandra/image/Dockerfile
rename to examples/storage/cassandra/image/Dockerfile
diff --git a/examples/cassandra/image/Makefile b/examples/storage/cassandra/image/Makefile
similarity index 100%
rename from examples/cassandra/image/Makefile
rename to examples/storage/cassandra/image/Makefile
diff --git a/examples/cassandra/image/cassandra.list b/examples/storage/cassandra/image/cassandra.list
similarity index 100%
rename from examples/cassandra/image/cassandra.list
rename to examples/storage/cassandra/image/cassandra.list
diff --git a/examples/cassandra/image/cassandra.yaml b/examples/storage/cassandra/image/cassandra.yaml
similarity index 100%
rename from examples/cassandra/image/cassandra.yaml
rename to examples/storage/cassandra/image/cassandra.yaml
diff --git a/examples/cassandra/image/kubernetes-cassandra.jar b/examples/storage/cassandra/image/kubernetes-cassandra.jar
similarity index 100%
rename from examples/cassandra/image/kubernetes-cassandra.jar
rename to examples/storage/cassandra/image/kubernetes-cassandra.jar
diff --git a/examples/cassandra/image/logback.xml b/examples/storage/cassandra/image/logback.xml
similarity index 100%
rename from examples/cassandra/image/logback.xml
rename to examples/storage/cassandra/image/logback.xml
diff --git a/examples/cassandra/image/run.sh b/examples/storage/cassandra/image/run.sh
similarity index 100%
rename from examples/cassandra/image/run.sh
rename to examples/storage/cassandra/image/run.sh
diff --git a/examples/cassandra/java/.gitignore b/examples/storage/cassandra/java/.gitignore
similarity index 100%
rename from examples/cassandra/java/.gitignore
rename to examples/storage/cassandra/java/.gitignore
diff --git a/examples/cassandra/java/README.md b/examples/storage/cassandra/java/README.md
similarity index 92%
rename from examples/cassandra/java/README.md
rename to examples/storage/cassandra/java/README.md
index f35571f7755..a5ea2b02c4b 100644
--- a/examples/cassandra/java/README.md
+++ b/examples/storage/cassandra/java/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/cassandra/java/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -64,5 +59,5 @@ This in affect makes every node a seed provider, which is not a recommended best
-[]()
+[]()
diff --git a/examples/cassandra/java/pom.xml b/examples/storage/cassandra/java/pom.xml
similarity index 100%
rename from examples/cassandra/java/pom.xml
rename to examples/storage/cassandra/java/pom.xml
diff --git a/examples/cassandra/java/src/main/java/io/k8s/cassandra/KubernetesSeedProvider.java b/examples/storage/cassandra/java/src/main/java/io/k8s/cassandra/KubernetesSeedProvider.java
similarity index 100%
rename from examples/cassandra/java/src/main/java/io/k8s/cassandra/KubernetesSeedProvider.java
rename to examples/storage/cassandra/java/src/main/java/io/k8s/cassandra/KubernetesSeedProvider.java
diff --git a/examples/cassandra/java/src/test/java/io/k8s/cassandra/KubernetesSeedProviderTest.java b/examples/storage/cassandra/java/src/test/java/io/k8s/cassandra/KubernetesSeedProviderTest.java
similarity index 100%
rename from examples/cassandra/java/src/test/java/io/k8s/cassandra/KubernetesSeedProviderTest.java
rename to examples/storage/cassandra/java/src/test/java/io/k8s/cassandra/KubernetesSeedProviderTest.java
diff --git a/examples/cassandra/java/src/test/resources/cassandra.yaml b/examples/storage/cassandra/java/src/test/resources/cassandra.yaml
similarity index 100%
rename from examples/cassandra/java/src/test/resources/cassandra.yaml
rename to examples/storage/cassandra/java/src/test/resources/cassandra.yaml
diff --git a/examples/cassandra/java/src/test/resources/logback-test.xml b/examples/storage/cassandra/java/src/test/resources/logback-test.xml
similarity index 100%
rename from examples/cassandra/java/src/test/resources/logback-test.xml
rename to examples/storage/cassandra/java/src/test/resources/logback-test.xml
diff --git a/examples/hazelcast/README.md b/examples/storage/hazelcast/README.md
similarity index 87%
rename from examples/hazelcast/README.md
rename to examples/storage/hazelcast/README.md
index 3c5bcd5cf43..a12bd69756d 100644
--- a/examples/hazelcast/README.md
+++ b/examples/storage/hazelcast/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/hazelcast/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -42,7 +37,7 @@ This document also attempts to describe the core components of Kubernetes: _Pods
### Prerequisites
-This example assumes that you have a Kubernetes cluster installed and running, and that you have installed the `kubectl` command line tool somewhere in your path. Please see the [getting started](../../docs/getting-started-guides/) for installation instructions for your platform.
+This example assumes that you have a Kubernetes cluster installed and running, and that you have installed the `kubectl` command line tool somewhere in your path. Please see the [getting started](../../../docs/getting-started-guides/) for installation instructions for your platform.
### A note for the impatient
@@ -57,14 +52,14 @@ Source is freely available at:
### Simple Single Pod Hazelcast Node
-In Kubernetes, the atomic unit of an application is a [_Pod_](../../docs/user-guide/pods.md). A Pod is one or more containers that _must_ be scheduled onto the same host. All containers in a pod share a network namespace, and may optionally share mounted volumes.
+In Kubernetes, the atomic unit of an application is a [_Pod_](../../../docs/user-guide/pods.md). A Pod is one or more containers that _must_ be scheduled onto the same host. All containers in a pod share a network namespace, and may optionally share mounted volumes.
In this case, we shall not run a single Hazelcast pod, because the discovery mechanism now relies on a service definition.
### Adding a Hazelcast Service
-In Kubernetes a _[Service](../../docs/user-guide/services.md)_ describes a set of Pods that perform the same task. For example, the set of nodes in a Hazelcast cluster. An important use for a Service is to create a load balancer which distributes traffic across members of the set. But a _Service_ can also be used as a standing query which makes a dynamically changing set of Pods available via the Kubernetes API. This is actually how our discovery mechanism works, by relying on the service to discover other Hazelcast pods.
+In Kubernetes a _[Service](../../../docs/user-guide/services.md)_ describes a set of Pods that perform the same task. For example, the set of nodes in a Hazelcast cluster. An important use for a Service is to create a load balancer which distributes traffic across members of the set. But a _Service_ can also be used as a standing query which makes a dynamically changing set of Pods available via the Kubernetes API. This is actually how our discovery mechanism works, by relying on the service to discover other Hazelcast pods.
Here is the service description:
@@ -92,14 +87,14 @@ The important thing to note here is the `selector`. It is a query over labels, t
Create this service as follows:
```sh
-$ kubectl create -f examples/hazelcast/hazelcast-service.yaml
+$ kubectl create -f examples/storage/hazelcast/hazelcast-service.yaml
```
### Adding replicated nodes
The real power of Kubernetes and Hazelcast lies in easily building a replicated, resizable Hazelcast cluster.
-In Kubernetes a _[Replication Controller](../../docs/user-guide/replication-controller.md)_ is responsible for replicating sets of identical pods. Like a _Service_ it has a selector query which identifies the members of it's set. Unlike a _Service_ it also has a desired number of replicas, and it will create or delete _Pods_ to ensure that the number of _Pods_ matches up with it's desired state.
+In Kubernetes a _[Replication Controller](../../../docs/user-guide/replication-controller.md)_ is responsible for replicating sets of identical pods. Like a _Service_ it has a selector query which identifies the members of it's set. Unlike a _Service_ it also has a desired number of replicas, and it will create or delete _Pods_ to ensure that the number of _Pods_ matches up with it's desired state.
Replication Controllers will "adopt" existing pods that match their selector query, so let's create a Replication Controller with a single replica to adopt our existing Hazelcast Pod.
@@ -153,7 +148,7 @@ Last but not least, we set `DNS_DOMAIN` environment variable according to your K
Create this controller:
```sh
-$ kubectl create -f examples/hazelcast/hazelcast-controller.yaml
+$ kubectl create -f examples/storage/hazelcast/hazelcast-controller.yaml
```
After the controller provisions successfully the pod, you can query the service endpoints:
@@ -264,10 +259,10 @@ For those of you who are impatient, here is the summary of the commands we ran i
```sh
# create a service to track all hazelcast nodes
-kubectl create -f examples/hazelcast/hazelcast-service.yaml
+kubectl create -f examples/storage/hazelcast/hazelcast-service.yaml
# create a replication controller to replicate hazelcast nodes
-kubectl create -f examples/hazelcast/hazelcast-controller.yaml
+kubectl create -f examples/storage/hazelcast/hazelcast-controller.yaml
# scale up to 2 nodes
kubectl scale rc hazelcast --replicas=2
@@ -282,5 +277,5 @@ See [here](https://github.com/pires/hazelcast-kubernetes-bootstrapper/blob/maste
-[]()
+[]()
diff --git a/examples/hazelcast/hazelcast-controller.yaml b/examples/storage/hazelcast/hazelcast-controller.yaml
similarity index 100%
rename from examples/hazelcast/hazelcast-controller.yaml
rename to examples/storage/hazelcast/hazelcast-controller.yaml
diff --git a/examples/hazelcast/hazelcast-service.yaml b/examples/storage/hazelcast/hazelcast-service.yaml
similarity index 100%
rename from examples/hazelcast/hazelcast-service.yaml
rename to examples/storage/hazelcast/hazelcast-service.yaml
diff --git a/examples/hazelcast/image/Dockerfile b/examples/storage/hazelcast/image/Dockerfile
similarity index 100%
rename from examples/hazelcast/image/Dockerfile
rename to examples/storage/hazelcast/image/Dockerfile
diff --git a/examples/mysql-galera/README.md b/examples/storage/mysql-galera/README.md
similarity index 91%
rename from examples/mysql-galera/README.md
rename to examples/storage/mysql-galera/README.md
index 6ad7b92ba6f..eadbea5088c 100644
--- a/examples/mysql-galera/README.md
+++ b/examples/storage/mysql-galera/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/mysql-galera/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -38,7 +33,7 @@ This document explains a simple demonstration example of running MySQL synchrono
### Prerequisites
-This example assumes that you have a Kubernetes cluster installed and running, and that you have installed the ```kubectl``` command line tool somewhere in your path. Please see the [getting started](../../docs/getting-started-guides/) for installation instructions for your platform.
+This example assumes that you have a Kubernetes cluster installed and running, and that you have installed the ```kubectl``` command line tool somewhere in your path. Please see the [getting started](../../../docs/getting-started-guides/) for installation instructions for your platform.
Also, this example requires the image found in the ```image``` directory. For your convenience, it is built and available on Docker's public image repository as ```capttofu/percona_xtradb_cluster_5_6```. It can also be built which would merely require that the image in the pod or replication controller files is updated.
@@ -56,11 +51,11 @@ Note: Kubernetes best-practices is to pre-create the services for each controlle
First, create the overall cluster service that will be used to connect to the cluster:
-```kubectl create -f examples/mysql-galera/pxc-cluster-service.yaml```
+```kubectl create -f examples/storage/mysql-galera/pxc-cluster-service.yaml```
Create the service and replication controller for the first node:
-```kubectl create -f examples/mysql-galera/pxc-node1.yaml```
+```kubectl create -f examples/storage/mysql-galera/pxc-node1.yaml```
### Create services and controllers for the remaining nodes
@@ -71,21 +66,21 @@ When complete, you should be able connect with a mysql client to the IP address
### An example of creating a cluster
-Shown below are examples of Using ```kubectl``` from within the ```./examples/mysql-galera``` directory, the status of the lauched replication controllers and services can be confirmed
+Shown below are examples of Using ```kubectl``` from within the ```./examples/storage/mysql-galera``` directory, the status of the lauched replication controllers and services can be confirmed
```
-$ kubectl create -f examples/mysql-galera/pxc-cluster-service.yaml
+$ kubectl create -f examples/storage/mysql-galera/pxc-cluster-service.yaml
services/pxc-cluster
-$ kubectl create -f examples/mysql-galera/pxc-node1.yaml
+$ kubectl create -f examples/storage/mysql-galera/pxc-node1.yaml
services/pxc-node1
replicationcontrollers/pxc-node1
-$ kubectl create -f examples/mysql-galera/pxc-node2.yaml
+$ kubectl create -f examples/storage/mysql-galera/pxc-node2.yaml
services/pxc-node2
replicationcontrollers/pxc-node2
-$ kubectl create -f examples/mysql-galera/pxc-node3.yaml
+$ kubectl create -f examples/storage/mysql-galera/pxc-node3.yaml
services/pxc-node3
replicationcontrollers/pxc-node3
@@ -167,5 +162,5 @@ This setup certainly can become more fluid and dynamic. One idea is to perhaps u
-[]()
+[]()
diff --git a/examples/mysql-galera/image/Dockerfile b/examples/storage/mysql-galera/image/Dockerfile
similarity index 100%
rename from examples/mysql-galera/image/Dockerfile
rename to examples/storage/mysql-galera/image/Dockerfile
diff --git a/examples/mysql-galera/image/cluster.cnf b/examples/storage/mysql-galera/image/cluster.cnf
similarity index 100%
rename from examples/mysql-galera/image/cluster.cnf
rename to examples/storage/mysql-galera/image/cluster.cnf
diff --git a/examples/mysql-galera/image/docker-entrypoint.sh b/examples/storage/mysql-galera/image/docker-entrypoint.sh
similarity index 100%
rename from examples/mysql-galera/image/docker-entrypoint.sh
rename to examples/storage/mysql-galera/image/docker-entrypoint.sh
diff --git a/examples/mysql-galera/image/my.cnf b/examples/storage/mysql-galera/image/my.cnf
similarity index 100%
rename from examples/mysql-galera/image/my.cnf
rename to examples/storage/mysql-galera/image/my.cnf
diff --git a/examples/mysql-galera/pxc-cluster-service.yaml b/examples/storage/mysql-galera/pxc-cluster-service.yaml
similarity index 100%
rename from examples/mysql-galera/pxc-cluster-service.yaml
rename to examples/storage/mysql-galera/pxc-cluster-service.yaml
diff --git a/examples/mysql-galera/pxc-node1.yaml b/examples/storage/mysql-galera/pxc-node1.yaml
similarity index 100%
rename from examples/mysql-galera/pxc-node1.yaml
rename to examples/storage/mysql-galera/pxc-node1.yaml
diff --git a/examples/mysql-galera/pxc-node2.yaml b/examples/storage/mysql-galera/pxc-node2.yaml
similarity index 100%
rename from examples/mysql-galera/pxc-node2.yaml
rename to examples/storage/mysql-galera/pxc-node2.yaml
diff --git a/examples/mysql-galera/pxc-node3.yaml b/examples/storage/mysql-galera/pxc-node3.yaml
similarity index 100%
rename from examples/mysql-galera/pxc-node3.yaml
rename to examples/storage/mysql-galera/pxc-node3.yaml
diff --git a/examples/redis/README.md b/examples/storage/redis/README.md
similarity index 77%
rename from examples/redis/README.md
rename to examples/storage/redis/README.md
index 7996e8a1d84..c030887ecc6 100644
--- a/examples/redis/README.md
+++ b/examples/storage/redis/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/redis/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -38,7 +33,7 @@ The following document describes the deployment of a reliable, multi-node Redis
### Prerequisites
-This example assumes that you have a Kubernetes cluster installed and running, and that you have installed the ```kubectl``` command line tool somewhere in your path. Please see the [getting started](../../docs/getting-started-guides/) for installation instructions for your platform.
+This example assumes that you have a Kubernetes cluster installed and running, and that you have installed the ```kubectl``` command line tool somewhere in your path. Please see the [getting started](../../../docs/getting-started-guides/) for installation instructions for your platform.
### A note for the impatient
@@ -46,7 +41,7 @@ This is a somewhat long tutorial. If you want to jump straight to the "do it no
### Turning up an initial master/sentinel pod.
-A [_Pod_](../../docs/user-guide/pods.md) is one or more containers that _must_ be scheduled onto the same host. All containers in a pod share a network namespace, and may optionally share mounted volumes.
+A [_Pod_](../../../docs/user-guide/pods.md) is one or more containers that _must_ be scheduled onto the same host. All containers in a pod share a network namespace, and may optionally share mounted volumes.
We will used the shared network namespace to bootstrap our Redis cluster. In particular, the very first sentinel needs to know how to find the master (subsequent sentinels just ask the first sentinel). Because all containers in a Pod share a network namespace, the sentinel can simply look at ```$(hostname -i):6379```.
@@ -56,12 +51,12 @@ Here is the config for the initial master and sentinel pod: [redis-master.yaml](
Create this master as follows:
```sh
-kubectl create -f examples/redis/redis-master.yaml
+kubectl create -f examples/storage/redis/redis-master.yaml
```
### Turning up a sentinel service
-In Kubernetes a [_Service_](../../docs/user-guide/services.md) describes a set of Pods that perform the same task. For example, the set of nodes in a Cassandra cluster, or even the single node we created above. An important use for a Service is to create a load balancer which distributes traffic across members of the set. But a _Service_ can also be used as a standing query which makes a dynamically changing set of Pods (or the single Pod we've already created) available via the Kubernetes API.
+In Kubernetes a [_Service_](../../../docs/user-guide/services.md) describes a set of Pods that perform the same task. For example, the set of nodes in a Cassandra cluster, or even the single node we created above. An important use for a Service is to create a load balancer which distributes traffic across members of the set. But a _Service_ can also be used as a standing query which makes a dynamically changing set of Pods (or the single Pod we've already created) available via the Kubernetes API.
In Redis, we will use a Kubernetes Service to provide a discoverable endpoints for the Redis sentinels in the cluster. From the sentinels Redis clients can find the master, and then the slaves and other relevant info for the cluster. This enables new members to join the cluster when failures occur.
@@ -70,14 +65,14 @@ Here is the definition of the sentinel service: [redis-sentinel-service.yaml](re
Create this service:
```sh
-kubectl create -f examples/redis/redis-sentinel-service.yaml
+kubectl create -f examples/storage/redis/redis-sentinel-service.yaml
```
### Turning up replicated redis servers
So far, what we have done is pretty manual, and not very fault-tolerant. If the ```redis-master``` pod that we previously created is destroyed for some reason (e.g. a machine dying) our Redis service goes away with it.
-In Kubernetes a [_Replication Controller_](../../docs/user-guide/replication-controller.md) is responsible for replicating sets of identical pods. Like a _Service_ it has a selector query which identifies the members of it's set. Unlike a _Service_ it also has a desired number of replicas, and it will create or delete _Pods_ to ensure that the number of _Pods_ matches up with it's desired state.
+In Kubernetes a [_Replication Controller_](../../../docs/user-guide/replication-controller.md) is responsible for replicating sets of identical pods. Like a _Service_ it has a selector query which identifies the members of it's set. Unlike a _Service_ it also has a desired number of replicas, and it will create or delete _Pods_ to ensure that the number of _Pods_ matches up with it's desired state.
Replication Controllers will "adopt" existing pods that match their selector query, so let's create a Replication Controller with a single replica to adopt our existing Redis server. Here is the replication controller config: [redis-controller.yaml](redis-controller.yaml)
@@ -86,7 +81,7 @@ The bulk of this controller config is actually identical to the redis-master pod
Create this controller:
```sh
-kubectl create -f examples/redis/redis-controller.yaml
+kubectl create -f examples/storage/redis/redis-controller.yaml
```
We'll do the same thing for the sentinel. Here is the controller config: [redis-sentinel-controller.yaml](redis-sentinel-controller.yaml)
@@ -94,7 +89,7 @@ We'll do the same thing for the sentinel. Here is the controller config: [redis
We create it as follows:
```sh
-kubectl create -f examples/redis/redis-sentinel-controller.yaml
+kubectl create -f examples/storage/redis/redis-sentinel-controller.yaml
```
### Scale our replicated pods
@@ -142,16 +137,16 @@ For those of you who are impatient, here is the summary of commands we ran in th
```
# Create a bootstrap master
-kubectl create -f examples/redis/redis-master.yaml
+kubectl create -f examples/storage/redis/redis-master.yaml
# Create a service to track the sentinels
-kubectl create -f examples/redis/redis-sentinel-service.yaml
+kubectl create -f examples/storage/redis/redis-sentinel-service.yaml
# Create a replication controller for redis servers
-kubectl create -f examples/redis/redis-controller.yaml
+kubectl create -f examples/storage/redis/redis-controller.yaml
# Create a replication controller for redis sentinels
-kubectl create -f examples/redis/redis-sentinel-controller.yaml
+kubectl create -f examples/storage/redis/redis-sentinel-controller.yaml
# Scale both replication controllers
kubectl scale rc redis --replicas=3
@@ -163,5 +158,5 @@ kubectl delete pods redis-master
-[]()
+[]()
diff --git a/examples/redis/image/Dockerfile b/examples/storage/redis/image/Dockerfile
similarity index 100%
rename from examples/redis/image/Dockerfile
rename to examples/storage/redis/image/Dockerfile
diff --git a/examples/redis/image/redis-master.conf b/examples/storage/redis/image/redis-master.conf
similarity index 100%
rename from examples/redis/image/redis-master.conf
rename to examples/storage/redis/image/redis-master.conf
diff --git a/examples/redis/image/redis-slave.conf b/examples/storage/redis/image/redis-slave.conf
similarity index 100%
rename from examples/redis/image/redis-slave.conf
rename to examples/storage/redis/image/redis-slave.conf
diff --git a/examples/redis/image/run.sh b/examples/storage/redis/image/run.sh
similarity index 100%
rename from examples/redis/image/run.sh
rename to examples/storage/redis/image/run.sh
diff --git a/examples/redis/redis-controller.yaml b/examples/storage/redis/redis-controller.yaml
similarity index 100%
rename from examples/redis/redis-controller.yaml
rename to examples/storage/redis/redis-controller.yaml
diff --git a/examples/redis/redis-master.yaml b/examples/storage/redis/redis-master.yaml
similarity index 100%
rename from examples/redis/redis-master.yaml
rename to examples/storage/redis/redis-master.yaml
diff --git a/examples/redis/redis-proxy.yaml b/examples/storage/redis/redis-proxy.yaml
similarity index 100%
rename from examples/redis/redis-proxy.yaml
rename to examples/storage/redis/redis-proxy.yaml
diff --git a/examples/redis/redis-sentinel-controller.yaml b/examples/storage/redis/redis-sentinel-controller.yaml
similarity index 100%
rename from examples/redis/redis-sentinel-controller.yaml
rename to examples/storage/redis/redis-sentinel-controller.yaml
diff --git a/examples/redis/redis-sentinel-service.yaml b/examples/storage/redis/redis-sentinel-service.yaml
similarity index 100%
rename from examples/redis/redis-sentinel-service.yaml
rename to examples/storage/redis/redis-sentinel-service.yaml
diff --git a/examples/rethinkdb/README.md b/examples/storage/rethinkdb/README.md
similarity index 90%
rename from examples/rethinkdb/README.md
rename to examples/storage/rethinkdb/README.md
index 80317de4cfc..11b415103a1 100644
--- a/examples/rethinkdb/README.md
+++ b/examples/storage/rethinkdb/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/rethinkdb/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -50,7 +45,7 @@ Rethinkdb will discover its peer using endpoints provided by kubernetes service,
so first create a service so the following pod can query its endpoint
```sh
-$kubectl create -f examples/rethinkdb/driver-service.yaml
+$kubectl create -f examples/storage/rethinkdb/driver-service.yaml
```
check out:
@@ -67,7 +62,7 @@ rethinkdb-driver 10.0.27.114 28015/TCP db=rethinkdb
start the first server in the cluster
```sh
-$kubectl create -f examples/rethinkdb/rc.yaml
+$kubectl create -f examples/storage/rethinkdb/rc.yaml
```
Actually, you can start servers as many as you want at one time, just modify the `replicas` in `rc.ymal`
@@ -110,8 +105,8 @@ Admin
You need a separate pod (labeled as role:admin) to access Web Admin UI
```sh
-kubectl create -f examples/rethinkdb/admin-pod.yaml
-kubectl create -f examples/rethinkdb/admin-service.yaml
+kubectl create -f examples/storage/rethinkdb/admin-pod.yaml
+kubectl create -f examples/storage/rethinkdb/admin-service.yaml
```
find the service
@@ -153,11 +148,11 @@ since the ui is not stateless when playing with Web Admin UI will cause `Connect
**BTW**
* `gen_pod.sh` is using to generate pod templates for my local cluster,
-the generated pods which is using `nodeSelector` to force k8s to schedule containers to my designate nodes, for I need to access persistent data on my host dirs. Note that one needs to label the node before 'nodeSelector' can work, see this [tutorial](../../docs/user-guide/node-selection/)
+the generated pods which is using `nodeSelector` to force k8s to schedule containers to my designate nodes, for I need to access persistent data on my host dirs. Note that one needs to label the node before 'nodeSelector' can work, see this [tutorial](../../../docs/user-guide/node-selection/)
* see [antmanler/rethinkdb-k8s](https://github.com/antmanler/rethinkdb-k8s) for detail
-[]()
+[]()
diff --git a/examples/rethinkdb/admin-pod.yaml b/examples/storage/rethinkdb/admin-pod.yaml
similarity index 100%
rename from examples/rethinkdb/admin-pod.yaml
rename to examples/storage/rethinkdb/admin-pod.yaml
diff --git a/examples/rethinkdb/admin-service.yaml b/examples/storage/rethinkdb/admin-service.yaml
similarity index 100%
rename from examples/rethinkdb/admin-service.yaml
rename to examples/storage/rethinkdb/admin-service.yaml
diff --git a/examples/rethinkdb/driver-service.yaml b/examples/storage/rethinkdb/driver-service.yaml
similarity index 100%
rename from examples/rethinkdb/driver-service.yaml
rename to examples/storage/rethinkdb/driver-service.yaml
diff --git a/examples/rethinkdb/gen-pod.sh b/examples/storage/rethinkdb/gen-pod.sh
similarity index 100%
rename from examples/rethinkdb/gen-pod.sh
rename to examples/storage/rethinkdb/gen-pod.sh
diff --git a/examples/rethinkdb/image/Dockerfile b/examples/storage/rethinkdb/image/Dockerfile
similarity index 100%
rename from examples/rethinkdb/image/Dockerfile
rename to examples/storage/rethinkdb/image/Dockerfile
diff --git a/examples/rethinkdb/image/run.sh b/examples/storage/rethinkdb/image/run.sh
similarity index 100%
rename from examples/rethinkdb/image/run.sh
rename to examples/storage/rethinkdb/image/run.sh
diff --git a/examples/rethinkdb/rc.yaml b/examples/storage/rethinkdb/rc.yaml
similarity index 100%
rename from examples/rethinkdb/rc.yaml
rename to examples/storage/rethinkdb/rc.yaml
diff --git a/examples/vitess/README.md b/examples/storage/vitess/README.md
similarity index 91%
rename from examples/vitess/README.md
rename to examples/storage/vitess/README.md
index 59316df5542..d9051f0b126 100644
--- a/examples/vitess/README.md
+++ b/examples/storage/vitess/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/vitess/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -42,7 +37,7 @@ Kubernetes as simple as launching more pods.
The example brings up a database with 2 shards, and then runs a pool of
[sharded guestbook](https://github.com/youtube/vitess/tree/master/examples/kubernetes/guestbook)
pods. The guestbook app was ported from the original
-[guestbook](../../examples/guestbook-go/)
+[guestbook](../../../examples/guestbook-go/)
example found elsewhere in this tree, modified to use Vitess as the backend.
For a more detailed, step-by-step explanation of this example setup, see the
@@ -54,17 +49,17 @@ You'll need to install [Go 1.4+](https://golang.org/doc/install) to build
`vtctlclient`, the command-line admin tool for Vitess.
We also assume you have a running Kubernetes cluster with `kubectl` pointing to
-it by default. See the [Getting Started guides](../../docs/getting-started-guides/)
+it by default. See the [Getting Started guides](../../../docs/getting-started-guides/)
for how to get to that point. Note that your Kubernetes cluster needs to have
enough resources (CPU+RAM) to schedule all the pods. By default, this example
requires a cluster-wide total of at least 6 virtual CPUs and 10GiB RAM. You can
tune these requirements in the
-[resource limits](../../docs/user-guide/compute-resources.md)
+[resource limits](../../../docs/user-guide/compute-resources.md)
section of each YAML file.
Lastly, you need to open ports 30000-30001 (for the Vitess admin daemon) and 80 (for
the guestbook app) in your firewall. See the
-[Services and Firewalls](../../docs/user-guide/services-firewalls.md)
+[Services and Firewalls](../../../docs/user-guide/services-firewalls.md)
guide for examples of how to do that.
### Configure site-local settings
@@ -143,5 +138,5 @@ You may also want to remove any firewall rules you created.
-[]()
+[]()
diff --git a/examples/vitess/configure.sh b/examples/storage/vitess/configure.sh
similarity index 100%
rename from examples/vitess/configure.sh
rename to examples/storage/vitess/configure.sh
diff --git a/examples/vitess/create_test_table.sql b/examples/storage/vitess/create_test_table.sql
similarity index 100%
rename from examples/vitess/create_test_table.sql
rename to examples/storage/vitess/create_test_table.sql
diff --git a/examples/vitess/env.sh b/examples/storage/vitess/env.sh
similarity index 100%
rename from examples/vitess/env.sh
rename to examples/storage/vitess/env.sh
diff --git a/examples/vitess/etcd-controller-template.yaml b/examples/storage/vitess/etcd-controller-template.yaml
similarity index 100%
rename from examples/vitess/etcd-controller-template.yaml
rename to examples/storage/vitess/etcd-controller-template.yaml
diff --git a/examples/vitess/etcd-down.sh b/examples/storage/vitess/etcd-down.sh
similarity index 100%
rename from examples/vitess/etcd-down.sh
rename to examples/storage/vitess/etcd-down.sh
diff --git a/examples/vitess/etcd-service-template.yaml b/examples/storage/vitess/etcd-service-template.yaml
similarity index 100%
rename from examples/vitess/etcd-service-template.yaml
rename to examples/storage/vitess/etcd-service-template.yaml
diff --git a/examples/vitess/etcd-up.sh b/examples/storage/vitess/etcd-up.sh
similarity index 100%
rename from examples/vitess/etcd-up.sh
rename to examples/storage/vitess/etcd-up.sh
diff --git a/examples/vitess/guestbook-controller.yaml b/examples/storage/vitess/guestbook-controller.yaml
similarity index 100%
rename from examples/vitess/guestbook-controller.yaml
rename to examples/storage/vitess/guestbook-controller.yaml
diff --git a/examples/vitess/guestbook-down.sh b/examples/storage/vitess/guestbook-down.sh
similarity index 100%
rename from examples/vitess/guestbook-down.sh
rename to examples/storage/vitess/guestbook-down.sh
diff --git a/examples/vitess/guestbook-service.yaml b/examples/storage/vitess/guestbook-service.yaml
similarity index 100%
rename from examples/vitess/guestbook-service.yaml
rename to examples/storage/vitess/guestbook-service.yaml
diff --git a/examples/vitess/guestbook-up.sh b/examples/storage/vitess/guestbook-up.sh
similarity index 100%
rename from examples/vitess/guestbook-up.sh
rename to examples/storage/vitess/guestbook-up.sh
diff --git a/examples/vitess/vitess-down.sh b/examples/storage/vitess/vitess-down.sh
similarity index 100%
rename from examples/vitess/vitess-down.sh
rename to examples/storage/vitess/vitess-down.sh
diff --git a/examples/vitess/vitess-up.sh b/examples/storage/vitess/vitess-up.sh
similarity index 100%
rename from examples/vitess/vitess-up.sh
rename to examples/storage/vitess/vitess-up.sh
diff --git a/examples/vitess/vtctld-controller-template.yaml b/examples/storage/vitess/vtctld-controller-template.yaml
similarity index 100%
rename from examples/vitess/vtctld-controller-template.yaml
rename to examples/storage/vitess/vtctld-controller-template.yaml
diff --git a/examples/vitess/vtctld-down.sh b/examples/storage/vitess/vtctld-down.sh
similarity index 100%
rename from examples/vitess/vtctld-down.sh
rename to examples/storage/vitess/vtctld-down.sh
diff --git a/examples/vitess/vtctld-service.yaml b/examples/storage/vitess/vtctld-service.yaml
similarity index 100%
rename from examples/vitess/vtctld-service.yaml
rename to examples/storage/vitess/vtctld-service.yaml
diff --git a/examples/vitess/vtctld-up.sh b/examples/storage/vitess/vtctld-up.sh
similarity index 100%
rename from examples/vitess/vtctld-up.sh
rename to examples/storage/vitess/vtctld-up.sh
diff --git a/examples/vitess/vtgate-controller-template.yaml b/examples/storage/vitess/vtgate-controller-template.yaml
similarity index 100%
rename from examples/vitess/vtgate-controller-template.yaml
rename to examples/storage/vitess/vtgate-controller-template.yaml
diff --git a/examples/vitess/vtgate-down.sh b/examples/storage/vitess/vtgate-down.sh
similarity index 100%
rename from examples/vitess/vtgate-down.sh
rename to examples/storage/vitess/vtgate-down.sh
diff --git a/examples/vitess/vtgate-service.yaml b/examples/storage/vitess/vtgate-service.yaml
similarity index 100%
rename from examples/vitess/vtgate-service.yaml
rename to examples/storage/vitess/vtgate-service.yaml
diff --git a/examples/vitess/vtgate-up.sh b/examples/storage/vitess/vtgate-up.sh
similarity index 100%
rename from examples/vitess/vtgate-up.sh
rename to examples/storage/vitess/vtgate-up.sh
diff --git a/examples/vitess/vttablet-down.sh b/examples/storage/vitess/vttablet-down.sh
similarity index 100%
rename from examples/vitess/vttablet-down.sh
rename to examples/storage/vitess/vttablet-down.sh
diff --git a/examples/vitess/vttablet-pod-template.yaml b/examples/storage/vitess/vttablet-pod-template.yaml
similarity index 100%
rename from examples/vitess/vttablet-pod-template.yaml
rename to examples/storage/vitess/vttablet-pod-template.yaml
diff --git a/examples/vitess/vttablet-up.sh b/examples/storage/vitess/vttablet-up.sh
similarity index 100%
rename from examples/vitess/vttablet-up.sh
rename to examples/storage/vitess/vttablet-up.sh
diff --git a/examples/aws_ebs/README.md b/examples/volumes/aws_ebs/README.md
similarity index 86%
rename from examples/aws_ebs/README.md
rename to examples/volumes/aws_ebs/README.md
index 970c5f04317..bd3123cb360 100644
--- a/examples/aws_ebs/README.md
+++ b/examples/volumes/aws_ebs/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/aws_ebs/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -48,7 +43,7 @@ Create a volume in the same region as your node.
Add your volume information in the pod description file aws-ebs-web.yaml then create the pod:
```shell
- $ kubectl create -f examples/aws_ebs/aws-ebs-web.yaml
+ $ kubectl create -f examples/volumes/aws_ebs/aws-ebs-web.yaml
```
Add some data to the volume if is empty:
@@ -66,5 +61,5 @@ You should now be able to query your web server:
-[]()
+[]()
diff --git a/examples/aws_ebs/aws-ebs-web.yaml b/examples/volumes/aws_ebs/aws-ebs-web.yaml
similarity index 100%
rename from examples/aws_ebs/aws-ebs-web.yaml
rename to examples/volumes/aws_ebs/aws-ebs-web.yaml
diff --git a/examples/azure_file/README.md b/examples/volumes/azure_file/README.md
similarity index 85%
rename from examples/azure_file/README.md
rename to examples/volumes/azure_file/README.md
index 9b891bb466f..f6b9bc71a6b 100644
--- a/examples/azure_file/README.md
+++ b/examples/volumes/azure_file/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/azure_file/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -53,7 +48,7 @@ In the pod, you need to provide the following information:
Create the secret:
```console
- # kubectl create -f examples/azure_file/secret/azure-secret.yaml
+ # kubectl create -f examples/volumes/azure_file/secret/azure-secret.yaml
```
You should see the account name and key from `kubectl get secret`
@@ -61,9 +56,9 @@ You should see the account name and key from `kubectl get secret`
Then create the Pod:
```console
- # kubectl create -f examples/azure_file/azure.yaml
+ # kubectl create -f examples/volumes/azure_file/azure.yaml
```
-[]()
+[]()
diff --git a/examples/azure_file/azure.yaml b/examples/volumes/azure_file/azure.yaml
similarity index 100%
rename from examples/azure_file/azure.yaml
rename to examples/volumes/azure_file/azure.yaml
diff --git a/examples/azure_file/secret/azure-secret.yaml b/examples/volumes/azure_file/secret/azure-secret.yaml
similarity index 100%
rename from examples/azure_file/secret/azure-secret.yaml
rename to examples/volumes/azure_file/secret/azure-secret.yaml
diff --git a/examples/cephfs/README.md b/examples/volumes/cephfs/README.md
similarity index 85%
rename from examples/cephfs/README.md
rename to examples/volumes/cephfs/README.md
index 24dd017f99d..f070bd7d900 100644
--- a/examples/cephfs/README.md
+++ b/examples/volumes/cephfs/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/cephfs/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -55,12 +50,12 @@ Once you have installed Ceph and a Kubernetes cluster, you can create a pod base
Here are the commands:
```console
- # kubectl create -f examples/cephfs/cephfs.yaml
+ # kubectl create -f examples/volumes/cephfs/cephfs.yaml
# create a secret if you want to use Ceph secret instead of secret file
- # kubectl create -f examples/cephfs/secret/ceph-secret.yaml
+ # kubectl create -f examples/volumes/cephfs/secret/ceph-secret.yaml
- # kubectl create -f examples/cephfs/cephfs-with-secret.yaml
+ # kubectl create -f examples/volumes/cephfs/cephfs-with-secret.yaml
# kubectl get pods
```
@@ -68,5 +63,5 @@ Here are the commands:
-[]()
+[]()
diff --git a/examples/cephfs/cephfs-with-secret.yaml b/examples/volumes/cephfs/cephfs-with-secret.yaml
similarity index 100%
rename from examples/cephfs/cephfs-with-secret.yaml
rename to examples/volumes/cephfs/cephfs-with-secret.yaml
diff --git a/examples/cephfs/cephfs.yaml b/examples/volumes/cephfs/cephfs.yaml
similarity index 100%
rename from examples/cephfs/cephfs.yaml
rename to examples/volumes/cephfs/cephfs.yaml
diff --git a/examples/cephfs/secret/ceph-secret.yaml b/examples/volumes/cephfs/secret/ceph-secret.yaml
similarity index 100%
rename from examples/cephfs/secret/ceph-secret.yaml
rename to examples/volumes/cephfs/secret/ceph-secret.yaml
diff --git a/examples/fibre_channel/README.md b/examples/volumes/fibre_channel/README.md
similarity index 91%
rename from examples/fibre_channel/README.md
rename to examples/volumes/fibre_channel/README.md
index e76063a9401..aeec67f31bc 100644
--- a/examples/fibre_channel/README.md
+++ b/examples/volumes/fibre_channel/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/fibre_channel/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -49,7 +44,7 @@ kubectl create -f ./your_new_pod.json
Here is my command and output:
```console
-# kubectl create -f examples/fibre_channel/fc.yaml
+# kubectl create -f examples/volumes/fibre_channel/fc.yaml
# kubectl get pods
NAME READY STATUS RESTARTS AGE
fcpd 2/2 Running 0 10m
@@ -74,5 +69,5 @@ CONTAINER ID IMAGE COMMAND C
```
-[]()
+[]()
diff --git a/examples/fibre_channel/fc.yaml b/examples/volumes/fibre_channel/fc.yaml
similarity index 100%
rename from examples/fibre_channel/fc.yaml
rename to examples/volumes/fibre_channel/fc.yaml
diff --git a/examples/flexvolume/README.md b/examples/volumes/flexvolume/README.md
similarity index 92%
rename from examples/flexvolume/README.md
rename to examples/volumes/flexvolume/README.md
index 7b3b2fb7025..9998494f72b 100644
--- a/examples/flexvolume/README.md
+++ b/examples/volumes/flexvolume/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/flexvolume/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -114,5 +109,5 @@ In addition to the flags specified by the user in the Options field of the FlexV
See [nginx.yaml](nginx.yaml) for a quick example on how to use Flexvolume in a pod.
-[]()
+[]()
diff --git a/examples/flexvolume/lvm b/examples/volumes/flexvolume/lvm
similarity index 100%
rename from examples/flexvolume/lvm
rename to examples/volumes/flexvolume/lvm
diff --git a/examples/flexvolume/nginx.yaml b/examples/volumes/flexvolume/nginx.yaml
similarity index 100%
rename from examples/flexvolume/nginx.yaml
rename to examples/volumes/flexvolume/nginx.yaml
diff --git a/examples/flocker/README.md b/examples/volumes/flocker/README.md
similarity index 96%
rename from examples/flocker/README.md
rename to examples/volumes/flocker/README.md
index 5104864834c..7361351e0d1 100644
--- a/examples/flocker/README.md
+++ b/examples/volumes/flocker/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/flocker/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -101,7 +96,7 @@ The following *volume* spec from the [example pod](flocker-pod.yml) illustrates
Use `kubetctl` to create the pod.
```sh
-$ kubectl create -f examples/flocker/flocker-pod.yml
+$ kubectl create -f examples/volumes/flocker/flocker-pod.yml
```
You should now verify that the pod is running and determine it's IP address:
@@ -145,5 +140,5 @@ Read more about the [Flocker Cluster Architecture](https://docs.clusterhq.com/en
To see a demo example of using Kubernetes and Flocker, visit [Flocker's blog post on High Availability with Kubernetes and Flocker](https://clusterhq.com/2015/12/22/ha-demo-kubernetes-flocker/)
-[]()
+[]()
diff --git a/examples/flocker/flocker-pod-with-rc.yml b/examples/volumes/flocker/flocker-pod-with-rc.yml
similarity index 100%
rename from examples/flocker/flocker-pod-with-rc.yml
rename to examples/volumes/flocker/flocker-pod-with-rc.yml
diff --git a/examples/flocker/flocker-pod.yml b/examples/volumes/flocker/flocker-pod.yml
similarity index 100%
rename from examples/flocker/flocker-pod.yml
rename to examples/volumes/flocker/flocker-pod.yml
diff --git a/examples/glusterfs/README.md b/examples/volumes/glusterfs/README.md
similarity index 90%
rename from examples/glusterfs/README.md
rename to examples/volumes/glusterfs/README.md
index 8f3937f3ce7..2cdc5b1f0b7 100644
--- a/examples/glusterfs/README.md
+++ b/examples/volumes/glusterfs/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/glusterfs/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -65,7 +60,7 @@ The "IP" field should be filled with the address of a node in the Glusterfs serv
Create the endpoints,
```sh
-$ kubectl create -f examples/glusterfs/glusterfs-endpoints.json
+$ kubectl create -f examples/volumes/glusterfs/glusterfs-endpoints.json
```
You can verify that the endpoints are successfully created by running
@@ -81,7 +76,7 @@ We need also create a service for this endpoints, so that the endpoints will be
Use this command to create the service:
```sh
-$ kubectl create -f examples/glusterfs/glusterfs-service.json
+$ kubectl create -f examples/volumes/glusterfs/glusterfs-service.json
```
@@ -109,7 +104,7 @@ The parameters are explained as the followings.
Create a pod that has a container using Glusterfs volume,
```sh
-$ kubectl create -f examples/glusterfs/glusterfs-pod.json
+$ kubectl create -f examples/volumes/glusterfs/glusterfs-pod.json
```
You can verify that the pod is running:
@@ -134,5 +129,5 @@ You may also run `docker ps` on the host to see the actual container.
-[]()
+[]()
diff --git a/examples/glusterfs/glusterfs-endpoints.json b/examples/volumes/glusterfs/glusterfs-endpoints.json
similarity index 100%
rename from examples/glusterfs/glusterfs-endpoints.json
rename to examples/volumes/glusterfs/glusterfs-endpoints.json
diff --git a/examples/glusterfs/glusterfs-pod.json b/examples/volumes/glusterfs/glusterfs-pod.json
similarity index 100%
rename from examples/glusterfs/glusterfs-pod.json
rename to examples/volumes/glusterfs/glusterfs-pod.json
diff --git a/examples/glusterfs/glusterfs-service.json b/examples/volumes/glusterfs/glusterfs-service.json
similarity index 100%
rename from examples/glusterfs/glusterfs-service.json
rename to examples/volumes/glusterfs/glusterfs-service.json
diff --git a/examples/iscsi/README.md b/examples/volumes/iscsi/README.md
similarity index 95%
rename from examples/iscsi/README.md
rename to examples/volumes/iscsi/README.md
index 25a734f12ba..f08686257b5 100644
--- a/examples/iscsi/README.md
+++ b/examples/volumes/iscsi/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/iscsi/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -70,7 +65,7 @@ kubectl create -f ./your_new_pod.yaml
Here is the example pod created and expected output:
```console
-# kubectl create -f examples/iscsi/iscsi.yaml
+# kubectl create -f examples/volumes/iscsi/iscsi.yaml
# kubectl get pods
NAME READY STATUS RESTARTS AGE
iscsipd 2/2 RUNNING 0 2m
@@ -120,5 +115,5 @@ Run *docker inspect* and verify the container mounted the host directory into th
-[]()
+[]()
diff --git a/examples/iscsi/iscsi.yaml b/examples/volumes/iscsi/iscsi.yaml
similarity index 100%
rename from examples/iscsi/iscsi.yaml
rename to examples/volumes/iscsi/iscsi.yaml
diff --git a/examples/nfs/README.md b/examples/volumes/nfs/README.md
similarity index 84%
rename from examples/nfs/README.md
rename to examples/volumes/nfs/README.md
index a1fa2a84556..8fa22fdcc8e 100644
--- a/examples/nfs/README.md
+++ b/examples/volumes/nfs/README.md
@@ -21,7 +21,7 @@ refer to the docs that go with that version.
The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.2/examples/nfs/README.md).
+[here](http://releases.k8s.io/release-1.2/examples/volumes/nfs/README.md).
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -58,16 +58,16 @@ Note, this example uses an NFS container that doesn't support NFSv4.
## tl;dr Quickstart
```console
-$ kubectl create -f examples/nfs/provisioner/nfs-server-gce-pv.yaml
-$ kubectl create -f examples/nfs/nfs-server-rc.yaml
-$ kubectl create -f examples/nfs/nfs-server-service.yaml
+$ kubectl create -f examples/volumes/nfs/provisioner/nfs-server-gce-pv.yaml
+$ kubectl create -f examples/volumes/nfs/nfs-server-rc.yaml
+$ kubectl create -f examples/volumes/nfs/nfs-server-service.yaml
# get the cluster IP of the server using the following command
$ kubectl describe services nfs-server
# use the NFS server IP to update nfs-pv.yaml and execute the following
-$ kubectl create -f examples/nfs/nfs-pv.yaml
-$ kubectl create -f examples/nfs/nfs-pvc.yaml
+$ kubectl create -f examples/volumes/nfs/nfs-pv.yaml
+$ kubectl create -f examples/volumes/nfs/nfs-pvc.yaml
# run a fake backend
-$ kubectl create -f examples/nfs/nfs-busybox-rc.yaml
+$ kubectl create -f examples/volumes/nfs/nfs-busybox-rc.yaml
# get pod name from this command
$ kubectl get pod -l name=nfs-busybox
# use the pod name to check the test file
@@ -94,12 +94,12 @@ Define [the NFS Service and Replication Controller](nfs-server-rc.yaml) and
The NFS server exports an an auto-provisioned persistent volume backed by GCE PD:
```console
-$ kubectl create -f examples/nfs/provisioner/nfs-server-gce-pv.yaml
+$ kubectl create -f examples/volumes/nfs/provisioner/nfs-server-gce-pv.yaml
```
```console
-$ kubectl create -f examples/nfs/nfs-server-rc.yaml
-$ kubectl create -f examples/nfs/nfs-server-service.yaml
+$ kubectl create -f examples/volumes/nfs/nfs-server-rc.yaml
+$ kubectl create -f examples/volumes/nfs/nfs-server-service.yaml
```
The directory contains dummy `index.html`. Wait until the pod is running
@@ -119,14 +119,14 @@ Replace the invalid IP in the [nfs PV](nfs-pv.yaml). (In the future,
we'll be able to tie these together using the service names, but for
now, you have to hardcode the IP.)
-Create the the [persistent volume](../../docs/user-guide/persistent-volumes.md)
+Create the the [persistent volume](../../../docs/user-guide/persistent-volumes.md)
and the persistent volume claim for your NFS server. The persistent volume and
claim gives us an indirection that allow multiple pods to refer to the NFS
server using a symbolic name rather than the hardcoded server address.
```console
-$ kubectl create -f examples/nfs/nfs-pv.yaml
-$ kubectl create -f examples/nfs/nfs-pvc.yaml
+$ kubectl create -f examples/volumes/nfs/nfs-pv.yaml
+$ kubectl create -f examples/volumes/nfs/nfs-pvc.yaml
```
## Setup the fake backend
@@ -135,7 +135,7 @@ The [NFS busybox controller](nfs-busybox-rc.yaml) updates `index.html` on the
NFS server every 10 seconds. Let's start that now:
```console
-$ kubectl create -f examples/nfs/nfs-busybox-rc.yaml
+$ kubectl create -f examples/volumes/nfs/nfs-busybox-rc.yaml
```
Conveniently, it's also a `busybox` pod, so we can get an early check
@@ -165,14 +165,14 @@ volume and runs a simple web server on it.
Define the pod:
```console
-$ kubectl create -f examples/nfs/nfs-web-rc.yaml
+$ kubectl create -f examples/volumes/nfs/nfs-web-rc.yaml
```
This creates two pods, each of which serve the `index.html` from above. We can
then use a simple service to front it:
```console
-kubectl create -f examples/nfs/nfs-web-service.yaml
+kubectl create -f examples/volumes/nfs/nfs-web-service.yaml
```
We can then use the busybox container we launched before to check that `nginx`
@@ -200,5 +200,5 @@ nfs-busybox-w3s4t
-[]()
+[]()
diff --git a/examples/nfs/nfs-busybox-rc.yaml b/examples/volumes/nfs/nfs-busybox-rc.yaml
similarity index 100%
rename from examples/nfs/nfs-busybox-rc.yaml
rename to examples/volumes/nfs/nfs-busybox-rc.yaml
diff --git a/examples/nfs/nfs-data/Dockerfile b/examples/volumes/nfs/nfs-data/Dockerfile
similarity index 100%
rename from examples/nfs/nfs-data/Dockerfile
rename to examples/volumes/nfs/nfs-data/Dockerfile
diff --git a/examples/nfs/nfs-data/README.md b/examples/volumes/nfs/nfs-data/README.md
similarity index 84%
rename from examples/nfs/nfs-data/README.md
rename to examples/volumes/nfs/nfs-data/README.md
index a23032af4d7..af110708e5d 100644
--- a/examples/nfs/nfs-data/README.md
+++ b/examples/volumes/nfs/nfs-data/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/nfs/nfs-data/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -43,5 +38,5 @@ Available as `gcr.io/google-samples/nfs-server`
-[]()
+[]()
diff --git a/examples/nfs/nfs-data/index.html b/examples/volumes/nfs/nfs-data/index.html
similarity index 100%
rename from examples/nfs/nfs-data/index.html
rename to examples/volumes/nfs/nfs-data/index.html
diff --git a/examples/nfs/nfs-data/run_nfs.sh b/examples/volumes/nfs/nfs-data/run_nfs.sh
similarity index 100%
rename from examples/nfs/nfs-data/run_nfs.sh
rename to examples/volumes/nfs/nfs-data/run_nfs.sh
diff --git a/examples/nfs/nfs-pv.png b/examples/volumes/nfs/nfs-pv.png
similarity index 100%
rename from examples/nfs/nfs-pv.png
rename to examples/volumes/nfs/nfs-pv.png
diff --git a/examples/nfs/nfs-pv.yaml b/examples/volumes/nfs/nfs-pv.yaml
similarity index 100%
rename from examples/nfs/nfs-pv.yaml
rename to examples/volumes/nfs/nfs-pv.yaml
diff --git a/examples/nfs/nfs-pvc.yaml b/examples/volumes/nfs/nfs-pvc.yaml
similarity index 100%
rename from examples/nfs/nfs-pvc.yaml
rename to examples/volumes/nfs/nfs-pvc.yaml
diff --git a/examples/nfs/nfs-server-rc.yaml b/examples/volumes/nfs/nfs-server-rc.yaml
similarity index 100%
rename from examples/nfs/nfs-server-rc.yaml
rename to examples/volumes/nfs/nfs-server-rc.yaml
diff --git a/examples/nfs/nfs-server-service.yaml b/examples/volumes/nfs/nfs-server-service.yaml
similarity index 100%
rename from examples/nfs/nfs-server-service.yaml
rename to examples/volumes/nfs/nfs-server-service.yaml
diff --git a/examples/nfs/nfs-web-rc.yaml b/examples/volumes/nfs/nfs-web-rc.yaml
similarity index 100%
rename from examples/nfs/nfs-web-rc.yaml
rename to examples/volumes/nfs/nfs-web-rc.yaml
diff --git a/examples/nfs/nfs-web-service.yaml b/examples/volumes/nfs/nfs-web-service.yaml
similarity index 100%
rename from examples/nfs/nfs-web-service.yaml
rename to examples/volumes/nfs/nfs-web-service.yaml
diff --git a/examples/nfs/provisioner/nfs-server-gce-pv.yaml b/examples/volumes/nfs/provisioner/nfs-server-gce-pv.yaml
similarity index 100%
rename from examples/nfs/provisioner/nfs-server-gce-pv.yaml
rename to examples/volumes/nfs/provisioner/nfs-server-gce-pv.yaml
diff --git a/examples/rbd/README.md b/examples/volumes/rbd/README.md
similarity index 90%
rename from examples/rbd/README.md
rename to examples/volumes/rbd/README.md
index ca7cbcc5a6d..5620b3b26aa 100644
--- a/examples/rbd/README.md
+++ b/examples/volumes/rbd/README.md
@@ -18,11 +18,6 @@
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
-
-
-The latest release of this document can be found
-[here](http://releases.k8s.io/release-1.3/examples/rbd/README.md).
-
Documentation for other releases can be found at
[releases.k8s.io](http://releases.k8s.io).
@@ -65,7 +60,7 @@ QVFBTWdYaFZ3QkNlRGhBQTlubFBhRnlmVVNhdEdENGRyRldEdlE9PQ==
An example yaml is provided [here](secret/ceph-secret.yaml). Then post the secret through ```kubectl``` in the following command.
```console
- # kubectl create -f examples/rbd/secret/ceph-secret.yaml
+ # kubectl create -f examples/volumes/rbd/secret/ceph-secret.yaml
```
# Get started
@@ -73,7 +68,7 @@ An example yaml is provided [here](secret/ceph-secret.yaml). Then post the secre
Here are my commands:
```console
- # kubectl create -f examples/rbd/rbd.json
+ # kubectl create -f examples/volumes/rbd/rbd.json
# kubectl get pods
```
@@ -89,5 +84,5 @@ On the Kubernetes host, I got these in mount output
-[]()
+[]()
diff --git a/examples/rbd/rbd-with-secret.json b/examples/volumes/rbd/rbd-with-secret.json
similarity index 100%
rename from examples/rbd/rbd-with-secret.json
rename to examples/volumes/rbd/rbd-with-secret.json
diff --git a/examples/rbd/rbd.json b/examples/volumes/rbd/rbd.json
similarity index 100%
rename from examples/rbd/rbd.json
rename to examples/volumes/rbd/rbd.json
diff --git a/examples/rbd/secret/ceph-secret.yaml b/examples/volumes/rbd/secret/ceph-secret.yaml
similarity index 100%
rename from examples/rbd/secret/ceph-secret.yaml
rename to examples/volumes/rbd/secret/ceph-secret.yaml
diff --git a/hack/test-cmd.sh b/hack/test-cmd.sh
index 623028f2e2f..b51705eaa7d 100755
--- a/hack/test-cmd.sh
+++ b/hack/test-cmd.sh
@@ -565,7 +565,7 @@ runTests() {
kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" ''
# Command
kubectl create -f docs/admin/limitrange/valid-pod.yaml "${kube_flags[@]}"
- kubectl create -f examples/redis/redis-proxy.yaml "${kube_flags[@]}"
+ kubectl create -f examples/storage/redis/redis-proxy.yaml "${kube_flags[@]}"
# Post-condition: valid-pod and redis-proxy PODs are created
kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" 'redis-proxy:valid-pod:'
@@ -2287,8 +2287,8 @@ __EOF__
#####################
kube::log::status "Testing resource aliasing"
- kubectl create -f examples/cassandra/cassandra-controller.yaml "${kube_flags[@]}"
- kubectl create -f examples/cassandra/cassandra-service.yaml "${kube_flags[@]}"
+ kubectl create -f examples/storage/cassandra/cassandra-controller.yaml "${kube_flags[@]}"
+ kubectl create -f examples/storage/cassandra/cassandra-service.yaml "${kube_flags[@]}"
object="all -l'app=cassandra'"
request="{{range.items}}{{range .metadata.labels}}{{.}}:{{end}}{{end}}"
diff --git a/hack/verify-flags/exceptions.txt b/hack/verify-flags/exceptions.txt
index ff5086314f0..7952d992777 100644
--- a/hack/verify-flags/exceptions.txt
+++ b/hack/verify-flags/exceptions.txt
@@ -69,9 +69,9 @@ docs/getting-started-guides/coreos/azure/lib/deployment_logic/kubernetes.js: re
docs/getting-started-guides/coreos/azure/lib/deployment_logic/kubernetes.js: return cloud_config.process_template(input_file, output_file, function(data) {
docs/getting-started-guides/coreos/azure/lib/deployment_logic/kubernetes.js: var write_files_extra = cloud_config.write_files_from('addons', '/etc/kubernetes/addons');
docs/getting-started-guides/coreos/azure/lib/deployment_logic/kubernetes.js:var cloud_config = require('../cloud_config.js');
-examples/cassandra/image/run.sh: cluster_name \
examples/cluster-dns/images/frontend/client.py: service_address = socket.gethostbyname(hostname)
-examples/vitess/env.sh: node_ip=$(get_node_ip)
+examples/storage/cassandra/image/run.sh: cluster_name \
+examples/storage/vitess/env.sh: node_ip=$(get_node_ip)
hack/jenkins/e2e-runner.sh: local -r image_project="$1"
hack/local-up-cluster.sh: runtime_config="--runtime-config=${RUNTIME_CONFIG}"
hack/local-up-cluster.sh: runtime_config=""
diff --git a/pkg/api/v1/generated.proto b/pkg/api/v1/generated.proto
index f2101dfc9ac..060b6cac429 100644
--- a/pkg/api/v1/generated.proto
+++ b/pkg/api/v1/generated.proto
@@ -117,27 +117,27 @@ message Capabilities {
// Cephfs volumes do not support ownership management or SELinux relabeling.
message CephFSVolumeSource {
// Required: Monitors is a collection of Ceph monitors
- // More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
repeated string monitors = 1;
// Optional: Used as the mounted root, rather than the full Ceph tree, default is /
optional string path = 2;
// Optional: User is the rados user name, default is admin
- // More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
optional string user = 3;
// Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
- // More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
optional string secretFile = 4;
// Optional: SecretRef is reference to the authentication secret for User, default is empty.
- // More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
optional LocalObjectReference secretRef = 5;
// Optional: Defaults to false (read/write). ReadOnly here will force
// the ReadOnly setting in VolumeMounts.
- // More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
optional bool readOnly = 6;
}
@@ -844,16 +844,16 @@ message GitRepoVolumeSource {
// Glusterfs volumes do not support ownership management or SELinux relabeling.
message GlusterfsVolumeSource {
// EndpointsName is the endpoint name that details Glusterfs topology.
- // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
optional string endpoints = 1;
// Path is the Glusterfs volume path.
- // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
optional string path = 2;
// ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions.
// Defaults to false.
- // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
optional bool readOnly = 3;
}
@@ -1672,7 +1672,7 @@ message PersistentVolumeSource {
// Glusterfs represents a Glusterfs volume that is attached to a host and
// exposed to the pod. Provisioned by an admin.
- // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md
optional GlusterfsVolumeSource glusterfs = 4;
// NFS represents an NFS mount on the host. Provisioned by an admin.
@@ -1680,7 +1680,7 @@ message PersistentVolumeSource {
optional NFSVolumeSource nfs = 5;
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md
optional RBDVolumeSource rbd = 6;
// ISCSI represents an ISCSI Disk resource that is attached to a
@@ -2261,11 +2261,11 @@ message Probe {
// RBD volumes support ownership management and SELinux relabeling.
message RBDVolumeSource {
// A collection of Ceph monitors.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
repeated string monitors = 1;
// The rados image name.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
optional string image = 2;
// Filesystem type of the volume that you want to mount.
@@ -2277,28 +2277,28 @@ message RBDVolumeSource {
// The rados pool name.
// Default is rbd.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it.
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it.
optional string pool = 4;
// The rados user name.
// Default is admin.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
optional string user = 5;
// Keyring is the path to key ring for RBDUser.
// Default is /etc/ceph/keyring.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
optional string keyring = 6;
// SecretRef is name of the authentication secret for RBDUser. If provided
// overrides keyring.
// Default is nil.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
optional LocalObjectReference secretRef = 7;
// ReadOnly here will force the ReadOnly setting in VolumeMounts.
// Defaults to false.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
optional bool readOnly = 8;
}
@@ -2865,11 +2865,11 @@ message VolumeSource {
// ISCSI represents an ISCSI Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
- // More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md
optional ISCSIVolumeSource iscsi = 8;
// Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
- // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md
optional GlusterfsVolumeSource glusterfs = 9;
// PersistentVolumeClaimVolumeSource represents a reference to a
@@ -2878,7 +2878,7 @@ message VolumeSource {
optional PersistentVolumeClaimVolumeSource persistentVolumeClaim = 10;
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md
optional RBDVolumeSource rbd = 11;
// FlexVolume represents a generic volume resource that is
diff --git a/pkg/api/v1/types.go b/pkg/api/v1/types.go
index 5dc3afceb50..42a0b987925 100644
--- a/pkg/api/v1/types.go
+++ b/pkg/api/v1/types.go
@@ -241,17 +241,17 @@ type VolumeSource struct {
NFS *NFSVolumeSource `json:"nfs,omitempty" protobuf:"bytes,7,opt,name=nfs"`
// ISCSI represents an ISCSI Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
- // More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md
ISCSI *ISCSIVolumeSource `json:"iscsi,omitempty" protobuf:"bytes,8,opt,name=iscsi"`
// Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
- // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md
Glusterfs *GlusterfsVolumeSource `json:"glusterfs,omitempty" protobuf:"bytes,9,opt,name=glusterfs"`
// PersistentVolumeClaimVolumeSource represents a reference to a
// PersistentVolumeClaim in the same namespace.
// More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims
PersistentVolumeClaim *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty" protobuf:"bytes,10,opt,name=persistentVolumeClaim"`
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md
RBD *RBDVolumeSource `json:"rbd,omitempty" protobuf:"bytes,11,opt,name=rbd"`
// FlexVolume represents a generic volume resource that is
// provisioned/attached using a exec based plugin. This is an
@@ -311,13 +311,13 @@ type PersistentVolumeSource struct {
HostPath *HostPathVolumeSource `json:"hostPath,omitempty" protobuf:"bytes,3,opt,name=hostPath"`
// Glusterfs represents a Glusterfs volume that is attached to a host and
// exposed to the pod. Provisioned by an admin.
- // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md
Glusterfs *GlusterfsVolumeSource `json:"glusterfs,omitempty" protobuf:"bytes,4,opt,name=glusterfs"`
// NFS represents an NFS mount on the host. Provisioned by an admin.
// More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs
NFS *NFSVolumeSource `json:"nfs,omitempty" protobuf:"bytes,5,opt,name=nfs"`
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md
RBD *RBDVolumeSource `json:"rbd,omitempty" protobuf:"bytes,6,opt,name=rbd"`
// ISCSI represents an ISCSI Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod. Provisioned by an admin.
@@ -543,16 +543,16 @@ type EmptyDirVolumeSource struct {
// Glusterfs volumes do not support ownership management or SELinux relabeling.
type GlusterfsVolumeSource struct {
// EndpointsName is the endpoint name that details Glusterfs topology.
- // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
EndpointsName string `json:"endpoints" protobuf:"bytes,1,opt,name=endpoints"`
// Path is the Glusterfs volume path.
- // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
Path string `json:"path" protobuf:"bytes,2,opt,name=path"`
// ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions.
// Defaults to false.
- // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
ReadOnly bool `json:"readOnly,omitempty" protobuf:"varint,3,opt,name=readOnly"`
}
@@ -560,10 +560,10 @@ type GlusterfsVolumeSource struct {
// RBD volumes support ownership management and SELinux relabeling.
type RBDVolumeSource struct {
// A collection of Ceph monitors.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
CephMonitors []string `json:"monitors" protobuf:"bytes,1,rep,name=monitors"`
// The rados image name.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
RBDImage string `json:"image" protobuf:"bytes,2,opt,name=image"`
// Filesystem type of the volume that you want to mount.
// Tip: Ensure that the filesystem type is supported by the host operating system.
@@ -573,24 +573,24 @@ type RBDVolumeSource struct {
FSType string `json:"fsType,omitempty" protobuf:"bytes,3,opt,name=fsType"`
// The rados pool name.
// Default is rbd.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it.
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it.
RBDPool string `json:"pool,omitempty" protobuf:"bytes,4,opt,name=pool"`
// The rados user name.
// Default is admin.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
RadosUser string `json:"user,omitempty" protobuf:"bytes,5,opt,name=user"`
// Keyring is the path to key ring for RBDUser.
// Default is /etc/ceph/keyring.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
Keyring string `json:"keyring,omitempty" protobuf:"bytes,6,opt,name=keyring"`
// SecretRef is name of the authentication secret for RBDUser. If provided
// overrides keyring.
// Default is nil.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
SecretRef *LocalObjectReference `json:"secretRef,omitempty" protobuf:"bytes,7,opt,name=secretRef"`
// ReadOnly here will force the ReadOnly setting in VolumeMounts.
// Defaults to false.
- // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it
ReadOnly bool `json:"readOnly,omitempty" protobuf:"varint,8,opt,name=readOnly"`
}
@@ -617,22 +617,22 @@ type CinderVolumeSource struct {
// Cephfs volumes do not support ownership management or SELinux relabeling.
type CephFSVolumeSource struct {
// Required: Monitors is a collection of Ceph monitors
- // More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
Monitors []string `json:"monitors" protobuf:"bytes,1,rep,name=monitors"`
// Optional: Used as the mounted root, rather than the full Ceph tree, default is /
Path string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"`
// Optional: User is the rados user name, default is admin
- // More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
User string `json:"user,omitempty" protobuf:"bytes,3,opt,name=user"`
// Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
- // More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
SecretFile string `json:"secretFile,omitempty" protobuf:"bytes,4,opt,name=secretFile"`
// Optional: SecretRef is reference to the authentication secret for User, default is empty.
- // More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
SecretRef *LocalObjectReference `json:"secretRef,omitempty" protobuf:"bytes,5,opt,name=secretRef"`
// Optional: Defaults to false (read/write). ReadOnly here will force
// the ReadOnly setting in VolumeMounts.
- // More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it
+ // More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
ReadOnly bool `json:"readOnly,omitempty" protobuf:"varint,6,opt,name=readOnly"`
}
diff --git a/pkg/api/v1/types_swagger_doc_generated.go b/pkg/api/v1/types_swagger_doc_generated.go
index 7fe761a6731..c5eb00db3fe 100644
--- a/pkg/api/v1/types_swagger_doc_generated.go
+++ b/pkg/api/v1/types_swagger_doc_generated.go
@@ -93,12 +93,12 @@ func (Capabilities) SwaggerDoc() map[string]string {
var map_CephFSVolumeSource = map[string]string{
"": "Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.",
- "monitors": "Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it",
+ "monitors": "Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it",
"path": "Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
- "user": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it",
- "secretFile": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it",
- "secretRef": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it",
- "readOnly": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/cephfs/README.md#how-to-use-it",
+ "user": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it",
+ "secretFile": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it",
+ "secretRef": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it",
+ "readOnly": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it",
}
func (CephFSVolumeSource) SwaggerDoc() map[string]string {
@@ -536,9 +536,9 @@ func (GitRepoVolumeSource) SwaggerDoc() map[string]string {
var map_GlusterfsVolumeSource = map[string]string{
"": "Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.",
- "endpoints": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod",
- "path": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod",
- "readOnly": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod",
+ "endpoints": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod",
+ "path": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod",
+ "readOnly": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod",
}
func (GlusterfsVolumeSource) SwaggerDoc() map[string]string {
@@ -1056,9 +1056,9 @@ var map_PersistentVolumeSource = map[string]string{
"gcePersistentDisk": "GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk",
"awsElasticBlockStore": "AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore",
"hostPath": "HostPath represents a directory on the host. Provisioned by a developer or tester. This is useful for single-node development and testing only! On-host storage is not supported in any way and WILL NOT WORK in a multi-node cluster. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath",
- "glusterfs": "Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md",
+ "glusterfs": "Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md",
"nfs": "NFS represents an NFS mount on the host. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs",
- "rbd": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md",
+ "rbd": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md",
"iscsi": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin.",
"cinder": "Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md",
"cephfs": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
@@ -1342,14 +1342,14 @@ func (Probe) SwaggerDoc() map[string]string {
var map_RBDVolumeSource = map[string]string{
"": "Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes support ownership management and SELinux relabeling.",
- "monitors": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it",
- "image": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it",
+ "monitors": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it",
+ "image": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it",
"fsType": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#rbd",
- "pool": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it.",
- "user": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it",
- "keyring": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it",
- "secretRef": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it",
- "readOnly": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it",
+ "pool": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it.",
+ "user": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it",
+ "keyring": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it",
+ "secretRef": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it",
+ "readOnly": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it",
}
func (RBDVolumeSource) SwaggerDoc() map[string]string {
@@ -1700,10 +1700,10 @@ var map_VolumeSource = map[string]string{
"gitRepo": "GitRepo represents a git repository at a particular revision.",
"secret": "Secret represents a secret that should populate this volume. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#secrets",
"nfs": "NFS represents an NFS mount on the host that shares a pod's lifetime More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs",
- "iscsi": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md",
- "glusterfs": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md",
+ "iscsi": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md",
+ "glusterfs": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md",
"persistentVolumeClaim": "PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims",
- "rbd": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md",
+ "rbd": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md",
"flexVolume": "FlexVolume represents a generic volume resource that is provisioned/attached using a exec based plugin. This is an alpha feature and may change in future.",
"cinder": "Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md",
"cephfs": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
diff --git a/pkg/kubectl/cmd/annotate_test.go b/pkg/kubectl/cmd/annotate_test.go
index 3fd34040c7c..a903b2cf2ab 100644
--- a/pkg/kubectl/cmd/annotate_test.go
+++ b/pkg/kubectl/cmd/annotate_test.go
@@ -504,7 +504,7 @@ func TestAnnotateObjectFromFile(t *testing.T) {
cmd := NewCmdAnnotate(f, buf)
cmd.SetOutput(buf)
options := &AnnotateOptions{}
- options.filenames = []string{"../../../examples/cassandra/cassandra-controller.yaml"}
+ options.filenames = []string{"../../../examples/storage/cassandra/cassandra-controller.yaml"}
args := []string{"a=b", "c-"}
if err := options.Complete(f, buf, cmd, args); err != nil {
t.Fatalf("unexpected error: %v", err)
diff --git a/pkg/kubectl/cmd/get_test.go b/pkg/kubectl/cmd/get_test.go
index 6f680e8a5f9..0be44dff53a 100644
--- a/pkg/kubectl/cmd/get_test.go
+++ b/pkg/kubectl/cmd/get_test.go
@@ -339,7 +339,7 @@ func TestGetObjectsIdentifiedByFile(t *testing.T) {
cmd := NewCmdGet(f, buf)
cmd.SetOutput(buf)
- cmd.Flags().Set("filename", "../../../examples/cassandra/cassandra-controller.yaml")
+ cmd.Flags().Set("filename", "../../../examples/storage/cassandra/cassandra-controller.yaml")
cmd.Run(cmd, []string{})
expected := []runtime.Object{&pods.Items[0]}
@@ -807,7 +807,7 @@ func TestWatchResourceIdentifiedByFile(t *testing.T) {
cmd.SetOutput(buf)
cmd.Flags().Set("watch", "true")
- cmd.Flags().Set("filename", "../../../examples/cassandra/cassandra-controller.yaml")
+ cmd.Flags().Set("filename", "../../../examples/storage/cassandra/cassandra-controller.yaml")
cmd.Run(cmd, []string{})
expected := []runtime.Object{&pods[0], events[0].Object, events[1].Object}
diff --git a/pkg/kubectl/cmd/label_test.go b/pkg/kubectl/cmd/label_test.go
index d5b5af695da..2d51b24b72c 100644
--- a/pkg/kubectl/cmd/label_test.go
+++ b/pkg/kubectl/cmd/label_test.go
@@ -371,7 +371,7 @@ func TestLabelForResourceFromFile(t *testing.T) {
buf := bytes.NewBuffer([]byte{})
cmd := NewCmdLabel(f, buf)
options := &LabelOptions{
- Filenames: []string{"../../../examples/cassandra/cassandra-controller.yaml"},
+ Filenames: []string{"../../../examples/storage/cassandra/cassandra-controller.yaml"},
}
err := RunLabel(f, buf, cmd, []string{"a=b"}, options)
diff --git a/test/e2e/examples.go b/test/e2e/examples.go
index dddcfdb2181..a7d92f7418f 100644
--- a/test/e2e/examples.go
+++ b/test/e2e/examples.go
@@ -63,7 +63,7 @@ var _ = framework.KubeDescribe("[Feature:Example]", func() {
framework.KubeDescribe("Redis", func() {
It("should create and stop redis servers", func() {
mkpath := func(file string) string {
- return filepath.Join(framework.TestContext.RepoRoot, "examples/redis", file)
+ return filepath.Join(framework.TestContext.RepoRoot, "examples/storage/redis", file)
}
bootstrapYaml := mkpath("redis-master.yaml")
sentinelServiceYaml := mkpath("redis-sentinel-service.yaml")