Release notes for kOps 1.21 series
⚠ kOps 1.21 has not been released yet! ⚠
This is a document to gather the release notes prior to the release.
Significant changes
Dedicated API Server nodes.
kOps now supports extending the control plane with dedicated apiserver nodes. These nodes run in dedicated instance groups that can be scaled horizontally.
In 1.21, this feature is behind a feature flag as node role name, labels, taints, and domains can change based on feedback from the community.
Other significant changes
- Protokube now runs as a systemd process rather than a docker container.
Breaking changes
Required Actions
Deprecations
- Support for Kubernetes versions 1.15 and 1.16 are deprecated and will be removed in kOps 1.22.
- Support for launch configurations has been removed in favour of launch templates.
Full change list since 1.21.0-alpha.1 release
1.21.0-alpha.1 to 1.21.0-alpha.2
- Release notes for 1.21.0-alpha.1 @hakman #10844
- Update mock to v1.21.0-alpha.1 @hakman #10845
- Kubetest2 - terraform support @rifelpet #10697
- Actually enable systemd cgroup for containerd @codablock #10846
- Update Go to v1.15.8 @hakman #10853
- Add liveness probe for calico-kube-controllers @hakman #10856
- Fix OpenStack delete functions @ottosulin #10849
- Add support for CAS 1.20 + support for disabling CAS for a given IG @olemarkus #10857
- Bump aws node termination handler to 1.12.0 @bharath-123 #10863
- Kubetest2 - add ginkgo node debug logs @rifelpet #10866
- K8s Version Updates February 2021 @MoShitrit #10865
- Add note about remote identities @olemarkus #10868
- Bump metrics-server to 0.4.2 @olemarkus #10858
- kubetest2 - support terraform with
kops create cluster
@rifelpet #10867 - Add validation for instanceType and ami architecture @bharath-123 #10747
- Upgrade k8s 1.20 to latest patch version @MoShitrit #10875
- Update AWS CNI to latest patch version @MoShitrit #10876
- Fixes for 1.21 e2e tests @olemarkus #10879
- Release notes for 1.19.1 @justinsb #10883
- Improve machine type and image validation @hakman #10884
- fix loadBalancerID null pointer @collin-woodruff-t1cg #10886
- Update Openstack Cloud Go module to v1.20.1 @bmelbourne #10896
- Enforce 1.14 deprecation @olemarkus #10897
- add usage of subnet and routetable shared resources in azure @ngalantowicz #10900
- Update Calico to v3.18.0 @hakman #10904
- Adding Elastic IP Allocations to NLB API @timothyclarke #10872
- Release notes for 1.20.0-beta.1 @hakman #10909
- Update Google Cloud Go module to v0.77.0 @bmelbourne #10894
- Add Tagging to Instance Profiles and OIDC Providers @rifelpet #10832
- AWS LB controller is as of 1.20, not 1.19 @olemarkus #10919
- Spotinst: Prevent instance groups with the same suffix from being deleted @liranp #10918
- add support for azure public loadbalancer @collin-woodruff-t1cg #10915
- Fix nil pointer deference for image ID with spotinst @hakman #10924
- Update SSH documentation for ubuntu @jpugliesi #10931
- Fix no-schedule issue @christian-schlichtherle #10928
- Update Controller Runtime Go module to v0.8.2 @bmelbourne #10914
- Sort external policies when checking for changes @hakman #10940
- Instruct GH to collapse BUILD.bazel diffs by default @rifelpet #10912
- Further improve cloudLabel validation @olemarkus #10910
- Add a standardised set of labels on all resources @olemarkus #10796
- Bump external-dns to 0.7.6 @olemarkus #10946
- Update etcd-manager to 3.0.20210228 @justinsb #10949
- gce doesn't suffix the IG names with ClusterName @olemarkus #10944
- Add AWS Transit Gateway support @rifelpet #10948
- Fix node label conversion in Azure @kenji-cloudnatix #10935
- Spotinst: Bump the Ocean Controller to 1.0.73 @liranp #10960
- Spotinst: Don't skip LB attachments when SpotinstHybrid is enabled @liranp #10961
- Add explicit RBAC permissions for finalizers subresources @olemarkus #10966
- Fix typos in docs/getting_started @roim #10921
- Add support for CPU Credits on AWS t2 and t3 instance families @rifelpet #10934
- Add support for enable-cadvisor-json-endpoints with Kubelet @adrianmoisey #10957
- Exclude CP nodes from load balancers @olemarkus #10945
- Update k8s.io Go modules to v0.20.4 @bmelbourne #10965
- Update Go to v1.16 @bmelbourne #10892
- Add a note about informal office hours @olemarkus #10650
- Removing duplicate local and output values in terraform(#10786) @mmerrill3 #10978
- Add CloudLabels as --extra-tags to aws-ebs-csi driver @codablock #10976
- Use internal api url for jwks @olemarkus #10888
- Disable Calico Prometheus metrics by default @hakman #10982
- Add etcd-manager discoveryPollInterval option @ottosulin #10975
- Remove manually added labels from addons @hakman #10987
- Fix kops-controller rbac due to leader election change @olemarkus #10988
- Various cleanups around apply_cluster and awsmodel @olemarkus #10579
- Fix very minor formatting typos in docs/manifests_and_customizing_via_api @vitaliyf #10990
- Run protokube as a systemd service @bharath-123,@hakman #10574
- kubetest2 - don't overwrite create args that use equals signs @rifelpet #10994
- Remove support for launch configurations @bharath-123 #10937
- Use exponential backoff for DNS updates @hakman #10996
- Storage: Amend default choice for StorageClass management to honor a specified OpenStack-related value @seh #11002
- Add to 1.21 release notes @bharath-123 #11004
- Kubetest2 - Add support for publishing the kops version marker @rifelpet #11006
- Kubetest2 - Fix kops' --kubernetes-version with k8s version markers @rifelpet #11007
- Don't build kops during periodic upgrade tests @rifelpet #11005
- Remove extraneous field from integration test @rifelpet #11010
- Remove trailing newline from kubernetes version marker @rifelpet #11011
- aws: Graceful handling of EC2 detach errors @hwoarang #10740
- Kubetest2 - use same kops binary for all commands in upgrade scenario @rifelpet #11017
- Update Calico to v3.18.1 @hakman #11018
- Increase route53 retry count from 3 to 5 @rifelpet #11020
- Spotinst: Add support for block device mappings in Ocean Launch Spec @liranp #11009
- Allow cilium 1.10 @olemarkus #11026
- Fix rendering of multiple Docker insecure registries @hakman #11027
- azure: fix null pointer when updating in place cluster @collin-woodruff-t1cg #11015
- Release notes for 1.20.0-beta.2 @hakman #11034
- Update k8s dependencies to v1.21.0-beta.1 @hakman #11013
- Trim space on kops version markers @rifelpet #11037
- Honor OS update policy at InstanceGroup level too @seh #10913
- Update Go to v1.16.2 @hakman #11039
- Create an environment file for kops-configuration systemd process @bharath-123 #11042
- Improve instance type validation error message @bharath-123 #11043
- Revert upgrade script to build kops @rifelpet #11044
- cluster validation - allow flapping of validation errors @rifelpet #11049
- Update Terraform to v0.14.8 @bmelbourne #11051
- Cleanup some nodeup & protokube logging @rifelpet #11052
- Update Go modules to latest versions @bmelbourne #11047
- Add channels entries for image architecture @hakman #11046
- fix CNI bin path in troubleshoot.md @adrianmester #11061
- Kubetest2 - Add GCE default SSH key values from prow jobs @rifelpet #11065
- correct a word for readme @yojay11717 #11066
- Update Bazel to v3.5.0 @hakman #11041
- Install bazelisk before pushing images @hakman #11067
- Kubetest2 - Add boskos for GCE support @rifelpet #11070
- Download kubectl to /opt/kops/bin on Flatcar OS @rifelpet #11054
- Kubetest2 - initialize boskos heartbeat channel @rifelpet #11073
- Instance roles for service accounts (IRSA) contd @rifelpet,@olemarkus #10756
- Kubetest2 - add more validation time for --target terraform @rifelpet #11077
- Fix GCE channels version constraints @rifelpet #11076
- Update k8s versions with March 2021 releases @MoShitrit #11075
- Upgrade AWS CNI to version 1.7.10 @MoShitrit #11078
- Improve error messages around PublicJWKS @justinsb #11085
- Don't add control-plane DNS permissions with UseServiceAccountIAM @justinsb #11086
- Ensure a publicdatastore exists for jwks and that it can only be s3 @olemarkus #11081
- Apiserver nodes @olemarkus #10722
- fix(docs): cpuCFSQuotaPeriod needs a feature gate @danmx #11071
- Update Ubuntu 20.04 to latest AMI @bmelbourne #11083
- Re-add integration tests for jwks @justinsb #11087
- Replace go-bindata with go:embed @rifelpet #11089
- Dns controller fixes @olemarkus #11069
- Remove unused RoleLabelName16 @justinsb #11097
- Add additional IOPS validation for AWS EBS gp3 volumes @lichuan0620 #10843
- Update google SDK libraries @justinsb #11096
- Add values page @justinsb #11094
- Deeper validation in dns controller tests @justinsb #11095
- Ensure protokube can connect to kube-apiserver before starting the sync loop @olemarkus #11093
- Remove dbus dependency @bharath-123 #11082
- Have nodeup retry kops-controller bootstrapping sooner if DNS isn't setup @rifelpet #11101
- Update AWS zones used by e2e tests @rifelpet #11103
- Add docs about dedicated apiserver ndoes @olemarkus #11090
- Put awslbcontroller on the control-plane @olemarkus #11091
- Release 1.21.0 alpha.2 @hakman #11109