Skip to content

Latest commit

 

History

History
306 lines (282 loc) · 36.7 KB

1.18-NOTES.md

File metadata and controls

306 lines (282 loc) · 36.7 KB

Release notes for kops 1.18 series

(The kops 1.18 release has not been released yet, this is a document to gather the notes prior to the release).

Significant changes

  • containerd can now be selected as an alternate container runtime for Kubernetes. Use the --container-runtime containerd flag to create such a cluster.

  • 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.

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.

  • Lyft CNI plugin default subnet tags changed from from Type: pod to KubernetesCluster: myclustername.mydns.io. Subnets intended for use by the plugin will need to be tagged with this new tag and additional tag filters may need to be added to the cluster spec in order to achieve the desired set of subnets.

  • Support for Kubernetes versions prior to 1.9 has been removed.

  • Kubernetes 1.9 users will need to enable the PodPriority feature gate. See Required Actions below.

  • 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.

  • Please see the notes in the 1.15 release about the apiGroup changing from kops to kops.k8s.io

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 0.12 no longer supports resource names starting with digits. In Kops, both the default route and additional VPC CIDR associations are affected. See #7957 for more information.

    • The default route was named aws_route.0-0-0-0--0 and will now be named aws_route.route-0-0-0-0--0.
    • Additional CIDR blocks associated with a VPC were similarly named the hyphenated CIDR block with two hyphens for the /, for example aws_vpc_ipv4_cidr_block_association.10-1-0-0--16. These will now be prefixed with cidr-, for example aws_vpc_ipv4_cidr_block_association.cidr-10-1-0-0--16.

    To prevent downtime, follow these steps with the new version of Kops:

    kops update cluster --target terraform ...
    terraform plan
    # Observe any aws_route or aws_vpc_ipv4_cidr_block_association resources being destroyed and recreated
    # Run these commands as necessary. The exact names may differ; use what is outputted by terraform plan
    terraform state mv aws_route.0-0-0-0--0 aws_route.route-0-0-0-0--0
    terraform state mv aws_vpc_ipv4_cidr_block_association.10-1-0-0--16 aws_vpc_ipv4_cidr_block_association.cidr-10-1-0-0--16
    terraform plan
    # Ensure these resources are no longer being destroyed and recreated
    terraform apply
    
  • Kubernetes 1.9 users will need to enable the PodPriority feature gate. This is required for newer versions of Kops.

    To enable the Pod priority feature, follow these steps:

    kops edit cluster
    # Add the following section
    spec:
      kubelet:
        featureGates:
          PodPriority: "true"
    
  • 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.

Deprecations

  • Support for Kubernetes version 1.10 is deprecated and will be removed in kops 1.19.

Full change list since 1.17.0 release

1.17.0-alpha.1 to 1.18.0-alpha.1

1.18.0-alpha.1 to 1.18.0-alpha.2