## Release notes for kOps 1.24 series # Significant changes ## Hetzner Cloud support Adds experimental Hetzner Cloud support. To get started check the [docs](../getting_started/hetzner.md) ## Karpenter support By enabling the `Karpenter` feature flag, users can now create InstanceGroups managed by [Karpenter](https://karpenter.sh): ``` spec: manager: Karpenter ``` You can also start a Karpenter-only cluster with `kops create cluster --instance-manager=karpenter ...` kOps will directly manage the Karpenter Provisioner resources. Read more about how Karpenter works on kOps in the [Karpenter docs](https://kops.sigs.k8s.io/operations/karpenter/). ## Other significant changes * Adds support for Ubuntu 22.04 * Adds support for Rocky Linux 8 * Adds support for overriding the Kubernetes version when upgrading a cluster by using the `--kubernetes-version` flag. * The minimum version for the Terraform AWS Provider has been bumped to 4.0.0 to address the deprecation of the aws_s3_bucket_object resource and its replacement with the aws_s3_object resource. Such resources will be destroyed and recreated without downtime when applying the changes. * ARM64 support for nvidia device driver. Nvidia nodes on ARM64 requires Ubuntu 22.04 AMIs. # Breaking changes * The nfs-common/nfs-utils package is no longer installed by default. Use the [packages](https://kops.sigs.k8s.io/instance_groups/#packages) option at instance group level to add it back. ## Control plane taints and labels As of Kubernetes version 1.24, the control plane (formerly master) nodes no longer have the deprecated `node-role.kubernetes.io/master` label. The deprecated `node-role.kubernetes.io/master` taint has been replaced by `node-role.kubernetes.io/control-plane`. If you run your own workload on the control plane, you have to adjust your Pod spec to accommodate for this change. The following shows a node affinity/node label selector and tolerations that works with both new and old control plane nodes: ```yaml spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: node-role.kubernetes.io/control-plane operator: Exists - matchExpressions: - key: node-role.kubernetes.io/master operator: Exists tolerations: - key: node-role.kubernetes.io/control-plane operator: Exists - key: node-role.kubernetes.io/master operator: Exists ``` ## Removing the `kubernetes.io/role` label The deprecated `kubernetes.io/role` label has been removed for all roles as of Kubernetes version 1.24. Use `node-role.kubernetes.io/` label instead. ## Cert Manager removes old API versions Cert Manager upgraded from 1.6 to 1.8. This has backwards-breaking changes. See upgrading from [1.6 to 1.7](https://cert-manager.io/docs/installation/upgrading/upgrading-1.6-1.7/) and [1.[1.7 to 1.8](https://cert-manager.io/docs/installation/upgrading/upgrading-1.7-1.8/). In particular, if you are using the snapshot-controller addon, upgrade your cluster to kOps 1.23 before upgrading to kOps 1.24 to ensure the certificate has the correct API version. ## Other breaking changes * Support for Kubernetes version 1.18 has been removed. * Support for Aliyun/Alibaba Cloud has been removed. * Support for Docker has been removed for Kubernetes 1.24+. See https://kubernetes.io/blog/2020/12/02/dockershim-faq * Cluster Autoscaler can no longer run on spot instances. This is to avoid cluster autoscaler not being scheduled if the spot instances terminate. # Required actions # Deprecations * Support for Kubernetes version 1.19 is deprecated and will be removed in kOps 1.25. * Support for Kubernetes version 1.20 is deprecated and will be removed in kOps 1.26. * All legacy addons are deprecated in favor of managed addons, including the [metrics server addon](https://github.com/kubernetes/kops/tree/master/addons/metrics-server) and the [autoscaler addon](https://github.com/kubernetes/kops/tree/master/addons/cluster-autoscaler). * 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. * Support for Docker has been removed for Kubernetes 1.24+. See https://kubernetes.io/blog/2020/12/02/dockershim-faq * The minimum supported version of the AWS EBS CSI Driver is now v1.3.1. # Other changes of note # Full change list since 1.23.0 release ## 1.24.0-alpha.1 to 1.24.0-alpha.2 * Update release notes and minimum k8s version [@hakman](https://github.com/hakman) [#12929](https://github.com/kubernetes/kops/pull/12929) * kops auth-plugin: need to clear any existing password / key [@justinsb](https://github.com/justinsb) [#12921](https://github.com/kubernetes/kops/pull/12921) * Add integration test for k8s 1.24 [@olemarkus](https://github.com/olemarkus) [#12930](https://github.com/kubernetes/kops/pull/12930) * Only shellcheck files [@olemarkus](https://github.com/olemarkus) [#12931](https://github.com/kubernetes/kops/pull/12931) * Do not set insecure-port as of k8s 1.20 [@olemarkus](https://github.com/olemarkus) [#12926](https://github.com/kubernetes/kops/pull/12926) * tests: Improve logging on test failure [@justinsb](https://github.com/justinsb) [#12933](https://github.com/kubernetes/kops/pull/12933) * nodeup: store the CloudProvider in the context [@justinsb](https://github.com/justinsb) [#12923](https://github.com/kubernetes/kops/pull/12923) * bazel: always build with pure (CGO_ENABLED=0) [@justinsb](https://github.com/justinsb) [#12934](https://github.com/kubernetes/kops/pull/12934) * nodeup: print more info on hash mismatches [@justinsb](https://github.com/justinsb) [#12935](https://github.com/kubernetes/kops/pull/12935) * PKI library: Add initial support for EC keys [@justinsb](https://github.com/justinsb) [#12936](https://github.com/kubernetes/kops/pull/12936) * Recognize debian bullseye as having "broken" resolv.conf [@justinsb](https://github.com/justinsb) [#12937](https://github.com/kubernetes/kops/pull/12937) * Remove code for now-unsupported Kubernetes 1.18 [@johngmyers](https://github.com/johngmyers) [#12939](https://github.com/kubernetes/kops/pull/12939) * Add missing k8s 1.18 relnote [@johngmyers](https://github.com/johngmyers) [#12938](https://github.com/kubernetes/kops/pull/12938) * Remove obsolete, redundant secrets.md [@johngmyers](https://github.com/johngmyers) [#12942](https://github.com/kubernetes/kops/pull/12942) * Drop support for Weave as of k8s 1.23 [@johngmyers](https://github.com/johngmyers) [#12941](https://github.com/kubernetes/kops/pull/12941) * Remove support for Aliyun/Alibaba Cloud [@johngmyers](https://github.com/johngmyers) [#12944](https://github.com/kubernetes/kops/pull/12944) * Document CoreDNS configuration settings [@recollir](https://github.com/recollir) [#12914](https://github.com/kubernetes/kops/pull/12914) * Update name of kubernetes-ca keypair in documentation [@johngmyers](https://github.com/johngmyers) [#12943](https://github.com/kubernetes/kops/pull/12943) * Revert "Recognize debian bullseye as having "broken" resolv.conf" [@olemarkus](https://github.com/olemarkus) [#12947](https://github.com/kubernetes/kops/pull/12947) * Set the default LT version to the new LT version [@olemarkus](https://github.com/olemarkus) [#12932](https://github.com/kubernetes/kops/pull/12932) * Make service topology for cilium configurable [@olemarkus](https://github.com/olemarkus) [#12918](https://github.com/kubernetes/kops/pull/12918) * gce: ServiceAccount task [@justinsb](https://github.com/justinsb) [#12950](https://github.com/kubernetes/kops/pull/12950) * Update Calico and Canal to v3.21.2 [@hakman](https://github.com/hakman) [#12951](https://github.com/kubernetes/kops/pull/12951) * Update Go to v1.17.5 [@hakman](https://github.com/hakman) [#12954](https://github.com/kubernetes/kops/pull/12954) * Skip IPv6 LB test in the k/s e2e [@hakman](https://github.com/hakman) [#12953](https://github.com/kubernetes/kops/pull/12953) * GCE: Task for StorageBucket IAM [@justinsb](https://github.com/justinsb) [#12958](https://github.com/kubernetes/kops/pull/12958) * GCE: Project IAM Binding task [@justinsb](https://github.com/justinsb) [#12959](https://github.com/kubernetes/kops/pull/12959) * add verify-golangci-lint.sh script [@rlankfo](https://github.com/rlankfo) [#12892](https://github.com/kubernetes/kops/pull/12892) * Hubble relay should not tolerate anything [@olemarkus](https://github.com/olemarkus) [#12963](https://github.com/kubernetes/kops/pull/12963) * Do not explicitly skip Dashboard tests [@hakman](https://github.com/hakman) [#12962](https://github.com/kubernetes/kops/pull/12962) * Do not skip NodePort tests for Calico [@hakman](https://github.com/hakman) [#12960](https://github.com/kubernetes/kops/pull/12960) * Remove verify-staticcheck [@rifelpet](https://github.com/rifelpet) [#12965](https://github.com/kubernetes/kops/pull/12965) * wait for instances to drain from classic LB [@heybronson](https://github.com/heybronson) [#12902](https://github.com/kubernetes/kops/pull/12902) * Support Karpenter [@olemarkus](https://github.com/olemarkus) [#12906](https://github.com/kubernetes/kops/pull/12906) * Update containerd to v1.6.0-beta.4 [@hakman](https://github.com/hakman) [#12968](https://github.com/kubernetes/kops/pull/12968) * Update controller-runtime to v0.11.0 [@hakman](https://github.com/hakman) [#12967](https://github.com/kubernetes/kops/pull/12967) * Add missing permissions [@olemarkus](https://github.com/olemarkus) [#12977](https://github.com/kubernetes/kops/pull/12977) * Do not skip HPA tests [@hakman](https://github.com/hakman) [#12972](https://github.com/kubernetes/kops/pull/12972) * Do not skip RuntimeClass tests [@hakman](https://github.com/hakman) [#12974](https://github.com/kubernetes/kops/pull/12974) * gce: Use ServiceAccount task when building model [@justinsb](https://github.com/justinsb) [#12978](https://github.com/kubernetes/kops/pull/12978) * Quote values and remove limits in karpenter provisioners [@olemarkus](https://github.com/olemarkus) [#12979](https://github.com/kubernetes/kops/pull/12979) * Promote alpha with December releases [@olemarkus](https://github.com/olemarkus) [#12984](https://github.com/kubernetes/kops/pull/12984) * gce: map multiple serviceaccounts [@justinsb](https://github.com/justinsb),[@hakman](https://github.com/hakman) [#12982](https://github.com/kubernetes/kops/pull/12982) * Defend against nil containerd [@justinsb](https://github.com/justinsb) [#12990](https://github.com/kubernetes/kops/pull/12990) * Remove unused TemplateResource interface [@justinsb](https://github.com/justinsb) [#12989](https://github.com/kubernetes/kops/pull/12989) * Avoid double-encoding templates [@justinsb](https://github.com/justinsb) [#12991](https://github.com/kubernetes/kops/pull/12991) * Refactor nodeup script to avoid action-at-a-distance [@justinsb](https://github.com/justinsb) [#12993](https://github.com/kubernetes/kops/pull/12993) * gce: use per InstanceGroup serviceaccounts [@justinsb](https://github.com/justinsb) [#12988](https://github.com/kubernetes/kops/pull/12988) * dep: update github.com/pkg/sftp [@justinsb](https://github.com/justinsb) [#12996](https://github.com/kubernetes/kops/pull/12996) * Create helper functions for parsing public keys [@justinsb](https://github.com/justinsb) [#12999](https://github.com/kubernetes/kops/pull/12999) * Use terraform literals in GCP service account references [@rifelpet](https://github.com/rifelpet) [#12995](https://github.com/kubernetes/kops/pull/12995) * kops-controller: use controller-runtime manager [@justinsb](https://github.com/justinsb) [#12997](https://github.com/kubernetes/kops/pull/12997) * gce: clean up networking objects by reference [@justinsb](https://github.com/justinsb) [#12987](https://github.com/kubernetes/kops/pull/12987) * componentconfig: expose advertise-address flag for kube-apiserver [@justinsb](https://github.com/justinsb) [#12998](https://github.com/kubernetes/kops/pull/12998) * Do not allow docker on k8s 1.24+ [@olemarkus](https://github.com/olemarkus) [#12927](https://github.com/kubernetes/kops/pull/12927) * Ignore images hosted in private ECR repositories as containerd cannot pull these [@olemarkus](https://github.com/olemarkus) [#13000](https://github.com/kubernetes/kops/pull/13000) * Skip RuntimeClass tests for older Kubernetes versions [@hakman](https://github.com/hakman) [#13003](https://github.com/kubernetes/kops/pull/13003) * Various nill pointer fixes for karpenter [@olemarkus](https://github.com/olemarkus) [#12973](https://github.com/kubernetes/kops/pull/12973) * Set Resource Based Naming on managed subnets [@johngmyers](https://github.com/johngmyers) [#12864](https://github.com/kubernetes/kops/pull/12864) * Add kubetest2-kops flags for overriding instance group fields [@rifelpet](https://github.com/rifelpet) [#13005](https://github.com/kubernetes/kops/pull/13005) * Support creating dualstack internal NLBs [@johngmyers](https://github.com/johngmyers) [#13006](https://github.com/kubernetes/kops/pull/13006) * Skip SCTP check for all versions of k8s 1.23/1.24 [@olemarkus](https://github.com/olemarkus) [#13008](https://github.com/kubernetes/kops/pull/13008) * Use spread constraints rather than affinity to spread pods [@olemarkus](https://github.com/olemarkus) [#12961](https://github.com/kubernetes/kops/pull/12961) * Bump karpenter to 0.5.3 and RBN support [@olemarkus](https://github.com/olemarkus) [#13002](https://github.com/kubernetes/kops/pull/13002) * Validate IGs more strictly after defaults have applied [@olemarkus](https://github.com/olemarkus) [#12660](https://github.com/kubernetes/kops/pull/12660) * Karpenter template fix [@olemarkus](https://github.com/olemarkus) [#13009](https://github.com/kubernetes/kops/pull/13009) * staticcheck cleanup: fixup nodeup/pkg/model [@justinsb](https://github.com/justinsb) [#13013](https://github.com/kubernetes/kops/pull/13013) * nodeup bash script: use explicit return code [@justinsb](https://github.com/justinsb) [#13012](https://github.com/kubernetes/kops/pull/13012) * Prevent creation of unsupported etcd clusters [@olemarkus](https://github.com/olemarkus) [#13011](https://github.com/kubernetes/kops/pull/13011) * Create cgroups for kube and runtime if configured [@olemarkus](https://github.com/olemarkus) [#12917](https://github.com/kubernetes/kops/pull/12917) * Do not install ClusterRole and binding used by in-tree volume provider if CSI is used [@olemarkus](https://github.com/olemarkus) [#13010](https://github.com/kubernetes/kops/pull/13010) * kubetest2 - Use the same binary path and env when fetching IGs [@rifelpet](https://github.com/rifelpet) [#13018](https://github.com/kubernetes/kops/pull/13018) * Use fi.Keyset instead of passing tasks around [@justinsb](https://github.com/justinsb) [#12992](https://github.com/kubernetes/kops/pull/12992) * add instance connection draining for NLBs [@heybronson](https://github.com/heybronson) [#12966](https://github.com/kubernetes/kops/pull/12966) * Use kubelet --non-masquerade-cidr only for Docker with kubenet [@hakman](https://github.com/hakman) [#13007](https://github.com/kubernetes/kops/pull/13007) * Fix dangling ENIs from AWS VPC CNI [@olemarkus](https://github.com/olemarkus) [#13021](https://github.com/kubernetes/kops/pull/13021) * Update k8s dependencies to v1.23.1 [@hakman](https://github.com/hakman) [#13022](https://github.com/kubernetes/kops/pull/13022) * Improve HA for various addons [@olemarkus](https://github.com/olemarkus) [#13027](https://github.com/kubernetes/kops/pull/13027) * Add a CLI flag for creating one karpenter-managed IG for worker nodes instead of ASG-managed ones [@olemarkus](https://github.com/olemarkus) [#12975](https://github.com/kubernetes/kops/pull/12975) * Allow IPv6-only subnets [@johngmyers](https://github.com/johngmyers) [#13026](https://github.com/kubernetes/kops/pull/13026) * Support specifying instance requirements per IG [@olemarkus](https://github.com/olemarkus) [#13019](https://github.com/kubernetes/kops/pull/13019) * Remove TerraformJSON feature flag [@rifelpet](https://github.com/rifelpet) [#13029](https://github.com/kubernetes/kops/pull/13029) * LBC has to run on the control plane, so set replicas accordingly [@olemarkus](https://github.com/olemarkus) [#13033](https://github.com/kubernetes/kops/pull/13033) * Fix various typos related to karpenter [@olemarkus](https://github.com/olemarkus) [#13035](https://github.com/kubernetes/kops/pull/13035) * Kube components log to stdout [@olemarkus](https://github.com/olemarkus) [#13038](https://github.com/kubernetes/kops/pull/13038) * Identify pending instances [@olemarkus](https://github.com/olemarkus) [#13040](https://github.com/kubernetes/kops/pull/13040) * Add managed-by label to static kube-proxy pods [@olemarkus](https://github.com/olemarkus) [#13039](https://github.com/kubernetes/kops/pull/13039) * Prefix karpenter logging-config name [@olemarkus](https://github.com/olemarkus) [#13037](https://github.com/kubernetes/kops/pull/13037) * gce: don't set per-IG permissions when using shared account [@justinsb](https://github.com/justinsb) [#13043](https://github.com/kubernetes/kops/pull/13043) * Add documentation on karpenter [@olemarkus](https://github.com/olemarkus) [#13036](https://github.com/kubernetes/kops/pull/13036) * external CCM for GCE [@jiahuif](https://github.com/jiahuif) [#13017](https://github.com/kubernetes/kops/pull/13017) * Migrate to GCE CCM in k8s 1.24 [@johngmyers](https://github.com/johngmyers) [#13045](https://github.com/kubernetes/kops/pull/13045) * Fix OpenStack SecurityGroupRule/LB When CIDR is IPv6 [@iGene](https://github.com/iGene) [#13032](https://github.com/kubernetes/kops/pull/13032) * update deps [@zetaab](https://github.com/zetaab) [#13047](https://github.com/kubernetes/kops/pull/13047) * Bump Cluster Autoscaler and update manifest [@olemarkus](https://github.com/olemarkus) [#13050](https://github.com/kubernetes/kops/pull/13050) * Use instance requirements with Karpenter [@olemarkus](https://github.com/olemarkus) [#13031](https://github.com/kubernetes/kops/pull/13031) * force update dependencies [@zetaab](https://github.com/zetaab) [#13055](https://github.com/kubernetes/kops/pull/13055) * Enhance AddHostPathMapping to support a fluent style [@justinsb](https://github.com/justinsb) [#13062](https://github.com/kubernetes/kops/pull/13062) * addons: support for kopeio-networking addon [@justinsb](https://github.com/justinsb) [#12727](https://github.com/kubernetes/kops/pull/12727) * Use latest GCP CCM for k8s 1.24 [@johngmyers](https://github.com/johngmyers) [#13066](https://github.com/kubernetes/kops/pull/13066) * Add action for automatically tagging releases [@johngmyers](https://github.com/johngmyers) [#12805](https://github.com/kubernetes/kops/pull/12805) * Bump external-snapshotted to v5.0.0 [@olemarkus](https://github.com/olemarkus) [#13067](https://github.com/kubernetes/kops/pull/13067) * Release 1.24.0-alpha.2 [@johngmyers](https://github.com/johngmyers) [#13069](https://github.com/kubernetes/kops/pull/13069) ## 1.24.0-alpha.2 to 1.24.0-alpha.3 * Release notes for 1.24.0-alpha.2 [@johngmyers](https://github.com/johngmyers) [#13070](https://github.com/kubernetes/kops/pull/13070) * Update release process for automatic tagging [@johngmyers](https://github.com/johngmyers) [#13075](https://github.com/kubernetes/kops/pull/13075) * Remove temporary restrictions on automatically tagging releases [@johngmyers](https://github.com/johngmyers) [#13071](https://github.com/kubernetes/kops/pull/13071) * add flatcar note related to additionalUserData [@shubhindia](https://github.com/shubhindia) [#13061](https://github.com/kubernetes/kops/pull/13061) * Drain OpenStack loadbalancers [@zetaab](https://github.com/zetaab) [#12983](https://github.com/kubernetes/kops/pull/12983) * Extend terraform support for IPv6 [@rifelpet](https://github.com/rifelpet) [#13028](https://github.com/kubernetes/kops/pull/13028) * Update containerd to v1.6.0-beta.5 [@hakman](https://github.com/hakman) [#13084](https://github.com/kubernetes/kops/pull/13084) * Release notes for 1.22.3 [@johngmyers](https://github.com/johngmyers) [#13085](https://github.com/kubernetes/kops/pull/13085) * Spotinst: Update `spotinst/ocean-controller` to v1.0.81 [@liranp](https://github.com/liranp) [#13086](https://github.com/kubernetes/kops/pull/13086) * Support price and priority cluster-autoscaler expanders [@danports](https://github.com/danports) [#13081](https://github.com/kubernetes/kops/pull/13081) * Update containerd to v1.6.0-rc.0 [@hakman](https://github.com/hakman) [#13098](https://github.com/kubernetes/kops/pull/13098) * decrease the openstack monitoring default timeout [@zetaab](https://github.com/zetaab) [#13097](https://github.com/kubernetes/kops/pull/13097) * Don't try to add node name to instances without node object [@olemarkus](https://github.com/olemarkus) [#13106](https://github.com/kubernetes/kops/pull/13106) * fix ipv4+ipv6 sec groups/listeners in OpenStack [@zetaab](https://github.com/zetaab) [#13093](https://github.com/kubernetes/kops/pull/13093) * Do not create an IAM role for dns-controller on gossip clusters [@olemarkus](https://github.com/olemarkus) [#13110](https://github.com/kubernetes/kops/pull/13110) * Add ipv6 to relnotes [@olemarkus](https://github.com/olemarkus) [#13088](https://github.com/kubernetes/kops/pull/13088) * Use IPv6-only subnets for worker nodes in private IPv6 topology [@johngmyers](https://github.com/johngmyers) [#13030](https://github.com/kubernetes/kops/pull/13030) * Remove networking flags as of k8s 1.24 [@olemarkus](https://github.com/olemarkus) [#13120](https://github.com/kubernetes/kops/pull/13120) * Create helper function for ec2 create/tag-on-create IAM permissions [@olemarkus](https://github.com/olemarkus) [#13104](https://github.com/kubernetes/kops/pull/13104) * Add DescribeRegions to nodeup privs [@olemarkus](https://github.com/olemarkus) [#13114](https://github.com/kubernetes/kops/pull/13114) * Remove featureflag for creating IPv6 clusters [@hakman](https://github.com/hakman) [#12788](https://github.com/kubernetes/kops/pull/12788) * Preload channel versions from namespaces [@olemarkus](https://github.com/olemarkus) [#13049](https://github.com/kubernetes/kops/pull/13049) * Don't set unsupported configs by default [@olemarkus](https://github.com/olemarkus) [#13111](https://github.com/kubernetes/kops/pull/13111) * Update pause image to v3.6 [@hakman](https://github.com/hakman) [#13125](https://github.com/kubernetes/kops/pull/13125) * Clean up kubelet networking flags for dockershim [@hakman](https://github.com/hakman) [#13128](https://github.com/kubernetes/kops/pull/13128) * January bump of channels [@olemarkus](https://github.com/olemarkus) [#13130](https://github.com/kubernetes/kops/pull/13130) * expose external ccm metrics for OpenStack [@zetaab](https://github.com/zetaab) [#13131](https://github.com/kubernetes/kops/pull/13131) * Update to aws-sdk-go to v1.42.37 [@jinhong-](https://github.com/jinhong-) [#13132](https://github.com/kubernetes/kops/pull/13132) * Fix recommended kops versions in channels [@olemarkus](https://github.com/olemarkus) [#13134](https://github.com/kubernetes/kops/pull/13134) * Tag on create for remaining CCM privileges [@olemarkus](https://github.com/olemarkus) [#12911](https://github.com/kubernetes/kops/pull/12911) * Bump metrics-server to 0.6.0 and enable HA mode [@olemarkus](https://github.com/olemarkus) [#13135](https://github.com/kubernetes/kops/pull/13135) * OpenStack - Add loadbalancer pool monitor to API LB [@zetaab](https://github.com/zetaab) [#13096](https://github.com/kubernetes/kops/pull/13096) * Bump CCM images [@olemarkus](https://github.com/olemarkus) [#13143](https://github.com/kubernetes/kops/pull/13143) * Bump karpenter to 0.5.6 [@olemarkus](https://github.com/olemarkus) [#13151](https://github.com/kubernetes/kops/pull/13151) * Promote alpha AMIs to stable [@yurrriq](https://github.com/yurrriq) [#13152](https://github.com/kubernetes/kops/pull/13152) * Bump 1.23 version in alpha channel [@olemarkus](https://github.com/olemarkus) [#13153](https://github.com/kubernetes/kops/pull/13153) * Add missing v prefix to default upgrade test version [@olemarkus](https://github.com/olemarkus) [#13155](https://github.com/kubernetes/kops/pull/13155) * Bump cert-manager and related godep to 1.6.2 [@olemarkus](https://github.com/olemarkus) [#13154](https://github.com/kubernetes/kops/pull/13154) * add node-drain-timeout flag to rolling-update [@heybronson](https://github.com/heybronson) [#13103](https://github.com/kubernetes/kops/pull/13103) * Bump etcd-manager to v3.0.20220128 [@olemarkus](https://github.com/olemarkus) [#13158](https://github.com/kubernetes/kops/pull/13158) * Replace deprecated aws.BackgroundContext with context.Background [@justinsb](https://github.com/justinsb) [#13162](https://github.com/kubernetes/kops/pull/13162) * Fix nil pointer when IAM not populated [@justinsb](https://github.com/justinsb) [#13167](https://github.com/kubernetes/kops/pull/13167) * JWKS / IRSA: Expose public ACLs to terraform [@justinsb](https://github.com/justinsb) [#13166](https://github.com/kubernetes/kops/pull/13166) * [DigitalOcean] update ccm version to 0.1.36 [@srikiz](https://github.com/srikiz) [#13175](https://github.com/kubernetes/kops/pull/13175) * Bump Ubuntu AMI in alpha [@olemarkus](https://github.com/olemarkus) [#13177](https://github.com/kubernetes/kops/pull/13177) * Use etcd-manager pre-release until final release has been cut [@olemarkus](https://github.com/olemarkus) [#13183](https://github.com/kubernetes/kops/pull/13183) * Bump karpenter to 0.6.0 [@olemarkus](https://github.com/olemarkus) [#13185](https://github.com/kubernetes/kops/pull/13185) * More descriptive error message when public key file can't be opened [@nckturner](https://github.com/nckturner) [#13186](https://github.com/kubernetes/kops/pull/13186) * update GCE default images [@zetaab](https://github.com/zetaab) [#13181](https://github.com/kubernetes/kops/pull/13181) * Fix etcd-manager for ipv6 [@olemarkus](https://github.com/olemarkus) [#13191](https://github.com/kubernetes/kops/pull/13191) * Update Calico and Canal to v3.21.4 [@hakman](https://github.com/hakman) [#13189](https://github.com/kubernetes/kops/pull/13189) * Update to etcd-manager v3.0.20220203 [@justinsb](https://github.com/justinsb) [#13196](https://github.com/kubernetes/kops/pull/13196) * Pull k8s-custom-iptables from k8s.gcr.io [@justinsb](https://github.com/justinsb) [#13194](https://github.com/kubernetes/kops/pull/13194) * Add support for AB tests starting out with released kops version [@olemarkus](https://github.com/olemarkus) [#13174](https://github.com/kubernetes/kops/pull/13174) * Update containerd to v1.6.0-rc.2 [@hakman](https://github.com/hakman) [#13198](https://github.com/kubernetes/kops/pull/13198) * tests: ensure that we use ACLs with memfs [@justinsb](https://github.com/justinsb) [#13165](https://github.com/kubernetes/kops/pull/13165) * Karpenter fixes [@olemarkus](https://github.com/olemarkus) [#13207](https://github.com/kubernetes/kops/pull/13207) * Always enable Leader Election for cloud-controller-manager [@jiahuif](https://github.com/jiahuif) [#13187](https://github.com/kubernetes/kops/pull/13187) * Use short commit sha for default stage location instead of git-describe [@olemarkus](https://github.com/olemarkus) [#13208](https://github.com/kubernetes/kops/pull/13208) * use 1.23.1 ccm for openstack [@zetaab](https://github.com/zetaab) [#13136](https://github.com/kubernetes/kops/pull/13136) * Document download of test versions [@olemarkus](https://github.com/olemarkus) [#13209](https://github.com/kubernetes/kops/pull/13209) * Remove snapshot controller dependency on ebs csi driver [@olemarkus](https://github.com/olemarkus) [#13213](https://github.com/kubernetes/kops/pull/13213) * fix KCM LogLevel setting not honored [@jiahuif](https://github.com/jiahuif) [#13218](https://github.com/kubernetes/kops/pull/13218) * Fix CSI migration feature gates [@olemarkus](https://github.com/olemarkus) [#13203](https://github.com/kubernetes/kops/pull/13203) * CCM: use flagbuilder instead of manually building argv [@jiahuif](https://github.com/jiahuif) [#13219](https://github.com/kubernetes/kops/pull/13219) * Update containerd to v1.6.0-rc.3 [@hakman](https://github.com/hakman) [#13224](https://github.com/kubernetes/kops/pull/13224) * Promote alpha to stable [@MoShitrit](https://github.com/MoShitrit) [#13227](https://github.com/kubernetes/kops/pull/13227) * always enable Leader Election for openstack CCM [@jiahuif](https://github.com/jiahuif) [#13220](https://github.com/kubernetes/kops/pull/13220) * Update aws node termination handler to 1.14.0 [@ryan-dyer-sp](https://github.com/ryan-dyer-sp),[@ryan-dyer](https://github.com/ryan-dyer) [#13092](https://github.com/kubernetes/kops/pull/13092) * [Issue-12293] Fix json output to keep it consistent for single or multiple objects [@srikiz](https://github.com/srikiz) [#13188](https://github.com/kubernetes/kops/pull/13188) * Fix irsa for k8s < 1.20 [@olemarkus](https://github.com/olemarkus) [#13212](https://github.com/kubernetes/kops/pull/13212) * enable pruning for CCM [@jiahuif](https://github.com/jiahuif) [#13235](https://github.com/kubernetes/kops/pull/13235) * Add support for graceful node shutdown [@olemarkus](https://github.com/olemarkus) [#12994](https://github.com/kubernetes/kops/pull/12994) * allow specify GCP project via env. [@jiahuif](https://github.com/jiahuif) [#13237](https://github.com/kubernetes/kops/pull/13237) * KCM should not run with leader migraton when aws ccm is enabled [@olemarkus](https://github.com/olemarkus) [#13241](https://github.com/kubernetes/kops/pull/13241) * Do not enable graceful shutdown if k8s version < 1.21 [@olemarkus](https://github.com/olemarkus) [#13242](https://github.com/kubernetes/kops/pull/13242) * Update metrics-server e2e test for 0.6.0 [@olemarkus](https://github.com/olemarkus) [#13243](https://github.com/kubernetes/kops/pull/13243) * Install runc from opencontainers/runc [@hakman](https://github.com/hakman) [#13240](https://github.com/kubernetes/kops/pull/13240) * Fix nilpointer when graceful shutdown is not configured [@olemarkus](https://github.com/olemarkus) [#13246](https://github.com/kubernetes/kops/pull/13246) * Install contained from the release package [@hakman](https://github.com/hakman) [#13248](https://github.com/kubernetes/kops/pull/13248) * CCM: allow setting Controllers for cloudControllerManagerConfig [@jiahuif](https://github.com/jiahuif) [#13252](https://github.com/kubernetes/kops/pull/13252) * CCM: add livenessProbe for GCP CCM [@jiahuif](https://github.com/jiahuif) [#13253](https://github.com/kubernetes/kops/pull/13253) * E2E HA Upgrade/Rollback for Leader Migration [@jiahuif](https://github.com/jiahuif) [#13251](https://github.com/kubernetes/kops/pull/13251) * Bump AWS CNI to 1.10.2 [@MoShitrit](https://github.com/MoShitrit) [#13228](https://github.com/kubernetes/kops/pull/13228) * Update supported distros for IPv6 [@hakman](https://github.com/hakman) [#13256](https://github.com/kubernetes/kops/pull/13256) * Karpenter on kOps will now use approperiate max pods [@olemarkus](https://github.com/olemarkus) [#13178](https://github.com/kubernetes/kops/pull/13178) * Allow PrefixList for sshAccess and kubernetesApiAccess [@hierynomus](https://github.com/hierynomus) [#13113](https://github.com/kubernetes/kops/pull/13113) * service account workaround for gce [@jiahuif](https://github.com/jiahuif) [#13261](https://github.com/kubernetes/kops/pull/13261) * GCP API health checks [@zetaab](https://github.com/zetaab) [#13199](https://github.com/kubernetes/kops/pull/13199) * Update containerd to v1.6.0 [@hakman](https://github.com/hakman) [#13262](https://github.com/kubernetes/kops/pull/13262) * re-organize Leader Migration test with exec tester [@jiahuif](https://github.com/jiahuif) [#13265](https://github.com/kubernetes/kops/pull/13265) * Update LBC to 2.4.0 [@olemarkus](https://github.com/olemarkus) [#13267](https://github.com/kubernetes/kops/pull/13267) * Enable RBN with AWS CCM 1.22.0-alpha.1 [@johngmyers](https://github.com/johngmyers) [#13268](https://github.com/kubernetes/kops/pull/13268) * Disable some flags in kube-apiserver when logging-format is not text [@h3poteto](https://github.com/h3poteto) [#13264](https://github.com/kubernetes/kops/pull/13264) * kops: Leader Migration testing: run with pure kubetest2 [@jiahuif](https://github.com/jiahuif) [#13276](https://github.com/kubernetes/kops/pull/13276) * Bump k8s versions in alpha with Feb 2022 releases [@MoShitrit](https://github.com/MoShitrit) [#13275](https://github.com/kubernetes/kops/pull/13275) * Validate taints in IG spec [@olemarkus](https://github.com/olemarkus) [#13266](https://github.com/kubernetes/kops/pull/13266) * test: use `T.TempDir` to create temporary test directory [@Juneezee](https://github.com/Juneezee) [#13283](https://github.com/kubernetes/kops/pull/13283) * Do not create a cert-manager namespace [@olemarkus](https://github.com/olemarkus) [#13284](https://github.com/kubernetes/kops/pull/13284) * Add missing permissions to aws lbc for irsa [@olemarkus](https://github.com/olemarkus) [#13280](https://github.com/kubernetes/kops/pull/13280) * [DigitalOcean] Implement new VPC if network-cidr flag is specified [@srikiz](https://github.com/srikiz) [#13060](https://github.com/kubernetes/kops/pull/13060) * Use current tree in presubmit upgrade jobs if version B is latest [@olemarkus](https://github.com/olemarkus) [#13290](https://github.com/kubernetes/kops/pull/13290) * Release notes for 1.22.4 [@justinsb](https://github.com/justinsb) [#13294](https://github.com/kubernetes/kops/pull/13294) * alpha channel: recommend kOps 1.22.4 [@justinsb](https://github.com/justinsb) [#13296](https://github.com/kubernetes/kops/pull/13296) * docs: add hubble ui helm chart deployment [@eddycharly](https://github.com/eddycharly) [#13299](https://github.com/kubernetes/kops/pull/13299) * cleanup GCP Cluster Service Accounts [@zetaab](https://github.com/zetaab) [#13201](https://github.com/kubernetes/kops/pull/13201) * docs for release process shouldn't assume remotes [@justinsb](https://github.com/justinsb) [#13295](https://github.com/kubernetes/kops/pull/13295) * Release notes for 1.23.0-beta.2 [@hakman](https://github.com/hakman) [#13303](https://github.com/kubernetes/kops/pull/13303) * Add support to install EKS Pod Identity Webhook [@h3poteto](https://github.com/h3poteto),[@olemarkus](https://github.com/olemarkus) [#13176](https://github.com/kubernetes/kops/pull/13176) * Update kubetest2 deps [@olemarkus](https://github.com/olemarkus) [#13314](https://github.com/kubernetes/kops/pull/13314) * use own function to define CSI image version [@zetaab](https://github.com/zetaab) [#13311](https://github.com/kubernetes/kops/pull/13311) * Add support for ed25519 keys in AWS [@aclevername](https://github.com/aclevername) [#13304](https://github.com/kubernetes/kops/pull/13304) * Bump AWS SDK to v1.43.11 [@olemarkus](https://github.com/olemarkus) [#13322](https://github.com/kubernetes/kops/pull/13322) * Make cloudProvider a struct in v1alpha3 API [@johngmyers](https://github.com/johngmyers) [#13059](https://github.com/kubernetes/kops/pull/13059) * Update containerd to v1.6.1 [@hakman](https://github.com/hakman) [#13325](https://github.com/kubernetes/kops/pull/13325) * Fix GCE service account creation [@zetaab](https://github.com/zetaab) [#13310](https://github.com/kubernetes/kops/pull/13310) * Use proper image and add health check [@olemarkus](https://github.com/olemarkus) [#13328](https://github.com/kubernetes/kops/pull/13328) * Update stable and alpha channels [@olemarkus](https://github.com/olemarkus) [#13334](https://github.com/kubernetes/kops/pull/13334) * Release notes for 1.21.5 [@hakman](https://github.com/hakman) [#13336](https://github.com/kubernetes/kops/pull/13336) * Add e2e for pod identity webhook [@olemarkus](https://github.com/olemarkus) [#13335](https://github.com/kubernetes/kops/pull/13335) * Add webhook notes + some docs changes [@olemarkus](https://github.com/olemarkus) [#13338](https://github.com/kubernetes/kops/pull/13338) * Only delete node object on GCE [@olemarkus](https://github.com/olemarkus) [#13289](https://github.com/kubernetes/kops/pull/13289) * Release notes for 1.23.0 [@hakman](https://github.com/hakman) [#13340](https://github.com/kubernetes/kops/pull/13340) * Bump AWS CCM to 1.22.0-alpha.2 [@olemarkus](https://github.com/olemarkus) [#13342](https://github.com/kubernetes/kops/pull/13342) * Bump CCM 1.22 image. Use the 1.23 image for 1.24 due to latest being broken [@olemarkus](https://github.com/olemarkus) [#13357](https://github.com/kubernetes/kops/pull/13357) * Update channels [@hakman](https://github.com/hakman) [#13356](https://github.com/kubernetes/kops/pull/13356) * Recommend enabling IRSA for new clusters [@olemarkus](https://github.com/olemarkus) [#12976](https://github.com/kubernetes/kops/pull/12976) * Post 1.23.0 release doc updates [@johngmyers](https://github.com/johngmyers) [#13359](https://github.com/kubernetes/kops/pull/13359) * Add user to container securityContext and remove command [@olemarkus](https://github.com/olemarkus) [#13343](https://github.com/kubernetes/kops/pull/13343) * [Digital Ocean] e2e tests - Fix seeding for generating random zones [@srikiz](https://github.com/srikiz) [#13362](https://github.com/kubernetes/kops/pull/13362) * wait for all targetGroups to drain [@heybronson](https://github.com/heybronson) [#13363](https://github.com/kubernetes/kops/pull/13363) * Support GPU in OpenStack [@zetaab](https://github.com/zetaab) [#13330](https://github.com/kubernetes/kops/pull/13330) * Add missing permissions to aws lbc for IP targeting [@olemarkus](https://github.com/olemarkus) [#13369](https://github.com/kubernetes/kops/pull/13369) * If kubetest2 fails cluster validation, we run down before exiting [@olemarkus](https://github.com/olemarkus) [#13373](https://github.com/kubernetes/kops/pull/13373) * If image is empty, have kops upgrade fill it in [@olemarkus](https://github.com/olemarkus) [#13374](https://github.com/kubernetes/kops/pull/13374) * Update channels [@hakman](https://github.com/hakman) [#13379](https://github.com/kubernetes/kops/pull/13379) * Update HPA docs [@ddelange](https://github.com/ddelange) [#13367](https://github.com/kubernetes/kops/pull/13367) * Clean up nodeup targets [@olemarkus](https://github.com/olemarkus) [#13370](https://github.com/kubernetes/kops/pull/13370) * Upgrade aws-iam-authenticator to v0.5.5 [@glebiller](https://github.com/glebiller) [#13381](https://github.com/kubernetes/kops/pull/13381) * Add protocol explicitly to services [@olemarkus](https://github.com/olemarkus) [#13383](https://github.com/kubernetes/kops/pull/13383) * Allow duplicate taint keys [@olemarkus](https://github.com/olemarkus) [#13366](https://github.com/kubernetes/kops/pull/13366) * [Digital Ocean] Remove sfo2 region from the list of supported DO regions [@srikiz](https://github.com/srikiz) [#13382](https://github.com/kubernetes/kops/pull/13382) * Fix long role names [@olemarkus](https://github.com/olemarkus) [#13364](https://github.com/kubernetes/kops/pull/13364) * Migrate to registry.k8s.io [@hakman](https://github.com/hakman) [#13380](https://github.com/kubernetes/kops/pull/13380) * Remove oss-upload target since aliyun support has been removed [@olemarkus](https://github.com/olemarkus) [#13389](https://github.com/kubernetes/kops/pull/13389) * dev: create scripts to make it easier to run e2e tests [@justinsb](https://github.com/justinsb) [#13161](https://github.com/kubernetes/kops/pull/13161) * Remove pr target [@olemarkus](https://github.com/olemarkus) [#13392](https://github.com/kubernetes/kops/pull/13392) ## 1.24.0-alpha.3 to 1.24.0-alpha.4 * Release notes for 1.24.0-alpha.3 [@heybronson](https://github.com/heybronson) [#13375](https://github.com/kubernetes/kops/pull/13375) * Spotinst: Ocean as a template for VNGs [@liranp](https://github.com/liranp) [#13234](https://github.com/kubernetes/kops/pull/13234) * [Digital Ocean] Use available regions as per the latest DO documentation [@srikiz](https://github.com/srikiz) [#13394](https://github.com/kubernetes/kops/pull/13394) * Build kops images with ko [@olemarkus](https://github.com/olemarkus) [#13341](https://github.com/kubernetes/kops/pull/13341) * Clean up kops build targets [@olemarkus](https://github.com/olemarkus) [#13390](https://github.com/kubernetes/kops/pull/13390) * update k8s dependencies [@heybronson](https://github.com/heybronson) [#13397](https://github.com/kubernetes/kops/pull/13397) * Update golangci-lint to v1.45.0 [@hakman](https://github.com/hakman) [#13403](https://github.com/kubernetes/kops/pull/13403) * Use k8s.gcr.io for k8s side-loaded images [@hakman](https://github.com/hakman) [#13402](https://github.com/kubernetes/kops/pull/13402) * Use ko-builds for dev-upload [@olemarkus](https://github.com/olemarkus) [#13401](https://github.com/kubernetes/kops/pull/13401) * Clean up channels and protokube targets [@olemarkus](https://github.com/olemarkus) [#13404](https://github.com/kubernetes/kops/pull/13404) * Don't use bazel for dev-upload [@olemarkus](https://github.com/olemarkus) [#13407](https://github.com/kubernetes/kops/pull/13407) * Clean up the rest of the dev-upload targets [@olemarkus](https://github.com/olemarkus) [#13408](https://github.com/kubernetes/kops/pull/13408) * AWS-NODE-TERMINATION: Add possibility to set a tune image version [@anthonyhaussman](https://github.com/anthonyhaussman) [#13405](https://github.com/kubernetes/kops/pull/13405) * Update netflify deps [@hakman](https://github.com/hakman) [#13412](https://github.com/kubernetes/kops/pull/13412) * Promote alpha to stable [@MoShitrit](https://github.com/MoShitrit) [#13415](https://github.com/kubernetes/kops/pull/13415) * Correctly detect GovCloud regions [@mixja](https://github.com/mixja) [#13410](https://github.com/kubernetes/kops/pull/13410) * dev-upload from upload directory, not bazelupload [@olemarkus](https://github.com/olemarkus) [#13419](https://github.com/kubernetes/kops/pull/13419) * fix member update when draining [@zetaab](https://github.com/zetaab) [#13414](https://github.com/kubernetes/kops/pull/13414) * Update the security docs [@olemarkus](https://github.com/olemarkus) [#13421](https://github.com/kubernetes/kops/pull/13421) * Remove id var, which is never used beyond that if test [@olemarkus](https://github.com/olemarkus) [#13420](https://github.com/kubernetes/kops/pull/13420) * Pin actions to a full length commit SHA [@naveensrinivasan](https://github.com/naveensrinivasan) [#13395](https://github.com/kubernetes/kops/pull/13395) * Digest images during remapping [@olemarkus](https://github.com/olemarkus) [#13422](https://github.com/kubernetes/kops/pull/13422) * Do not return a '-1' exit if no keys found and json/yaml output [@hierynomus](https://github.com/hierynomus) [#13378](https://github.com/kubernetes/kops/pull/13378) * Use non-bazel builds in kubetest2 [@olemarkus](https://github.com/olemarkus) [#13409](https://github.com/kubernetes/kops/pull/13409) * Run CSI controller in masters [@zetaab](https://github.com/zetaab) [#13426](https://github.com/kubernetes/kops/pull/13426) * Push ko-built images to staging [@olemarkus](https://github.com/olemarkus) [#13428](https://github.com/kubernetes/kops/pull/13428) * Included githubactions in dependabot config [@naveensrinivasan](https://github.com/naveensrinivasan) [#13423](https://github.com/kubernetes/kops/pull/13423) * Bump actions/setup-go from 2.2.0 to 3 [@dependabot[bot]](https://github.com/apps/dependabot),[@hakman](https://github.com/hakman) [#13429](https://github.com/kubernetes/kops/pull/13429) * Use golang 1.18 for building [@olemarkus](https://github.com/olemarkus) [#13430](https://github.com/kubernetes/kops/pull/13430) * Use golang 1.18.0 explicitly [@hakman](https://github.com/hakman) [#13432](https://github.com/kubernetes/kops/pull/13432) * Install gcloud instead of gsutil [@hakman](https://github.com/hakman) [#13434](https://github.com/kubernetes/kops/pull/13434) * Use the correct upload folder for the latest.txt file [@olemarkus](https://github.com/olemarkus) [#13435](https://github.com/kubernetes/kops/pull/13435) * Fix upload dir in cloudbuild-artifacts target [@olemarkus](https://github.com/olemarkus) [#13437](https://github.com/kubernetes/kops/pull/13437) * Skip upstream e2e log dump [@olemarkus](https://github.com/olemarkus) [#13438](https://github.com/kubernetes/kops/pull/13438) * Remove direct dependency on klog v1 [@olemarkus](https://github.com/olemarkus) [#13447](https://github.com/kubernetes/kops/pull/13447) * Bump semver for kubetest2 [@olemarkus](https://github.com/olemarkus) [#13446](https://github.com/kubernetes/kops/pull/13446) * fix dns controller crashing for DO [@zak905](https://github.com/zak905) [#13443](https://github.com/kubernetes/kops/pull/13443) * Add possibility to set PodAnnotations into NodeLocalDNS [@anthonyhaussman](https://github.com/anthonyhaussman) [#13396](https://github.com/kubernetes/kops/pull/13396) * Disable CGO and enable trimpath [@olemarkus](https://github.com/olemarkus) [#13451](https://github.com/kubernetes/kops/pull/13451) * Possibility to add additional routes in route tables of subnets [@guillomep](https://github.com/guillomep) [#13318](https://github.com/kubernetes/kops/pull/13318) * Update containerd to v1.6.2 [@hakman](https://github.com/hakman) [#13455](https://github.com/kubernetes/kops/pull/13455) * Don't run the CSI snapshot plugin if snapshot controller is not installed [@olemarkus](https://github.com/olemarkus) [#13453](https://github.com/kubernetes/kops/pull/13453) * Add back hash for containerd v1.6.1 [@hakman](https://github.com/hakman) [#13462](https://github.com/kubernetes/kops/pull/13462) * Use Cilium 1.11 as default [@olemarkus](https://github.com/olemarkus) [#12919](https://github.com/kubernetes/kops/pull/12919) * Bump Cert Manager to 1.8 [@olemarkus](https://github.com/olemarkus) [#13464](https://github.com/kubernetes/kops/pull/13464) * Pick the right OS server group when creating cloud groups [@ederst](https://github.com/ederst) [#13461](https://github.com/kubernetes/kops/pull/13461) * Don't hash parts of the cluster name for e2e [@olemarkus](https://github.com/olemarkus) [#13354](https://github.com/kubernetes/kops/pull/13354) * Enable etcd corruption check as mitigatio of 3.5 corruption issue [@olemarkus](https://github.com/olemarkus) [#13454](https://github.com/kubernetes/kops/pull/13454) * Move Azure settings to cloudProvider.azure [@johngmyers](https://github.com/johngmyers) [#13065](https://github.com/kubernetes/kops/pull/13065) * Add PDBs to addons where this was missing [@olemarkus](https://github.com/olemarkus) [#13475](https://github.com/kubernetes/kops/pull/13475) * Bump NTH 1.16 and add excludeFromLoadBalancers option [@DingGGu](https://github.com/DingGGu) [#13467](https://github.com/kubernetes/kops/pull/13467) * Move Openstack settings to cloudProvider.openstack [@johngmyers](https://github.com/johngmyers) [#13326](https://github.com/kubernetes/kops/pull/13326) * Bump viper and cobra [@olemarkus](https://github.com/olemarkus) [#13482](https://github.com/kubernetes/kops/pull/13482) * Bump cert-manager deps [@olemarkus](https://github.com/olemarkus) [#13481](https://github.com/kubernetes/kops/pull/13481) * Remove explicit dependency on yamlv2 [@olemarkus](https://github.com/olemarkus) [#13483](https://github.com/kubernetes/kops/pull/13483) * Use latest stable release by default for scenario test [@olemarkus](https://github.com/olemarkus) [#13476](https://github.com/kubernetes/kops/pull/13476) * Remove GOPATH dependency for apimachinery [@hakman](https://github.com/hakman) [#13472](https://github.com/kubernetes/kops/pull/13472) * Document NodeLocalDNS forwardToKubeDNS breaking change [@jorge07](https://github.com/jorge07) [#13448](https://github.com/kubernetes/kops/pull/13448) * Fix typos in docs/getting_started/arguments [@scottchiang](https://github.com/scottchiang) [#13485](https://github.com/kubernetes/kops/pull/13485) * Update kubetest2 [@olemarkus](https://github.com/olemarkus) [#13486](https://github.com/kubernetes/kops/pull/13486) * Bump Ubuntu AMIs in alpha and stable [@olemarkus](https://github.com/olemarkus) [#13487](https://github.com/kubernetes/kops/pull/13487) * Bump AWS CNI to version 1.10.3 [@MoShitrit](https://github.com/MoShitrit) [#13488](https://github.com/kubernetes/kops/pull/13488) * Use aws_s3_object instead of deprecated aws_s3_bucket_object [@hakman](https://github.com/hakman) [#13491](https://github.com/kubernetes/kops/pull/13491) * Docs getting started aws [@anthonytwh](https://github.com/anthonytwh) [#13489](https://github.com/kubernetes/kops/pull/13489) * Update Calico and Canal to v3.21.5 [@hakman](https://github.com/hakman) [#13497](https://github.com/kubernetes/kops/pull/13497) * Update to etcd-manager 3.0.20220417 [@justinsb](https://github.com/justinsb) [#13499](https://github.com/kubernetes/kops/pull/13499) * Revert "Enable etcd corruption check" [@hakman](https://github.com/hakman) [#13495](https://github.com/kubernetes/kops/pull/13495) * etcd 3 5 3 [@justinsb](https://github.com/justinsb) [#13501](https://github.com/kubernetes/kops/pull/13501) * Remove bazel targets and tools [@olemarkus](https://github.com/olemarkus) [#13484](https://github.com/kubernetes/kops/pull/13484) * Bump CCM 1.22 and 1.23 images to stable versions [@olemarkus](https://github.com/olemarkus) [#13506](https://github.com/kubernetes/kops/pull/13506) * Use Cluster Autoscaler 1.23 for k8s 1.24 [@olemarkus](https://github.com/olemarkus) [#13510](https://github.com/kubernetes/kops/pull/13510) * Adopt control-plane taint and remove master role labels [@olemarkus](https://github.com/olemarkus) [#13452](https://github.com/kubernetes/kops/pull/13452) * Update aws-sdk-go to v1.43.41 [@hakman](https://github.com/hakman) [#13515](https://github.com/kubernetes/kops/pull/13515) * Revert to using 1.23.0-alpha.0 for AWS CCM [@hakman](https://github.com/hakman) [#13514](https://github.com/kubernetes/kops/pull/13514) * add cluster autoscaler pod annotations [@heybronson](https://github.com/heybronson) [#13511](https://github.com/kubernetes/kops/pull/13511) * Trim GCE firewall rule names to their max length [@rifelpet](https://github.com/rifelpet) [#13513](https://github.com/kubernetes/kops/pull/13513) * kubetest2-kops - Create ephemeral SSH keys [@rifelpet](https://github.com/rifelpet) [#13522](https://github.com/kubernetes/kops/pull/13522) * Skip topology hints tests in k8s 1.23 [@rifelpet](https://github.com/rifelpet) [#13524](https://github.com/kubernetes/kops/pull/13524) * Update remaining addon manifests for the control-plane node role [@rifelpet](https://github.com/rifelpet) [#13521](https://github.com/kubernetes/kops/pull/13521) * Release notes for 1.22.5 [@olemarkus](https://github.com/olemarkus) [#13528](https://github.com/kubernetes/kops/pull/13528) * Release notes for 1.23.1 [@olemarkus](https://github.com/olemarkus) [#13531](https://github.com/kubernetes/kops/pull/13531) * Allow cluster autoscaler to read EC2 instance types to build catalog dynamically [@seh](https://github.com/seh) [#13532](https://github.com/kubernetes/kops/pull/13532) * Use expected pointer type in type assertion when iterating over GS ACLs [@tesspib](https://github.com/tesspib) [#13534](https://github.com/kubernetes/kops/pull/13534) * Shell out to ssh-keygen for creating ed25519 keys [@rifelpet](https://github.com/rifelpet) [#13538](https://github.com/kubernetes/kops/pull/13538) * Update control plane toleration for external-dns [@rifelpet](https://github.com/rifelpet) [#13539](https://github.com/kubernetes/kops/pull/13539) * Pin AWS CCM image tag for k8s 1.25 [@rifelpet](https://github.com/rifelpet) [#13543](https://github.com/kubernetes/kops/pull/13543) * fix pod annotations in addon yamls [@heybronson](https://github.com/heybronson) [#13536](https://github.com/kubernetes/kops/pull/13536) * Skip SCTP tests in k8s 1.25 as well [@rifelpet](https://github.com/rifelpet) [#13545](https://github.com/kubernetes/kops/pull/13545) * Bump k8s deps to 1.24.0-rc.0 [@olemarkus](https://github.com/olemarkus) [#13548](https://github.com/kubernetes/kops/pull/13548) * Trim GCE Subnet and Disk names [@rifelpet](https://github.com/rifelpet) [#13546](https://github.com/kubernetes/kops/pull/13546) * Update codegen to v1.24.0-rc.0 [@hakman](https://github.com/hakman) [#13549](https://github.com/kubernetes/kops/pull/13549) * Update Go to v1.18.1 [@hakman](https://github.com/hakman) [#13550](https://github.com/kubernetes/kops/pull/13550) * Upgrade flannel to 0.17.0 [@rifelpet](https://github.com/rifelpet) [#13552](https://github.com/kubernetes/kops/pull/13552) * Always set cluster-id flag for Protokube [@hakman](https://github.com/hakman) [#13555](https://github.com/kubernetes/kops/pull/13555) * Creaate kubeconfig for the root user on Ubuntu [@hakman](https://github.com/hakman) [#13553](https://github.com/kubernetes/kops/pull/13553) * Bump alpha channel with april releases [@olemarkus](https://github.com/olemarkus) [#13556](https://github.com/kubernetes/kops/pull/13556) * Enable internal load balancers when running on GCP [@nat-henderson](https://github.com/nat-henderson) [#13445](https://github.com/kubernetes/kops/pull/13445) * Add back support for Ubuntu 18.04 [@hakman](https://github.com/hakman) [#13557](https://github.com/kubernetes/kops/pull/13557) * Add support for Rocky Linux 8 [@hakman](https://github.com/hakman) [#13559](https://github.com/kubernetes/kops/pull/13559) * Re-add net.bridge settings for flannel [@rifelpet](https://github.com/rifelpet) [#13564](https://github.com/kubernetes/kops/pull/13564) * Update Canal's Flannel to v0.15.1 [@tesspib](https://github.com/tesspib) [#13562](https://github.com/kubernetes/kops/pull/13562) * Bump AWS CNI to version 1.11.0 [@MoShitrit](https://github.com/MoShitrit) [#13493](https://github.com/kubernetes/kops/pull/13493) * Fix OIDC Provider cleanup [@rifelpet](https://github.com/rifelpet) [#13571](https://github.com/kubernetes/kops/pull/13571) * Include sysctls in toolbox dump [@rifelpet](https://github.com/rifelpet) [#13570](https://github.com/kubernetes/kops/pull/13570) * Add NodeTerminationHandler CPU request settings [@glebiller](https://github.com/glebiller) [#13566](https://github.com/kubernetes/kops/pull/13566) * Add docs for Rocky Linux 8 [@hakman](https://github.com/hakman) [#13561](https://github.com/kubernetes/kops/pull/13561) * Don't digest side-loaded images [@hakman](https://github.com/hakman) [#13576](https://github.com/kubernetes/kops/pull/13576) * Update containerd to v1.6.3 [@hakman](https://github.com/hakman) [#13578](https://github.com/kubernetes/kops/pull/13578) * Upgrade EBS CSI Driver to v1.6.0 [@rifelpet](https://github.com/rifelpet) [#13565](https://github.com/kubernetes/kops/pull/13565) * Bump nvidia device plugin to 0.11 and nvidia driver to 510 [@olemarkus](https://github.com/olemarkus) [#13580](https://github.com/kubernetes/kops/pull/13580) * Make kOps version show server version too [@olemarkus](https://github.com/olemarkus) [#12327](https://github.com/kubernetes/kops/pull/12327) * Spotinst: Add support for EBS root volume encryption [@liranp](https://github.com/liranp) [#13585](https://github.com/kubernetes/kops/pull/13585) * promote alpha to stable (k8s versions bump) [@MoShitrit](https://github.com/MoShitrit) [#13587](https://github.com/kubernetes/kops/pull/13587) * Remove remaining bazel references [@rifelpet](https://github.com/rifelpet) [#13586](https://github.com/kubernetes/kops/pull/13586) * Revert containerd v1.6.3 upgrade [@rifelpet](https://github.com/rifelpet) [#13582](https://github.com/kubernetes/kops/pull/13582) * Update etcd to v3.5.4 [@hakman](https://github.com/hakman) [#13588](https://github.com/kubernetes/kops/pull/13588) * Bump cilium to 1.11.4 [@olemarkus](https://github.com/olemarkus) [#13581](https://github.com/kubernetes/kops/pull/13581) * Update golangci-lint to v1.45.2 [@hakman](https://github.com/hakman) [#13584](https://github.com/kubernetes/kops/pull/13584) * Don't install nfs-common/nfs-utils by default [@hakman](https://github.com/hakman) [#13577](https://github.com/kubernetes/kops/pull/13577) * doc(mfa): add another workaround using aws-vault [@techieforfun](https://github.com/techieforfun) [#13591](https://github.com/kubernetes/kops/pull/13591) * add priorities to CSI openstack [@zetaab](https://github.com/zetaab) [#13594](https://github.com/kubernetes/kops/pull/13594) * Fix unexpected type for object metadata when using gossip DNS [@hakman](https://github.com/hakman) [#13592](https://github.com/kubernetes/kops/pull/13592) * fix immutable retry logic when updating member [@zetaab](https://github.com/zetaab) [#13595](https://github.com/kubernetes/kops/pull/13595) * Add support for installing additional packages [@hakman](https://github.com/hakman) [#13590](https://github.com/kubernetes/kops/pull/13590) * Update containerd to v1.6.4 [@hakman](https://github.com/hakman) [#13596](https://github.com/kubernetes/kops/pull/13596) * Update etcd-manager to v3.0.20220503 [@hakman](https://github.com/hakman) [#13598](https://github.com/kubernetes/kops/pull/13598) * Bump k8s.io deps to 1.24.0 [@olemarkus](https://github.com/olemarkus) [#13601](https://github.com/kubernetes/kops/pull/13601) * update deps [@zetaab](https://github.com/zetaab) [#13602](https://github.com/kubernetes/kops/pull/13602) * update OpenStack CSI & cloud-controller manifest [@zetaab](https://github.com/zetaab) [#13603](https://github.com/kubernetes/kops/pull/13603) * Add hashes for containerd and Docker in order to fix CVE-2022-23648 [@drequena](https://github.com/drequena) [#13606](https://github.com/kubernetes/kops/pull/13606) * Add IRSA for kube-router [@rifelpet](https://github.com/rifelpet) [#13609](https://github.com/kubernetes/kops/pull/13609) * Avoid "/etc/resolv.conf" file loopback for Flatcar Container Linux distribution [@seh](https://github.com/seh) [#13617](https://github.com/kubernetes/kops/pull/13617) * Skip in-tree volume limits test [@rifelpet](https://github.com/rifelpet) [#13621](https://github.com/kubernetes/kops/pull/13621) * Add initial support for Hetzner Cloud [@hakman](https://github.com/hakman) [#13572](https://github.com/kubernetes/kops/pull/13572) * remove bind address for occm [@zetaab](https://github.com/zetaab) [#13623](https://github.com/kubernetes/kops/pull/13623) * Add docs for the packages option [@hakman](https://github.com/hakman) [#13622](https://github.com/kubernetes/kops/pull/13622) * Update Calico and Canal to v3.23.0 [@hakman](https://github.com/hakman) [#13625](https://github.com/kubernetes/kops/pull/13625) * Use latest staging AWS CCM for k8s 1.24+ [@hakman](https://github.com/hakman) [#13626](https://github.com/kubernetes/kops/pull/13626) * Allow returning multiple addresses for API [@hakman](https://github.com/hakman) [#13624](https://github.com/kubernetes/kops/pull/13624) * [DigitalOcean]: make droplet image constant when building droplet in for fitask [@zak905](https://github.com/zak905) [#13628](https://github.com/kubernetes/kops/pull/13628) * Upgrade Karpenter to 0.10.0 [@rifelpet](https://github.com/rifelpet) [#13547](https://github.com/kubernetes/kops/pull/13547) * Add load balancer support for Hetzner [@hakman](https://github.com/hakman) [#13629](https://github.com/kubernetes/kops/pull/13629) ## 1.24.0-alpha.4 to 1.24.0-alpha.5 * Release notes for 1.23.2 [@olemarkus](https://github.com/olemarkus) [#13632](https://github.com/kubernetes/kops/pull/13632) * Release notes for 1.24.0-alpha.4 [@hakman](https://github.com/hakman) [#13634](https://github.com/kubernetes/kops/pull/13634) * Use fixed staging AWS CCM for k8s 1.24+ [@hakman](https://github.com/hakman) [#13637](https://github.com/kubernetes/kops/pull/13637) * Update runc to v1.1.2 [@hakman](https://github.com/hakman) [#13638](https://github.com/kubernetes/kops/pull/13638) * add annotation support to aws-ebs-csi pods [@avish42](https://github.com/avish42) [#13600](https://github.com/kubernetes/kops/pull/13600) * Bump cluster autoscaler image for 1.24 [@olemarkus](https://github.com/olemarkus) [#13642](https://github.com/kubernetes/kops/pull/13642) * Ignore digest for kube-apiserver-healthcheck model test [@hakman](https://github.com/hakman) [#13639](https://github.com/kubernetes/kops/pull/13639) * Update documentation for manageStorageClasses [@minkimipt](https://github.com/minkimipt) [#13641](https://github.com/kubernetes/kops/pull/13641) * fix typo in docs/instance-groups.md [@marquezika](https://github.com/marquezika) [#13635](https://github.com/kubernetes/kops/pull/13635) * Fix code block in manageStorageClasses docs [@minkimipt](https://github.com/minkimipt) [#13645](https://github.com/kubernetes/kops/pull/13645) * [Digital Ocean] Add CSI driver for DO block storage [@srikiz](https://github.com/srikiz) [#13643](https://github.com/kubernetes/kops/pull/13643) * Update AWS CCM to 13.05.2022 releases [@hakman](https://github.com/hakman) [#13644](https://github.com/kubernetes/kops/pull/13644) * Skip nfs tests in all scenarios [@hakman](https://github.com/hakman) [#13648](https://github.com/kubernetes/kops/pull/13648) * Tweak integration tests to be simpler [@justinsb](https://github.com/justinsb) [#13647](https://github.com/kubernetes/kops/pull/13647) * Use Calico v3.21 with older versions of k8s [@hakman](https://github.com/hakman) [#13649](https://github.com/kubernetes/kops/pull/13649) * Use -ginkgo.junit-report instead of -ginkgo.reportFile [@hakman](https://github.com/hakman) [#13650](https://github.com/kubernetes/kops/pull/13650) * Allow editing clusters with Hetzner [@hakman](https://github.com/hakman) [#13654](https://github.com/kubernetes/kops/pull/13654) * Bump actions/setup-go from 3.0.0 to 3.1.0 [@dependabot[bot]](https://github.com/apps/dependabot) [#13653](https://github.com/kubernetes/kops/pull/13653) * Promote May AMIs in channels [@olemarkus](https://github.com/olemarkus) [#13658](https://github.com/kubernetes/kops/pull/13658) * Allow the AWS Load Balancer Controller to use WAFs [@seh](https://github.com/seh) [#13636](https://github.com/kubernetes/kops/pull/13636) * Update controller-runtime to v0.12.0 [@hakman](https://github.com/hakman) [#13655](https://github.com/kubernetes/kops/pull/13655) * Set nodeSelector and command to null [@zetaab](https://github.com/zetaab) [#13656](https://github.com/kubernetes/kops/pull/13656) * Add a nameservers parameter for cert-manager. [@jim-barber-he](https://github.com/jim-barber-he) [#13567](https://github.com/kubernetes/kops/pull/13567) * Allow overriding the kubernetes version when upgrading the cluster [@hakman](https://github.com/hakman) [#13652](https://github.com/kubernetes/kops/pull/13652) * Bump EBS CSI driver to 1.6.1 [@olemarkus](https://github.com/olemarkus) [#13664](https://github.com/kubernetes/kops/pull/13664) * Bump Load Balancer Controller to 2.4.1 [@olemarkus](https://github.com/olemarkus) [#13665](https://github.com/kubernetes/kops/pull/13665) * Bump Cilium to 1.11.5 [@olemarkus](https://github.com/olemarkus) [#13666](https://github.com/kubernetes/kops/pull/13666) * Add missing backslash to aws.md [@piec](https://github.com/piec) [#13669](https://github.com/kubernetes/kops/pull/13669) * Bump NTH to 1.16.4 and add support for scheduled instance change events [@olemarkus](https://github.com/olemarkus) [#13662](https://github.com/kubernetes/kops/pull/13662) * Bump EBS CSI driver to 1.6.2 [@olemarkus](https://github.com/olemarkus) [#13670](https://github.com/kubernetes/kops/pull/13670) * Bump metrics-server to 0.6.1 [@olemarkus](https://github.com/olemarkus) [#13674](https://github.com/kubernetes/kops/pull/13674) * Bump external-dns to 0.11.0 [@olemarkus](https://github.com/olemarkus) [#13673](https://github.com/kubernetes/kops/pull/13673) ## 1.24.0-alpha.5 to 1.24.0-beta.1 * Release notes for 1.24.0-alpha.5 [@olemarkus](https://github.com/olemarkus) [#13676](https://github.com/kubernetes/kops/pull/13676) * Bump coredns to 1.8.6 [@olemarkus](https://github.com/olemarkus) [#13677](https://github.com/kubernetes/kops/pull/13677) * Add Support for OVN Load Balancer for OpenStack [@ching-kuo](https://github.com/ching-kuo),[@zetaab](https://github.com/zetaab) [#13678](https://github.com/kubernetes/kops/pull/13678) * Add release note and getting started entries for Hetzner [@hakman](https://github.com/hakman) [#13680](https://github.com/kubernetes/kops/pull/13680) * Fix kops update for OpenStack with LB [@ching-kuo](https://github.com/ching-kuo) [#13682](https://github.com/kubernetes/kops/pull/13682) * Update Calico and Canal to v3.23.1 [@hakman](https://github.com/hakman) [#13672](https://github.com/kubernetes/kops/pull/13672) * bump alpha k8s versions with May releases [@MoShitrit](https://github.com/MoShitrit) [#13683](https://github.com/kubernetes/kops/pull/13683) * Update troubleshoot.md [@simonccc](https://github.com/simonccc) [#13685](https://github.com/kubernetes/kops/pull/13685) * Add support for configuring which metrics cilium will export [@olemarkus](https://github.com/olemarkus) [#13684](https://github.com/kubernetes/kops/pull/13684) * Remove unused DNS logic from Protokube [@hakman](https://github.com/hakman) [#13689](https://github.com/kubernetes/kops/pull/13689) * Fix Protokube gossip flag [@hakman](https://github.com/hakman) [#13692](https://github.com/kubernetes/kops/pull/13692) * Bump actions/setup-go from 3.1.0 to 3.2.0 [@dependabot[bot]](https://github.com/apps/dependabot) [#13694](https://github.com/kubernetes/kops/pull/13694) * Refactor cloud providers and remove unused code from Protokube [@hakman](https://github.com/hakman) [#13691](https://github.com/kubernetes/kops/pull/13691) * Use dependabot for Go deps [@hakman](https://github.com/hakman) [#13696](https://github.com/kubernetes/kops/pull/13696) * Fix links to go docs [@diversario](https://github.com/diversario) [#13705](https://github.com/kubernetes/kops/pull/13705) * Update gophercloud to v0.25.0 [@ching-kuo](https://github.com/ching-kuo) [#13710](https://github.com/kubernetes/kops/pull/13710) * Use build tags for Protokube [@hakman](https://github.com/hakman) [#13706](https://github.com/kubernetes/kops/pull/13706) * Clarify difference between terraform and kOps state stores [@hakman](https://github.com/hakman) [#13709](https://github.com/kubernetes/kops/pull/13709) * Bump node termination handler to 1.16.5 [@olemarkus](https://github.com/olemarkus) [#13711](https://github.com/kubernetes/kops/pull/13711) * promote alpha to stable (k8s releases) [@MoShitrit](https://github.com/MoShitrit) [#13713](https://github.com/kubernetes/kops/pull/13713) * Migrate EBS CSI images back to registry.k8s.io [@rifelpet](https://github.com/rifelpet) [#13718](https://github.com/kubernetes/kops/pull/13718) * Bump github.com/prometheus/client_golang from 1.12.1 to 1.12.2 [@dependabot[bot]](https://github.com/apps/dependabot) [#13697](https://github.com/kubernetes/kops/pull/13697) * update openstack ccm + csi [@zetaab](https://github.com/zetaab) [#13716](https://github.com/kubernetes/kops/pull/13716) * Bump github.com/spotinst/spotinst-sdk-go from 1.118.0 to 1.120.0 [@dependabot[bot]](https://github.com/apps/dependabot) [#13699](https://github.com/kubernetes/kops/pull/13699) * Bump aws cni to 1.11.2 [@MoShitrit](https://github.com/MoShitrit) [#13726](https://github.com/kubernetes/kops/pull/13726) * Add CSI driver for Hetzner [@hakman](https://github.com/hakman) [#13728](https://github.com/kubernetes/kops/pull/13728) * Use kubectl replace instead of apply when updating addons [@olemarkus](https://github.com/olemarkus) [#13731](https://github.com/kubernetes/kops/pull/13731) ## 1.24.0-beta.1 to 1.24.0-beta.2 * Channels to have exit status 1 on apply failure [@olemarkus](https://github.com/olemarkus) [#13749](https://github.com/kubernetes/kops/pull/13749) * Add support for setting mode field on file assets [@yurrriq](https://github.com/yurrriq) [#13715](https://github.com/kubernetes/kops/pull/13715) * Revert "Use kubectl replace instead of apply when updating addons" [@hakman](https://github.com/hakman) [#13761](https://github.com/kubernetes/kops/pull/13761) * Fix API group name for ingresses in DNS Controller [@julienperignon](https://github.com/julienperignon) [#13750](https://github.com/kubernetes/kops/pull/13750) * Update containerd and Docker versions [@hakman](https://github.com/hakman) [#13741](https://github.com/kubernetes/kops/pull/13741) * Update AWS CCM images for k8s 1.20-1.22 [@hakman](https://github.com/hakman) [#13748](https://github.com/kubernetes/kops/pull/13748) * Update runc to v1.1.3 [@hakman](https://github.com/hakman) [#13763](https://github.com/kubernetes/kops/pull/13763) * Fix namespace for cert manager webhook config [@olemarkus](https://github.com/olemarkus) [#13773](https://github.com/kubernetes/kops/pull/13773) * Add back the metrics-server 443 port with a new name [@olemarkus](https://github.com/olemarkus) [#13779](https://github.com/kubernetes/kops/pull/13779) * Avoid spurious changes with ed25519 keys [@hakman](https://github.com/hakman) [#13774](https://github.com/kubernetes/kops/pull/13774) * Fix broken node selector for node termination handler [@olemarkus](https://github.com/olemarkus) [#13781](https://github.com/kubernetes/kops/pull/13781) ## 1.24.0-beta.2 to 1.24.0-beta.3 * Replace flexdriver with busybox [@zetaab](https://github.com/zetaab) [#13809](https://github.com/kubernetes/kops/pull/13809) * Update etcd-manager to v3.0.20220617 [@hakman](https://github.com/hakman) [#13824](https://github.com/kubernetes/kops/pull/13824) * Do not run cluster autoscaler on spot instances [@olemarkus](https://github.com/olemarkus) [#13846](https://github.com/kubernetes/kops/pull/13846) * Fix GCE resource tracking [@hakman](https://github.com/hakman) [#13857](https://github.com/kubernetes/kops/pull/13857) * Adding GuestAccelerators to InstanceTemplate [@jonasasx](https://github.com/jonasasx) [#13707](https://github.com/kubernetes/kops/pull/13707) * Limit GCE tag for role to 63 chars [@hakman](https://github.com/hakman) [#13866](https://github.com/kubernetes/kops/pull/13866) * Replace manifests after apply [@olemarkus](https://github.com/olemarkus) [#13819](https://github.com/kubernetes/kops/pull/13819) * Don't try to manage the kube-system namespace [@hakman](https://github.com/hakman) [#13764](https://github.com/kubernetes/kops/pull/13764) * Release 1.24.0-beta.3 [@olemarkus](https://github.com/olemarkus) [#13880](https://github.com/kubernetes/kops/pull/13880) ## 1.24.0-beta.3 to 1.24.0 * Clean-up firewall rules that contain targets with the cluster name hash [@hakman](https://github.com/hakman) [#13869](https://github.com/kubernetes/kops/pull/13869) * Log errors from detachInstance [@olemarkus](https://github.com/olemarkus) [#13896](https://github.com/kubernetes/kops/pull/13896) * gce: set ProvisioningModel on InstanceTemplate [@justinsb](https://github.com/justinsb) [#13902](https://github.com/kubernetes/kops/pull/13902) * gce: Move out of beta, drop feature flag [@justinsb](https://github.com/justinsb),[@hakman](https://github.com/hakman) [#13903](https://github.com/kubernetes/kops/pull/13903) * Fix cleanup of firewall rules that contain targets with the cluster name hash [@hakman](https://github.com/hakman) [#13907](https://github.com/kubernetes/kops/pull/13907) * Only fail an addon update if the final apply fails. Install PKI anyway [@olemarkus](https://github.com/olemarkus) [#13897](https://github.com/kubernetes/kops/pull/13897) * Update dependencies for 1.24 [@hakman](https://github.com/hakman) [#13919](https://github.com/kubernetes/kops/pull/13919) * gce: Refactor ClusterPrefixedName and ClusterSuffixedName to not return error [@hakman](https://github.com/hakman) [#13920](https://github.com/kubernetes/kops/pull/13920) * Make it possible to enable the shield addon for LBC [@olemarkus](https://github.com/olemarkus) [#13929](https://github.com/kubernetes/kops/pull/13929) * Make IRSA webhook configure apps to use regional STS and set the default region on them [@olemarkus](https://github.com/olemarkus) [#13926](https://github.com/kubernetes/kops/pull/13926) * Limit GCE names to 63 chars for various resources [@hakman](https://github.com/hakman) [#13873](https://github.com/kubernetes/kops/pull/13873) * Mount /etc/hosts from host for CoreDNS [@hakman](https://github.com/hakman) [#13922](https://github.com/kubernetes/kops/pull/13922) * Limit GCE router name to 63 chars [@hakman](https://github.com/hakman) [#13932](https://github.com/kubernetes/kops/pull/13932) * Update Cilium to 1.11.6 [@ReillyBrogan](https://github.com/ReillyBrogan) [#13917](https://github.com/kubernetes/kops/pull/13917) * Remove the v1alpha3 API version [@johngmyers](https://github.com/johngmyers) [#13935](https://github.com/kubernetes/kops/pull/13935) * Fix unsetting ASG max price [@olemarkus](https://github.com/olemarkus) [#13852](https://github.com/kubernetes/kops/pull/13852) * Revert "Add back the metrics-server 443 port with a new name" [@olemarkus](https://github.com/olemarkus) [#13940](https://github.com/kubernetes/kops/pull/13940) * aws: introduce maximum instance lifetime in cluster [@sterchelen](https://github.com/sterchelen) [#13892](https://github.com/kubernetes/kops/pull/13892) * Be more specific when filtering OS instance ports [@ederst](https://github.com/ederst) [#13861](https://github.com/kubernetes/kops/pull/13861) * Use csi-snapshotter for OS only when the controller is enabled [@ederst](https://github.com/ederst) [#13890](https://github.com/kubernetes/kops/pull/13890) * Bump EBS CSI driver to 1.8.0 [@hakman](https://github.com/hakman) [#13939](https://github.com/kubernetes/kops/pull/13939) ## 1.24.0 to 1.24.1 * Use Calico v3.23 for Kubernetes 1.22+ [@hakman](https://github.com/hakman) [#13901](https://github.com/kubernetes/kops/pull/13901) * Fix AWS IAM Authenticator nodeSelector in k8s 1.24 [@rifelpet](https://github.com/rifelpet) [#13965](https://github.com/kubernetes/kops/pull/13965) * Skip deregistering the instance during rolling update for Spotinst [@hakman](https://github.com/hakman) [#13970](https://github.com/kubernetes/kops/pull/13970) * Upgrade aws-iam-authenticator to v0.5.9 [@rifelpet](https://github.com/rifelpet) [#13979](https://github.com/kubernetes/kops/pull/13979) * Use only IPv4 for Hetzner servers [@hakman](https://github.com/hakman) [#13982](https://github.com/kubernetes/kops/pull/13982) * Add option to set etcd-manager backup interval [@hakman](https://github.com/hakman) [#13975](https://github.com/kubernetes/kops/pull/13975) * Update etcd-manager to v3.0.20220717 [@hakman](https://github.com/hakman) [#13990](https://github.com/kubernetes/kops/pull/13990) * Update Go to v1.18.4 [@hakman](https://github.com/hakman) [#13994](https://github.com/kubernetes/kops/pull/13994) * Add option to set number of replicas for pod-identity-webhook [@hakman](https://github.com/hakman) [#13986](https://github.com/kubernetes/kops/pull/13986) * Upgrade DO CSI controller to 4.2.0 [@rifelpet](https://github.com/rifelpet) [#14005](https://github.com/kubernetes/kops/pull/14005) * Update k8s.io/client-go to match k8s.io/api [@hakman](https://github.com/hakman) [#14003](https://github.com/kubernetes/kops/pull/14003) * Switch to latest MacOS version for CI [@hakman](https://github.com/hakman) [#14015](https://github.com/kubernetes/kops/pull/14015) * Revert to using instance private DNS name to lookup hostname [@hakman](https://github.com/hakman) [#14024](https://github.com/kubernetes/kops/pull/14024) * Add server group management for Hetzner [@hakman](https://github.com/hakman) [#14018](https://github.com/kubernetes/kops/pull/14018) * Update dependencies for kOps 1.24 [@hakman](https://github.com/hakman) [#13989](https://github.com/kubernetes/kops/pull/13989) * Update Calico to v3.23.2 [@hakman](https://github.com/hakman) [#13908](https://github.com/kubernetes/kops/pull/13908) * Update etcd-manager to v3.0.20220727 [@hakman](https://github.com/hakman) [#14038](https://github.com/kubernetes/kops/pull/14038) * Check keyset existence before attempting to distrust [@yurrriq](https://github.com/yurrriq) [#14041](https://github.com/kubernetes/kops/pull/14041) * Fix SIGSEGV when deleting a Hetzner instance [@hakman](https://github.com/hakman) [#14046](https://github.com/kubernetes/kops/pull/14046) * Remove namespaces from cluster-scoped resources in CNI manifests [@rifelpet](https://github.com/rifelpet) [#14053](https://github.com/kubernetes/kops/pull/14053) * Enable rolling updates for Hetzner [@hakman](https://github.com/hakman) [#14034](https://github.com/kubernetes/kops/pull/14034) * Use cabundle for etcd CA files to fix key rotation in HA clusters [@olemarkus](https://github.com/olemarkus) [#14054](https://github.com/kubernetes/kops/pull/14054) ## 1.24.1 to 1.24.2 * Add config drive as a source for OpenStack instance metadata [@ederst](https://github.com/ederst) [#13845](https://github.com/kubernetes/kops/pull/13845) * Allow configuring OpenStack CCM networking options [@ederst](https://github.com/ederst) [#14017](https://github.com/kubernetes/kops/pull/14017) * aws-ebs-csi-driver: remove preStop hook [@sterchelen](https://github.com/sterchelen) [#14081](https://github.com/kubernetes/kops/pull/14081) * Add option to configure runc version for containerd [@hakman](https://github.com/hakman) [#14090](https://github.com/kubernetes/kops/pull/14090) * Bump nvidia device plugin to 0.12.0 [@ddelange](https://github.com/ddelange) [#13745](https://github.com/kubernetes/kops/pull/13745) * Add hashes for containerd v1.6.7 [@hakman](https://github.com/hakman) [#14093](https://github.com/kubernetes/kops/pull/14093) * Add deployment-specific selectors to nth pdb [@olemarkus](https://github.com/olemarkus) [#14113](https://github.com/kubernetes/kops/pull/14113) * Disable some flags in kube-controller-manager and kube-scheduler when logging-format is not text [@h3poteto](https://github.com/h3poteto) [#14115](https://github.com/kubernetes/kops/pull/14115) * Limit GCE network names to 63 chars [@hakman](https://github.com/hakman) [#14134](https://github.com/kubernetes/kops/pull/14134) * Bump the CCM images [@olemarkus](https://github.com/olemarkus) [#14130](https://github.com/kubernetes/kops/pull/14130) * Update runc to v1.1.4 [@hakman](https://github.com/hakman) [#14188](https://github.com/kubernetes/kops/pull/14188) * OIDC: Tolerate extra service-account key set items [@seh](https://github.com/seh) [#14175](https://github.com/kubernetes/kops/pull/14175) * Bump cilium to 1.11.8 [@olemarkus](https://github.com/olemarkus) [#14137](https://github.com/kubernetes/kops/pull/14137) * Bump cert-manager to 1.8.2 [@olemarkus](https://github.com/olemarkus) [#14212](https://github.com/kubernetes/kops/pull/14212) * Calico: Work around host port/conntrack problem [@seh](https://github.com/seh) [#14205](https://github.com/kubernetes/kops/pull/14205) ## 1.24.2 to 1.24.3 * aws-node-termination-handler to match node using providerID instead of AWS DNS name [@anthonyhaussman](https://github.com/anthonyhaussman) [#14244](https://github.com/kubernetes/kops/pull/14244) * AWS LBC needs ec2:DescribeVpcPeeringConnections for IPv6 [@johngmyers](https://github.com/johngmyers) [#14255](https://github.com/kubernetes/kops/pull/14255) * Ignore the _rundir that kubetest2 now creates [@olemarkus](https://github.com/olemarkus) [#13914](https://github.com/kubernetes/kops/pull/13914) * Fix openstack tag limitation [@akkina2107](https://github.com/akkina2107) [#13853](https://github.com/kubernetes/kops/pull/13853) * Warm pool-enabled ASGs scaled to zero will no longer panic [@olemarkus](https://github.com/olemarkus) [#14251](https://github.com/kubernetes/kops/pull/14251) * Bump AWS CNI to 1.11.3 [@MoShitrit](https://github.com/MoShitrit) [#14107](https://github.com/kubernetes/kops/pull/14107) ## 1.24.3 to 1.24.4 * Avoid spurious changes with NLB due to access log config [@hakman](https://github.com/hakman) [#14319](https://github.com/kubernetes/kops/pull/14319) * Add --network-id alias for --vpc flag [@hakman](https://github.com/hakman) [#14326](https://github.com/kubernetes/kops/pull/14326) * Avoid spurious changes with bastion hosts due to user data [@hakman](https://github.com/hakman) [#14318](https://github.com/kubernetes/kops/pull/14318) * cluster-autoscaler : Add iam permission autoscaling:DescribeScalingActivities needed since 1.24 version [@noony](https://github.com/noony) [#14317](https://github.com/kubernetes/kops/pull/14317) * Disable rp_filter on cilium hosts [@olemarkus](https://github.com/olemarkus) [#14369](https://github.com/kubernetes/kops/pull/14369) * gce: memberlist needs TCP also [@justinsb](https://github.com/justinsb) [#14364](https://github.com/kubernetes/kops/pull/14364) * update node-problem-detector to version 0.8.12 [@jjinno](https://github.com/jjinno) [#14382](https://github.com/kubernetes/kops/pull/14382) * update k8s cloudprovider openstack images [@zetaab](https://github.com/zetaab) [#14401](https://github.com/kubernetes/kops/pull/14401) * Fix default launch spec detection for spotinst [@2solt](https://github.com/2solt) [#14389](https://github.com/kubernetes/kops/pull/14389) ## 1.24.4 to 1.24.5 * Update containerd to v1.6.9 [@hakman](https://github.com/hakman) [#14458](https://github.com/kubernetes/kops/pull/14458) * Update Calico and Canal to v3.24.3 [@hakman](https://github.com/hakman) [#14466](https://github.com/kubernetes/kops/pull/14466) * Set customizable affinity and tolerations for coredns-autoscaler to match main coredns deployment [@MoShitrit](https://github.com/MoShitrit) [#14503](https://github.com/kubernetes/kops/pull/14503) * AWS CNI template updates [@MoShitrit](https://github.com/MoShitrit) [#14513](https://github.com/kubernetes/kops/pull/14513) * Update Go to v1.18.8 [@hakman](https://github.com/hakman) [#14555](https://github.com/kubernetes/kops/pull/14555) * Update Calico and Canal to latest versions [@hakman](https://github.com/hakman) [#14558](https://github.com/kubernetes/kops/pull/14558) * Update containerd to v1.6.10 [@hakman](https://github.com/hakman) [#14550](https://github.com/kubernetes/kops/pull/14550) * use sprig join for template functions [@heybronson](https://github.com/heybronson) [#14564](https://github.com/kubernetes/kops/pull/14564) * aws: Fix SIGSEGV when using instance selector [@hakman](https://github.com/hakman) [#14576](https://github.com/kubernetes/kops/pull/14576) * Add generics alternatives for fi.Bool/Float*/Int*/String*() [@hakman](https://github.com/hakman) [#14595](https://github.com/kubernetes/kops/pull/14595) * Remove CloudFormation tests [@johngmyers](https://github.com/johngmyers) [#14602](https://github.com/kubernetes/kops/pull/14602) * Fix pdb for identity webhook [@olemarkus](https://github.com/olemarkus) [#14442](https://github.com/kubernetes/kops/pull/14442) * aws: Add `ec2:DescribeAvailabilityZones` to the AWS CCM permissions list [@lobziik](https://github.com/lobziik) [#14650](https://github.com/kubernetes/kops/pull/14650) * aws: Limit the number of target groups updated per operation [@hakman](https://github.com/hakman) [#14648](https://github.com/kubernetes/kops/pull/14648) * gce: Allow Cilium to connect to its etcd cluster [@hakman](https://github.com/hakman) [#14655](https://github.com/kubernetes/kops/pull/14655)