Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Now that we automatically format GCE PD, remove formatting from the e2e. #4234

Merged
merged 1 commit into from
Feb 9, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
18 changes: 4 additions & 14 deletions docs/volumes.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand All @@ -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:
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion examples/gce-pd/testpd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
20 changes: 6 additions & 14 deletions examples/mysql-wordpress-pd/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,32 +39,24 @@ $ <kubernetes>/cluster/kube-up.sh

where `<kubernetes>` 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
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion examples/mysql-wordpress-pd/mysql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion examples/mysql-wordpress-pd/wordpress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
9 changes: 1 addition & 8 deletions hack/e2e-suite/pd.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down