From e7a69504b4f15a2618c5ec31c58abb8c57e8963e Mon Sep 17 00:00:00 2001 From: Brendan Burns Date: Fri, 6 Feb 2015 20:24:45 -0800 Subject: [PATCH] Now that we automatically format GCE PD, remove formatting from the e2e test. Also remove docs that note that it is necessary. --- docs/volumes.md | 18 ++++-------------- examples/gce-pd/testpd.yaml | 2 +- examples/mysql-wordpress-pd/README.md | 20 ++++++-------------- examples/mysql-wordpress-pd/mysql.yaml | 2 +- examples/mysql-wordpress-pd/wordpress.yaml | 2 +- hack/e2e-suite/pd.sh | 9 +-------- 6 files changed, 14 insertions(+), 39 deletions(-) diff --git a/docs/volumes.md b/docs/volumes.md index 7bbb6b23f31..5939b0619d1 100644 --- a/docs/volumes.md +++ b/docs/volumes.md @@ -41,7 +41,7 @@ Watch out when using this type of volume, because: - When Kubernetes adds resource-aware scheduling, as is planned, it will not be able to account for resources used by a HostDir. ### GCEPersistentDisk -__Important: You must create and format a PD before you can use it__ +__Important: You must create a PD using ```gcloud``` or the GCE API before you can use it__ A Volume with a GCEPersistentDisk property allows access to files on a Google Compute Engine (GCE) [Persistent Disk](http://cloud.google.com/compute/docs/disks). @@ -55,20 +55,10 @@ There are some restrictions when using a GCEPersistentDisk: - replication controllers with replicas > 1 can only be created for pods that use read-only mounts. #### Creating a PD -Before you can use a GCE PD with a pod, you need to create it and format it. - -__We are actively working on making this more streamlined.__ +Before you can use a GCE PD with a pod, you need to create it. ```sh -DISK_NAME=my-data-disk -DISK_SIZE=500GB -ZONE=us-central1-a - -gcloud compute disks create --size=$DISK_SIZE --zone=$ZONE $DISK_NAME -gcloud compute instances attach-disk --zone=$ZONE --disk=$DISK_NAME --device-name temp-data kubernetes-master -gcloud compute ssh --zone=$ZONE kubernetes-master \ - --command "sudo mkdir /mnt/tmp && sudo /usr/share/google/safe_format_and_mount /dev/disk/by-id/google-temp-data /mnt/tmp" -gcloud compute instances detach-disk --zone=$ZONE --disk $DISK_NAME kubernetes-master +gcloud compute disks create --size=500GB --zone=us-central1-a my-data-disk ``` #### GCE PD Example configuration: @@ -88,7 +78,7 @@ desiredState: - name: testpd source: persistentDisk: - # This GCE PD must already exist and be formatted ext4 + # This GCE PD must already exist. pdName: test fsType: ext4 id: testpd diff --git a/examples/gce-pd/testpd.yaml b/examples/gce-pd/testpd.yaml index 0d5fddb2409..66a96d44ef3 100644 --- a/examples/gce-pd/testpd.yaml +++ b/examples/gce-pd/testpd.yaml @@ -13,7 +13,7 @@ desiredState: - name: testpd source: persistentDisk: - # This GCE PD must already exist and be formatted ext4 + # This GCE PD must already exist. pdName: "%insert_pd_name_here%" fsType: ext4 id: testpd diff --git a/examples/mysql-wordpress-pd/README.md b/examples/mysql-wordpress-pd/README.md index 208f787af49..ef6bfef7c27 100644 --- a/examples/mysql-wordpress-pd/README.md +++ b/examples/mysql-wordpress-pd/README.md @@ -39,32 +39,24 @@ $ /cluster/kube-up.sh where `` is the path to your Kubernetes installation. -## Create and format two persistent disks +## Create two persistent disks For this WordPress installation, we're going to configure our Kubernetes [pods](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/pods.md) to use [persistent disks](https://cloud.google.com/compute/docs/disks). This means that we can preserve installation state across pod shutdown and re-startup. -Before doing anything else, we'll create and format the persistent disks that we'll use for the installation: one for the mysql pod, and one for the wordpress pod. +Before doing anything else, we'll create the persistent disks that we'll use for the installation: one for the mysql pod, and one for the wordpress pod. The general series of steps required is as described [here](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/volumes.md), where $ZONE is the zone where your cluster is running, and $DISK_SIZE is specified as, e.g. '500GB'. In future, this process will be more streamlined. So for the two disks used in this example, do the following. -First create and format the mysql disk, setting the disk size to meet your needs: +First create the mysql disk, setting the disk size to meet your needs: ```shell gcloud compute disks create --size=$DISK_SIZE --zone=$ZONE mysql-disk -gcloud compute instances attach-disk --zone=$ZONE --disk=mysql-disk --device-name temp-data kubernetes-master -gcloud compute ssh --zone=$ZONE kubernetes-master \ - --command "sudo mkdir -p /mnt/tmp && sudo /usr/share/google/safe_format_and_mount /dev/disk/by-id/google-temp-data /mnt/tmp" -gcloud compute instances detach-disk --zone=$ZONE --disk mysql-disk kubernetes-master ``` -Then create and format the wordpress disk. Note that you may not want as large a disk size for the wordpress code as for the mysql disk. +Then create the wordpress disk. Note that you may not want as large a disk size for the wordpress code as for the mysql disk. ```shell gcloud compute disks create --size=$DISK_SIZE --zone=$ZONE wordpress-disk -gcloud compute instances attach-disk --zone=$ZONE --disk=$wordpress-disk --device-name temp-data kubernetes-master -gcloud compute ssh --zone=$ZONE kubernetes-master \ - --command "sudo mkdir -p /mnt/tmp && sudo /usr/share/google/safe_format_and_mount /dev/disk/by-id/google-temp-data /mnt/tmp" -gcloud compute instances detach-disk --zone=$ZONE --disk wordpress-disk kubernetes-master ``` ## Start the Mysql Pod and Service @@ -102,7 +94,7 @@ desiredState: - name: mysql-persistent-storage source: persistentDisk: - # This GCE PD must already exist and be formatted ext4 + # This GCE PD must already exist pdName: mysql-disk fsType: ext4 labels: @@ -207,7 +199,7 @@ desiredState: source: # emptyDir: {} persistentDisk: - # This GCE PD must already exist and be formatted ext4 + # This GCE PD must already exist pdName: wordpress-disk fsType: ext4 labels: diff --git a/examples/mysql-wordpress-pd/mysql.yaml b/examples/mysql-wordpress-pd/mysql.yaml index 938f2821c30..aa4b2a2ed35 100644 --- a/examples/mysql-wordpress-pd/mysql.yaml +++ b/examples/mysql-wordpress-pd/mysql.yaml @@ -24,7 +24,7 @@ desiredState: source: # emptyDir: {} persistentDisk: - # This GCE PD must already exist and be formatted ext4 + # This GCE PD must already exist. pdName: mysql-disk fsType: ext4 labels: diff --git a/examples/mysql-wordpress-pd/wordpress.yaml b/examples/mysql-wordpress-pd/wordpress.yaml index dc4f5adbcce..decf8ca6664 100644 --- a/examples/mysql-wordpress-pd/wordpress.yaml +++ b/examples/mysql-wordpress-pd/wordpress.yaml @@ -23,7 +23,7 @@ desiredState: source: # emptyDir: {} persistentDisk: - # This GCE PD must already exist and be formatted ext4 + # This GCE PD must already exist. pdName: wordpress-disk fsType: ext4 labels: diff --git a/hack/e2e-suite/pd.sh b/hack/e2e-suite/pd.sh index 2910023021a..f163b465837 100755 --- a/hack/e2e-suite/pd.sh +++ b/hack/e2e-suite/pd.sh @@ -105,15 +105,8 @@ trap "teardown" EXIT perl -p -e "s/%.*%/${disk_name}/g" ${KUBE_ROOT}/examples/gce-pd/testpd.yaml > ${config} -# Create and format the disk. +# Create the disk. The first mount into a pod should format it. "${GCLOUD}" compute disks create --zone="${ZONE}" --size=10GB "${disk_name}" -"${GCLOUD}" compute instances attach-disk --zone="${ZONE}" --disk="${disk_name}" \ - --device-name tempdata "${MASTER_NAME}" -"${GCLOUD}" compute ssh --zone="${ZONE}" "${MASTER_NAME}" --command "sudo rm -rf /mnt/tmp" -"${GCLOUD}" compute ssh --zone="${ZONE}" "${MASTER_NAME}" --command "sudo mkdir -p /mnt/tmp" -"${GCLOUD}" compute ssh --zone="${ZONE}" "${MASTER_NAME}" --command "sudo /usr/share/google/safe_format_and_mount /dev/disk/by-id/google-tempdata /mnt/tmp" -"${GCLOUD}" compute ssh --zone="${ZONE}" "${MASTER_NAME}" --command "sudo umount /mnt/tmp" -"${GCLOUD}" compute instances detach-disk --zone="${ZONE}" --disk "${disk_name}" "${MASTER_NAME}" # Create a pod that uses the PD ${KUBECTL} create -f ${config}