Add disk_type variable for EBS volume type on AWS

* Change EBS volume type from `standard` ("prior generation)
 to `gp2`. Prometheus alerts are tuned for SSDs
* Other platforms have fast enough disks by default
This commit is contained in:
Dalton Hubble 2018-03-29 00:24:07 -07:00
parent b1e41dcb99
commit f8e9bfb1c0
6 changed files with 25 additions and 7 deletions

View File

@ -6,17 +6,22 @@ Notable changes between versions.
* Remove unused, unmaintained `pxe-worker` internal module * Remove unused, unmaintained `pxe-worker` internal module
#### AWS
* Add `disk_type` optional variable for setting the EBS volume type ([#176](https://github.com/poseidon/typhoon/pull/176))
* Change default type from `standard` to `gp2`. Prometheus etcd alerts are tuned for fast disks.
#### Digital Ocean #### Digital Ocean
* Ensure etcd secrets are only distributed to controller hosts, not workers. * Ensure etcd secrets are only distributed to controller hosts, not workers.
* Remove optional variable `networking`. Only flannel works on Digital Ocean. * Remove `networking` optional variable. Only flannel works on Digital Ocean.
#### Google Cloud #### Google Cloud
* Add `disk_size` variable for setting instance disk size in GB * Add `disk_size` optional variable for setting instance disk size in GB
* Add `controller_type` variable for setting machine type for controllers * Add `controller_type` optional variable for setting machine type for controllers
* Add `worker_type` variable for setting machine type for workers * Add `worker_type` optional variable for setting machine type for workers
* Remove optional variable `machine_type`. Use `controller_type` and `worker_type`. * Remove `machine_type` optional variable. Use `controller_type` and `worker_type`.
#### Addons #### Addons

View File

@ -28,7 +28,7 @@ resource "aws_instance" "controllers" {
# storage # storage
root_block_device { root_block_device {
volume_type = "standard" volume_type = "${var.disk_type}"
volume_size = "${var.disk_size}" volume_size = "${var.disk_size}"
} }

View File

@ -53,6 +53,12 @@ variable "disk_size" {
description = "Size of the EBS volume in GB" description = "Size of the EBS volume in GB"
} }
variable "disk_type" {
type = "string"
default = "gp2"
description = "Type of the EBS volume (e.g. standard, gp2, io1)"
}
variable "controller_clc_snippets" { variable "controller_clc_snippets" {
type = "list" type = "list"
description = "Controller Container Linux Config snippets" description = "Controller Container Linux Config snippets"

View File

@ -46,6 +46,12 @@ variable "disk_size" {
description = "Size of the EBS volume in GB" description = "Size of the EBS volume in GB"
} }
variable "disk_type" {
type = "string"
default = "gp2"
description = "Type of the EBS volume (e.g. standard, gp2, io1)"
}
variable "clc_snippets" { variable "clc_snippets" {
type = "list" type = "list"
description = "Container Linux Config snippets" description = "Container Linux Config snippets"

View File

@ -42,7 +42,7 @@ resource "aws_launch_configuration" "worker" {
# storage # storage
root_block_device { root_block_device {
volume_type = "standard" volume_type = "${var.disk_type}"
volume_size = "${var.disk_size}" volume_size = "${var.disk_size}"
} }

View File

@ -253,6 +253,7 @@ Reference the DNS zone id with `"${aws_route53_zone.zone-for-clusters.zone_id}"`
| worker_type | EC2 instance type for workers | "t2.small" | See below | | worker_type | EC2 instance type for workers | "t2.small" | See below |
| os_channel | Container Linux AMI channel | stable | stable, beta, alpha | | os_channel | Container Linux AMI channel | stable | stable, beta, alpha |
| disk_size | Size of the EBS volume in GB | "40" | "100" | | disk_size | Size of the EBS volume in GB | "40" | "100" |
| disk_type | Type of the EBS volume | "gp2" | standard, gp2, io1 |
| controller_clc_snippets | Controller Container Linux Config snippets | [] | | | controller_clc_snippets | Controller Container Linux Config snippets | [] | |
| worker_clc_snippets | Worker Container Linux Config snippets | [] | | | worker_clc_snippets | Worker Container Linux Config snippets | [] | |
| networking | Choice of networking provider | "calico" | "calico" or "flannel" | | networking | Choice of networking provider | "calico" | "calico" or "flannel" |