Skip to content

Add v10.0 upgrade doc #599

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 10, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions docs/upgrading_to_v10.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Upgrading to v10.0

The v10.0 release of *kubernetes-engine* is a backwards incompatible
release.

## Provider Version

- For beta modules, support for Google provider versions older than v3.29 has been removed.
- For GA modules, provider version constraints are unchanged.

## Default Machine Type
The new default machine type for node pools is now `e2-medium`. These VMs are more cost-effective. e2-medium machine types sustain 2 vCPUs at 50% of CPU time, yielding the same processing capacity as 1 vCPU and can temporarily burst to 2 vCPUs. Thus the sustained throughput is the same as n1-standard-1, so long as there are multiple threads running on the node -- and if you have multiple containers -- this is almost certainly the case.

However, `e2-medium` nodes don't work for all use cases. In particular, if you are using any of these features you should choose another machine type:

1. You're running single-threaded applications with sensitive performance requirements.
2. You use GPUs or local SSDs or sole tenancy, all of which are unsupported by the new default machine type e2-medium.

If you want to keep the old node type (`n1-standard-2`), you should specify it explicitly:

```diff
module "gke" {
source = "terraform-google-modules/kubernetes-engine/google"
- version = "~> 9.0"
+ version = "~> 10.0"
...
node_pools = [
{
name = "pool-01"
+ machine_type = "n1-standard-2"
},
]
}
```

## Pod Security Policy
The interface for configuring pod security policy has been [simplified](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/commit/6069ece9cd12acbbba8ff16ab0cbc9b17bc47985) to a simple boolean. If you've changed the default, you'll need to update your config:

```diff
module "gke" {
source = "terraform-google-modules/kubernetes-engine/google"
- version = "~> 9.0"
+ version = "~> 10.0"
...
- pod_security_policy_config = [{
- enabled = true
- }]
+ enable_pod_security_policy = true
}
```