Allow Google accelerators (i.e. GPUs) on workers

This commit is contained in:
Dalton Hubble 2018-03-02 17:26:51 -08:00
parent 6c5e287c29
commit 2592a0aad4
4 changed files with 22 additions and 2 deletions

View File

@ -36,6 +36,8 @@ Notable changes between versions.
* Add kubelet `--volume-plugin-dir` flag to allow flexvolume plugins ([#142](https://github.com/poseidon/typhoon/pull/142))
* Add `kubeconfig` variable to `controllers` and `workers` submodules ([#147](https://github.com/poseidon/typhoon/pull/147))
* Remove `kubeconfig_*` variables from `controllers` and `workers` submodules ([#147](https://github.com/poseidon/typhoon/pull/147))
* Allow initial experimentation with accelerators (i.e. GPUs) on workers ([#161](https://github.com/poseidon/typhoon/pull/161)) (unofficial)
* Require `terraform-provider-google` v1.6.0
#### Addons

View File

@ -5,7 +5,7 @@ terraform {
}
provider "google" {
version = "~> 1.2"
version = "~> 1.6"
}
provider "local" {

View File

@ -77,3 +77,17 @@ variable "cluster_domain_suffix" {
type = "string"
default = "cluster.local"
}
# unofficial, undocumented, unsupported, temporary
variable "accelerator_type" {
type = "string"
default = ""
description = "Google Compute Engine accelerator type (e.g. nvidia-tesla-k80, see gcloud compute accelerator-types list)"
}
variable "accelerator_count" {
type = "string"
default = "0"
description = "Number of compute engine accelerators"
}

View File

@ -63,9 +63,13 @@ resource "google_compute_instance_template" "worker" {
}
can_ip_forward = true
tags = ["worker", "${var.cluster_name}-worker", "${var.name}-worker"]
guest_accelerator {
count = "${var.accelerator_count}"
type = "${var.accelerator_type}"
}
lifecycle {
# To update an Instance Template, Terraform should replace the existing resource
create_before_destroy = true