Skip to content

Demonstrate MIG and autoscaling for GCE images with multiple NICs

License

Notifications You must be signed in to change notification settings

memes/google-multi-nic-scaling

Repository files navigation

Multi-nic

pre-commit

Example showing scaling/MIG with multi-nic instances.

Requirements

Name Version
terraform ~> 0.12
google ~> 3.24
google ~> 3.24

Providers

Name Version
google ~> 3.24 ~> 3.24
google.executor ~> 3.24 ~> 3.24

Inputs

Name Description Type Default Required
auto_healing_initial_delay_sec The initial delay in seconds before taking any auto healing actions. Default is
60.
number 60 no
autoscaling_cooldown_period The number of seconds to use for autoscaling cooldown, default to 60s. number 60 no
autoscaling_max_replicas The maximum number of autoscaling instances in the Regional MIG. Default value is 5. number 5 no
autoscaling_metric_name The fully-qualified metric to use for autoscaling.
E.g. custom.googleapis.com/my-metric
string n/a yes
autoscaling_metric_target The amount of work to assign to a single instance; this will be compared to the
metric value and the number of instances will change to keep the work per instance
to below or equal to this value.
number 3 no
autoscaling_metric_type The type of the target metric; must be one of 'GAUGE', 'DELTA_PER_SECOND', or
'DELTA_PER_MINUTE'. Default is 'GAUGE'.
string "GAUGE" no
autoscaling_min_replicas The minimum number of autoscaling instances in the Regional MIG. Default value is 5. number 1 no
disk_size_gb The boot disk size, in Gb. Default is 10. number 10 no
disk_type The disk type to use for webapp VMs. Default is 'pd-standard'. string "pd-standard" no
enable_os_login Set to true to enable OS Login on the VMs. Default value is true.
NOTE: this value will override an 'enable-oslogin' key in metadata map.
bool true no
labels An optional map of label pairs to apply to the VMs. map(string) {} no
machine_type The machine type to use for webapps. Default is 'n1-standard-4' string "n1-standard-4" no
metadata An optional map of metadata value that will be applied to the VMs. map(string) {} no
preemptible Instructs the VM to be preemptible, default is false. bool false no
project_id The existing project id that will be used for an F5 automation factory. string n/a yes
source_image The source image to use for webapp VMs. Default is 'ubuntu-os-cloud/ubuntu-1804-lts'
to use latest Ubuntu 18.04 LTS image at apply time.
string "ubuntu-os-cloud/ubuntu-1804-lts" no
subnets A list of subnetwork self-links to use with the instance. list(string) n/a yes
synthetic_metric_ceiling The ceiling value that will be generated by synthetic metrics. Default is 5. number 5 no
synthetic_metric_floor The floor value that will be generated by synthetic metrics. Default is 0. number 0 no
synthetic_metric_period The period over which the synthetic metrics will perform a single wave cycle.
Default value is "20m". Must be a valid Go duration specifier.
string "20m" no
synthetic_metric_sample_period The interval between reporting synthetic metrics. Default value is "60s". Must
be a valid Go duration specifier.
string "60s" no
synthetic_metric_shape The shape of the synthetic metric to generate; can be one of 'sawtooth', 'sine',
'square', or 'triangle' (default).
string "triangle" no
tags An optional list of network tags to apply to the VMs. list(string) [] no
tf_sa_email The fully-qualified email address of the Terraform service account to use for
project creation. E.g.
tf_sa_email = "org-terraform@[BOOTSTRAP_PROJECT].iam.gserviceaccount.com"
string n/a yes
tf_sa_token_lifetime_secs The expiration duration for the service account token, in seconds. This value
should be high enough to prevent token timeout issues during resource creation,
but short enough that the token is useless replayed later. Default value is 1200.
number 1200 no
update_policy_max_surge_fixed The maximum number of instances that can be created beyond the scaling count
before destroying old instances. Default value is 3.

NOTE: the value may be higher if required by the deployed region.
number 3 no
update_policy_max_unavailable_fixed The maximum number of instances that can become unavailable during an update
event. Default value is 3.

NOTE: the value may be higher if required by the deployed region.
number 3 no
update_policy_min_ready_sec The timeout duration after a update event before the health checking results are
considered.
number 10 no
update_policy_minimal_action The minimal update policy action that is permitted as part of an update; default
is 'REPLACE' to support aggressive update.
string "REPLACE" no
update_policy_type The update policy type to assign to the managed instance group; default is
'PROACTIVE' to support aggressive update.
string "PROACTIVE" no

Outputs

No output.

About

Demonstrate MIG and autoscaling for GCE images with multiple NICs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published