4.8 KiB
Release notes for kOps 1.22 series
⚠ kOps 1.22 has not been released yet! ⚠
This is a document to gather the release notes prior to the release.
Significant changes
Instance metadata service version 2
On AWS, kOps will enable Instance Metadata Service Version 2 and require tokens on new clusters with Kubernetes 1.22. In addition, the following max hop limits will be set by default:
- worker and API server Nodes, and bastions, will have a limit of 1 hop.
- control plane nodes will have a limit of 3 hops to accommodate for controller Pods without host networking that need to assume roles.
This will increase security by default, but may break some types of workloads. In order to revert to old behavior, add the following to the InstanceGroup:
spec:
instanceMetadata:
httpTokens: optional
Other significant changes
-
The kOps Terraform support now renders managed files through the Terraform configuration instead of writing them to S3 directly. This defers changes to these files until the time of
terraform apply. This feature may be temporarily disabled by turning off theTerraformManagedFilesfeature flag usingexport KOPS_FEATURE_FLAGS="-TerraformManagedFiles". -
New clusters running Kubernetes 1.22 will have AWS EBS CSI driver enabled by default.
Breaking changes
-
Support for Kubernetes versions 1.15 and 1.16 has been removed.
-
The legacy location for downloads
s3://https://kubeupv2.s3.amazonaws.com/kops/has been deprecated and will not be used for new releases. The new canonical downloads location ishttps://artifacts.k8s.io/binaries/kops/. -
The
assetsphase ofkops update clusterhas been removed. It is replaced by the newkops get assets --copycommand. -
Support for importing and converting kubeup clusters has been removed.
Required actions
-
The kOps Terraform support now renders managed files through the Terraform configuration instead of writing them to S3 directly. If, after upgrading kOps and applying a new Terraform plan, you subsequently downgrade to an earlier version of kOps, the generated plan will delete these files, breaking the cluster. Prior to applying the plan, you will need to orphan all the
aws_s3_bucket_objectobjects the plan wants to destroy. Useterraform state rmon each of them. Then re-runterraform planuntil there are no such objects in the plan.If you applied the plan without first orphaning all of these objects, fix the cluster by re-running
kops update cluster --target terraform.
Deprecations
-
Support for Kubernetes version 1.17 is deprecated and will be removed in kOps 1.23.
-
Support for Kubernetes version 1.18 is deprecated and will be removed in kOps 1.24.
-
Support for CentOS 7 is deprecated and will be removed in future versions of kOps.
-
Support for CentOS 8 is deprecated and will be removed in future versions of kOps.
-
Support for Debian 9 (Stretch) is deprecated and will be removed in future versions of kOps.
-
Support for RHEL 7 is deprecated and will be removed in future versions of kOps.
-
Support for Ubuntu 18.04 (Bionic) is deprecated and will be removed in future versions of kOps.
-
The manifest based metrics server addon has been deprecated in favour of a configurable addon.
-
The manifest based cluster autoscaler addon has been deprecated in favour of a configurable addon.
-
The
node-role.kubernetes.io/masterandkubernetes.io/rolelabels are deprecated and might be removed from control plane nodes in kOps 1.23. -
Due to lack of maintainers, the Aliyun/Alibaba Cloud support has been deprecated. The current implementation will be left as-is until the implementation needs updates or otherwise becomes incompatible. At that point, it will be removed. We very much welcome anyone willing to contribute to this cloud provider.
-
Due to lack of maintainers, the CloudFormation support has been deprecated. The current implementation will be left as-is until the implementation needs updates or otherwise becomes incompatible. At that point, it will be removed. We very much welcome anyone willing to contribute to this target.
Other changes of note
-
It is no longer necessary to set
AWS_SDK_LOAD_CONFIG=1in the environment when using AWS assumed roles with thekopsCLI. -
There is a new command
kops get assetsfor listing image and file assets used by a cluster. It also includes a--copyflag to copy the assets to local repositories. See the documentation on Using local asset repositories for more information.