diff --git a/cluster/aws/config-default.sh b/cluster/aws/config-default.sh index 147864b9c63..74f90b1e9b0 100644 --- a/cluster/aws/config-default.sh +++ b/cluster/aws/config-default.sh @@ -39,6 +39,12 @@ LOG="/dev/null" MASTER_DISK_TYPE="${MASTER_DISK_TYPE:-gp2}" MASTER_DISK_SIZE=${MASTER_DISK_SIZE:-20} +# The master root EBS volume size (typically does not need to be very large) +MASTER_ROOT_DISK_TYPE="${MASTER_ROOT_DISK_TYPE:-gp2}" +MASTER_ROOT_DISK_SIZE=${MASTER_ROOT_DISK_SIZE:-8} +# The minions root EBS volume size (used to house Docker images +MINION_ROOT_DISK_TYPE="${MINION_ROOT_DISK_TYPE:-gp2}" +MINION_ROOT_DISK_SIZE=${MINION_ROOT_DISK_SIZE:-32} MASTER_NAME="${INSTANCE_PREFIX}-master" MASTER_TAG="${INSTANCE_PREFIX}-master" @@ -93,4 +99,3 @@ KUBE_MINION_IMAGE="${KUBE_MINION_IMAGE:-}" COREOS_CHANNEL="${COREOS_CHANNEL:-alpha}" CONTAINER_RUNTIME="${KUBE_CONTAINER_RUNTIME:-docker}" RKT_VERSION="${KUBE_RKT_VERSION:-0.5.5}" - diff --git a/cluster/aws/util.sh b/cluster/aws/util.sh index ae6c5c22678..c7e4cb717a6 100644 --- a/cluster/aws/util.sh +++ b/cluster/aws/util.sh @@ -63,7 +63,9 @@ MINION_SG_NAME="kubernetes-minion-${CLUSTER_ID}" # Be sure to map all the ephemeral drives. We can specify more than we actually have. # TODO: Actually mount the correct number (especially if we have more), though this is non-trivial, and # only affects the big storage instance types, which aren't a typical use case right now. -BLOCK_DEVICE_MAPPINGS="[{\"DeviceName\": \"/dev/sdc\",\"VirtualName\":\"ephemeral0\"},{\"DeviceName\": \"/dev/sdd\",\"VirtualName\":\"ephemeral1\"},{\"DeviceName\": \"/dev/sde\",\"VirtualName\":\"ephemeral2\"},{\"DeviceName\": \"/dev/sdf\",\"VirtualName\":\"ephemeral3\"}]" +BLOCK_DEVICE_MAPPINGS_BASE="{\"DeviceName\": \"/dev/sdc\",\"VirtualName\":\"ephemeral0\"},{\"DeviceName\": \"/dev/sdd\",\"VirtualName\":\"ephemeral1\"},{\"DeviceName\": \"/dev/sde\",\"VirtualName\":\"ephemeral2\"},{\"DeviceName\": \"/dev/sdf\",\"VirtualName\":\"ephemeral3\"}" +MASTER_BLOCK_DEVICE_MAPPINGS="[{\"DeviceName\":\"/dev/sda1\",\"Ebs\":{\"DeleteOnTermination\":true,\"VolumeSize\":${MASTER_ROOT_DISK_SIZE},\"VolumeType\":\"${MASTER_ROOT_DISK_TYPE}\"}}, ${BLOCK_DEVICE_MAPPINGS_BASE}]" +MINION_BLOCK_DEVICE_MAPPINGS="[{\"DeviceName\":\"/dev/sda1\",\"Ebs\":{\"DeleteOnTermination\":true,\"VolumeSize\":${MINION_ROOT_DISK_SIZE},\"VolumeType\":\"${MINION_ROOT_DISK_TYPE}\"}}, ${BLOCK_DEVICE_MAPPINGS_BASE}]" function json_val { python -c 'import json,sys;obj=json.load(sys.stdin);print obj'$1'' @@ -846,7 +848,7 @@ function kube-up { --key-name ${AWS_SSH_KEY_NAME} \ --security-group-ids ${MASTER_SG_ID} \ --associate-public-ip-address \ - --block-device-mappings "${BLOCK_DEVICE_MAPPINGS}" \ + --block-device-mappings "${MASTER_BLOCK_DEVICE_MAPPINGS}" \ --user-data file://${KUBE_TEMP}/master-start.sh | json_val '["Instances"][0]["InstanceId"]') add-tag $master_id Name $MASTER_NAME add-tag $master_id Role $MASTER_TAG @@ -957,7 +959,7 @@ function kube-up { --key-name ${AWS_SSH_KEY_NAME} \ --security-groups ${MINION_SG_ID} \ ${public_ip_option} \ - --block-device-mappings "${BLOCK_DEVICE_MAPPINGS}" \ + --block-device-mappings "${MINION_BLOCK_DEVICE_MAPPINGS}" \ --user-data "file://${KUBE_TEMP}/minion-user-data" echo "Creating autoscaling group"