Skip to content

Commit

Permalink
Set the Google Cloud minimum CPU platform to Intel Haswell
Browse files Browse the repository at this point in the history
* Intel Haswell or better is available in every zone around the world
* Neither Kubernetes nor Typhoon have a particular minimum processor
family. However, a few Google Cloud zones still default to Sandy/Ivy
bridge (scheduled to shift April 2019). Price is only based on machine
type so it is beneficial to opt for the next processor family
* Intel Haswell is a suitable minimum since it still allows plenty of
liberty in choosing any region or machine type
* Likely a slight increase to preemption probability in a few zones,
but any lower probability on Sandy/Ivy bridge is due to lower
desirability as they're phased out
* https://cloud.google.com/compute/docs/regions-zones/
  • Loading branch information
dghubble committed Feb 18, 2019
1 parent e483c81 commit ba4c5de
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 12 deletions.
6 changes: 6 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ Notable changes between versions.

* Recommend updating [terraform-provider-matchbox](https://github.com/coreos/terraform-provider-matchbox) plugin from v0.2.2 to [v0.2.3](https://github.com/coreos/terraform-provider-matchbox/releases/tag/v0.2.3) ([#402](https://github.com/poseidon/typhoon/pull/402))

#### Google Cloud

* Set the minimum CPU platform to Intel Haswell ([#405](https://github.com/poseidon/typhoon/pull/405))
* Haswell or better is available in every zone (no price change)
* A few zones still default to Sandy/Ivy Bridge (shifts in April 2019)

#### Addons

* Improve Prometheus rules and alerts ([#404](https://github.com/poseidon/typhoon/pull/404))
Expand Down
7 changes: 4 additions & 3 deletions google-cloud/container-linux/kubernetes/controllers.tf
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,10 @@ locals {
resource "google_compute_instance" "controllers" {
count = "${var.controller_count}"

name = "${var.cluster_name}-controller-${count.index}"
zone = "${element(local.zones, count.index)}"
machine_type = "${var.controller_type}"
name = "${var.cluster_name}-controller-${count.index}"
zone = "${element(local.zones, count.index)}"
machine_type = "${var.controller_type}"
min_cpu_platform = "Intel Haswell"

metadata {
user-data = "${element(data.ct_config.controller-ignitions.*.rendered, count.index)}"
Expand Down
7 changes: 4 additions & 3 deletions google-cloud/container-linux/kubernetes/workers/workers.tf
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@ resource "google_compute_region_instance_group_manager" "workers" {

# Worker instance template
resource "google_compute_instance_template" "worker" {
name_prefix = "${var.name}-worker-"
description = "Worker Instance template"
machine_type = "${var.machine_type}"
name_prefix = "${var.name}-worker-"
description = "Worker Instance template"
machine_type = "${var.machine_type}"
min_cpu_platform = "Intel Haswell"

metadata {
user-data = "${data.ct_config.worker-ignition.rendered}"
Expand Down
7 changes: 4 additions & 3 deletions google-cloud/fedora-atomic/kubernetes/controllers.tf
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,10 @@ locals {
resource "google_compute_instance" "controllers" {
count = "${var.controller_count}"

name = "${var.cluster_name}-controller-${count.index}"
zone = "${element(local.zones, count.index)}"
machine_type = "${var.controller_type}"
name = "${var.cluster_name}-controller-${count.index}"
zone = "${element(local.zones, count.index)}"
machine_type = "${var.controller_type}"
min_cpu_platform = "Intel Haswell"

metadata {
user-data = "${element(data.template_file.controller-cloudinit.*.rendered, count.index)}"
Expand Down
7 changes: 4 additions & 3 deletions google-cloud/fedora-atomic/kubernetes/workers/workers.tf
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@ resource "google_compute_region_instance_group_manager" "workers" {

# Worker instance template
resource "google_compute_instance_template" "worker" {
name_prefix = "${var.name}-worker-"
description = "Worker Instance template"
machine_type = "${var.machine_type}"
name_prefix = "${var.name}-worker-"
description = "Worker Instance template"
machine_type = "${var.machine_type}"
min_cpu_platform = "Intel Haswell"

metadata {
user-data = "${data.template_file.worker-cloudinit.rendered}"
Expand Down

0 comments on commit ba4c5de

Please sign in to comment.