mirror of
https://github.com/puppetmaster/typhoon.git
synced 2025-02-18 22:51:27 +01:00
* Set defaults for internal worker module's count, machine_type, and os_image * Allow "pools" of homogeneous workers to be created using the google-cloud/kubernetes/workers module
2.8 KiB
2.8 KiB
Worker Pools
Typhoon can create "worker pools", groups of homogeneous workers that are part of an existing cluster. For example, you may wish to augment a Kubernetes cluster with groups of workers with a different machine type, larger disks, or preemptibility.
Google Cloud
Create a cluster following the Google Cloud tutorial. Then define a worker pool using the internal workers
Terraform module.
module "yavin-worker-pool" {
source = "git::https://github.com/poseidon/typhoon//google-cloud/container-linux/kubernetes/workers?ref=v1.9.4"
# Google Cloud
network = "${module.google-cloud-yavin.network_name}"
region = "us-central1"
count = 2
machine_type = "n1-standard-16"
preemptible = true
cluster_name = "yavin-16x"
ssh_authorized_key = "${var.ssh_authorized_key}"
kubeconfig = "${module.google-cloud-yavin.kubeconfig}"
}
Apply the change.
terraform apply
Verify a managed instance group of workers joins the cluster within a few minutes.
$ kubectl get nodes
NAME STATUS AGE VERSION
yavin-controller-0.c.example-com.internal Ready 6m v1.9.3
yavin-worker-jrbf.c.example-com.internal Ready 5m v1.9.3
yavin-worker-mzdm.c.example-com.internal Ready 5m v1.9.3
yavin-16x-worker-jrbf.c.example-com.internal Ready 3m v1.9.3
yavin-16x-worker-mzdm.c.example-com.internal Ready 3m v1.9.3
Variables
The Google Cloud internal workers
module supports a number of variables.
Required
Name | Description | Example |
---|---|---|
cluster_name | Unique name | "yavin-worker-pool" |
region | Must match region of cluster | "us-central1" |
network | Must match network name output by cluster | "${module.cluster.network_name}" |
ssh_authorized_key | SSH public key for ~/.ssh_authorized_keys | "ssh-rsa AAAAB3NZ..." |
Optional
Name | Description | Default | Example |
---|---|---|---|
count | Number of workers | 1 | 3 |
machine_type | Machine type for compute instances | "n1-standard-1" | See below |
os_image | OS image for compute instances | "coreos-stable" | "coreos-alpha" |
disk_size | Size of the disk in GB | 40 | 100 |
preemptible | If enabled, Compute Engine will terminate instances randomly within 24 hours | false | true |
service_cidr | Must match service_cidr of cluster | "10.3.0.0/16" | "10.3.0.0/24" |
cluster_domain_suffix | Must match domain suffix of cluster | "cluster.local" | "k8s.example.com" |
Check the list of valid machine types.