Merge pull request #8282 from hakman/ec2-instance-types

Update default instance types for AWS
This commit is contained in:
Kubernetes Prow Robot 2020-01-18 09:33:35 -08:00 committed by GitHub
commit 985a71a07b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 17 deletions

View File

@ -1,21 +1,19 @@
## Release notes for kops 1.18 series ## Release notes for kops 1.18 series
(The kops 1.18 release has not been released yet, this is a document to gather (The kops 1.18 release has not been released yet, this is a document to gather the notes prior to the release).
the notes prior to the release).
# Breaking changes # Breaking changes
* Terraform users on AWS may need to rename some resources in their state file in order to prepare for Terraform 0.12 support. See Required Actions below. * Terraform users on AWS may need to rename some resources in their state file in order to prepare for Terraform 0.12 support. See Required Actions below.
* Please see the notes in the 1.15 release about the apiGroup changing from kops * A controller is now used to apply labels to nodes. If you are not using AWS, GCE or OpenStack your (non-master) nodes may not have labels applied correctly.
to kops.k8s.io
* Since 1.16, a controller is now used to apply labels to nodes. If * Please see the notes in the 1.15 release about the apiGroup changing from kops to kops.k8s.io
you are not using AWS, GCE or OpenStack your (non-master) nodes may
not have labels applied correctly.
# Significant changes # Significant changes
* The default instance type for AWS is now t3.medium. This should provide better performance and reduced costs in clusters where the average CPU usage is low.
# Required Actions # Required Actions
* Terraform users on AWS may need to rename resources in their terraform state file in order to prepare for future Terraform 0.12 support. * Terraform users on AWS may need to rename resources in their terraform state file in order to prepare for future Terraform 0.12 support.
@ -39,4 +37,4 @@ the notes prior to the release).
* If a custom Kops build was used on a cluster, a kops-controller Deployment may have been created that should get deleted. * If a custom Kops build was used on a cluster, a kops-controller Deployment may have been created that should get deleted.
Run `kubectl -n kube-system delete deployment kops-controller` after upgrading to Kops 1.16.0-beta.1 or later. Run `kubectl -n kube-system delete deployment kops-controller` after upgrading to Kops 1.16.0-beta.1 or later.
# Full change list since 1.16.0 release # Full change list since 1.17.0 release

View File

@ -1341,17 +1341,13 @@ func (c *awsCloudImplementation) DefaultInstanceType(cluster *kops.Cluster, ig *
var candidates []string var candidates []string
switch ig.Spec.Role { switch ig.Spec.Role {
case kops.InstanceGroupRoleMaster: case kops.InstanceGroupRoleMaster, kops.InstanceGroupRoleNode:
// Some regions do not (currently) support the m3 family; the c4 large is the cheapest non-burstable instance // t3.medium is the cheapest instance with 4GB of mem, unlimited by default, fast and has decent network
// (us-east-2, ca-central-1, eu-west-2, ap-northeast-2). // c5.large and c4.large are a good second option in case t3.medium is not available in the AZ
// Also some accounts are no longer supporting m3 in us-east-1 zones candidates = []string{"t3.medium", "c5.large", "c4.large"}
candidates = []string{"m3.medium", "c4.large"}
case kops.InstanceGroupRoleNode:
candidates = []string{"t2.medium"}
case kops.InstanceGroupRoleBastion: case kops.InstanceGroupRoleBastion:
candidates = []string{"t2.micro"} candidates = []string{"t3.micro", "t2.micro"}
default: default:
return "", fmt.Errorf("unhandled role %q", ig.Spec.Role) return "", fmt.Errorf("unhandled role %q", ig.Spec.Role)