From be34dc95b5dcb6bf8c64040646aa85ea231737e3 Mon Sep 17 00:00:00 2001 From: Aldo Culquicondor Date: Thu, 15 Jul 2021 13:34:59 -0400 Subject: [PATCH 1/3] Remove E2E test for NodePreferAvoidPods scheduling Score The feature is now disabled by default. The annotation never graduated from alpha. The same behavior can be achieved with PreferNoSchedule taints. --- test/e2e/scheduling/events.go | 59 ------------ test/e2e/scheduling/priorities.go | 155 ------------------------------ 2 files changed, 214 deletions(-) diff --git a/test/e2e/scheduling/events.go b/test/e2e/scheduling/events.go index 9cff05a88b7..9f1691f7627 100644 --- a/test/e2e/scheduling/events.go +++ b/test/e2e/scheduling/events.go @@ -25,7 +25,6 @@ import ( "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" @@ -56,64 +55,6 @@ func scheduleFailureEvent(podName string) func(*v1.Event) bool { // Action is a function to be performed by the system. type Action func() error -// observeNodeUpdateAfterAction returns true if a node update matching the predicate was emitted -// from the system after performing the supplied action. -func observeNodeUpdateAfterAction(c clientset.Interface, nodeName string, nodePredicate func(*v1.Node) bool, action Action) (bool, error) { - observedMatchingNode := false - nodeSelector := fields.OneTermEqualSelector("metadata.name", nodeName) - informerStartedChan := make(chan struct{}) - var informerStartedGuard sync.Once - - _, controller := cache.NewInformer( - &cache.ListWatch{ - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { - options.FieldSelector = nodeSelector.String() - ls, err := c.CoreV1().Nodes().List(context.TODO(), options) - return ls, err - }, - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { - // Signal parent goroutine that watching has begun. - defer informerStartedGuard.Do(func() { close(informerStartedChan) }) - options.FieldSelector = nodeSelector.String() - w, err := c.CoreV1().Nodes().Watch(context.TODO(), options) - return w, err - }, - }, - &v1.Node{}, - 0, - cache.ResourceEventHandlerFuncs{ - UpdateFunc: func(oldObj, newObj interface{}) { - n, ok := newObj.(*v1.Node) - framework.ExpectEqual(ok, true) - if nodePredicate(n) { - observedMatchingNode = true - } - }, - }, - ) - - // Start the informer and block this goroutine waiting for the started signal. - informerStopChan := make(chan struct{}) - defer func() { close(informerStopChan) }() - go controller.Run(informerStopChan) - <-informerStartedChan - - // Invoke the action function. - err := action() - if err != nil { - return false, err - } - - // Poll whether the informer has found a matching node update with a timeout. - // Wait up 2 minutes polling every second. - timeout := 2 * time.Minute - interval := 1 * time.Second - err = wait.Poll(interval, timeout, func() (bool, error) { - return observedMatchingNode, nil - }) - return err == nil, err -} - // observeEventAfterAction returns true if an event matching the predicate was emitted // from the system after performing the supplied action. func observeEventAfterAction(c clientset.Interface, ns string, eventPredicate func(*v1.Event) bool, action Action) (bool, error) { diff --git a/test/e2e/scheduling/priorities.go b/test/e2e/scheduling/priorities.go index 4cf9eafbccc..05296a15582 100644 --- a/test/e2e/scheduling/priorities.go +++ b/test/e2e/scheduling/priorities.go @@ -18,7 +18,6 @@ package scheduling import ( "context" - "encoding/json" "fmt" "math" "sync" @@ -30,7 +29,6 @@ import ( _ "github.com/stretchr/testify/assert" v1 "k8s.io/api/core/v1" - apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" @@ -43,10 +41,8 @@ import ( "k8s.io/kubernetes/test/e2e/framework" e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2erc "k8s.io/kubernetes/test/e2e/framework/rc" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" testutils "k8s.io/kubernetes/test/utils" - imageutils "k8s.io/kubernetes/test/utils/image" ) // Resource is a collection of compute resource. @@ -73,61 +69,6 @@ var podRequestedResource = &v1.ResourceRequirements{ }, } -// addOrUpdateAvoidPodOnNode adds avoidPods annotations to node, will override if it exists -func addOrUpdateAvoidPodOnNode(c clientset.Interface, nodeName string, avoidPods v1.AvoidPods) { - err := wait.PollImmediate(framework.Poll, framework.SingleCallTimeout, func() (bool, error) { - node, err := c.CoreV1().Nodes().Get(context.TODO(), nodeName, metav1.GetOptions{}) - if err != nil { - return false, err - } - - taintsData, err := json.Marshal(avoidPods) - framework.ExpectNoError(err) - - if node.Annotations == nil { - node.Annotations = make(map[string]string) - } - node.Annotations[v1.PreferAvoidPodsAnnotationKey] = string(taintsData) - _, err = c.CoreV1().Nodes().Update(context.TODO(), node, metav1.UpdateOptions{}) - if err != nil { - if !apierrors.IsConflict(err) { - framework.ExpectNoError(err) - } else { - framework.Logf("Conflict when trying to add/update avoidPods %v to %v with error %v", avoidPods, nodeName, err) - return false, nil - } - } - return true, nil - }) - framework.ExpectNoError(err) -} - -// removeAvoidPodsOffNode removes AvoidPods annotations from the node. It does not fail if no such annotation exists. -func removeAvoidPodsOffNode(c clientset.Interface, nodeName string) { - err := wait.PollImmediate(framework.Poll, framework.SingleCallTimeout, func() (bool, error) { - node, err := c.CoreV1().Nodes().Get(context.TODO(), nodeName, metav1.GetOptions{}) - if err != nil { - return false, err - } - - if node.Annotations == nil { - return true, nil - } - delete(node.Annotations, v1.PreferAvoidPodsAnnotationKey) - _, err = c.CoreV1().Nodes().Update(context.TODO(), node, metav1.UpdateOptions{}) - if err != nil { - if !apierrors.IsConflict(err) { - framework.ExpectNoError(err) - } else { - framework.Logf("Conflict when trying to remove avoidPods to %v", nodeName) - return false, nil - } - } - return true, nil - }) - framework.ExpectNoError(err) -} - // nodesAreTooUtilized ensures that each node can support 2*crioMinMemLimit // We check for double because it needs to support at least the cri-o minimum // plus whatever delta between node usages (which could be up to or at least crioMinMemLimit) @@ -262,70 +203,6 @@ var _ = SIGDescribe("SchedulerPriorities [Serial]", func() { framework.ExpectNotEqual(labelPod.Spec.NodeName, nodeName) }) - ginkgo.It("Pod should avoid nodes that have avoidPod annotation", func() { - nodeName := nodeList.Items[0].Name - // make the nodes have balanced cpu,mem usage - cleanUp, err := createBalancedPodForNodes(f, cs, ns, nodeList.Items, podRequestedResource, 0.5) - defer cleanUp() - framework.ExpectNoError(err) - ginkgo.By("Create a RC, with 0 replicas") - rc := createRC(ns, "scheduler-priority-avoid-pod", int32(0), map[string]string{"name": "scheduler-priority-avoid-pod"}, f, podRequestedResource) - // Cleanup the replication controller when we are done. - defer func() { - // Resize the replication controller to zero to get rid of pods. - if err := e2erc.DeleteRCAndWaitForGC(f.ClientSet, f.Namespace.Name, rc.Name); err != nil { - framework.Logf("Failed to cleanup replication controller %v: %v.", rc.Name, err) - } - }() - - ginkgo.By("Trying to apply avoidPod annotations on the first node.") - avoidPod := v1.AvoidPods{ - PreferAvoidPods: []v1.PreferAvoidPodsEntry{ - { - PodSignature: v1.PodSignature{ - PodController: &metav1.OwnerReference{ - APIVersion: "v1", - Kind: "ReplicationController", - Name: rc.Name, - UID: rc.UID, - Controller: func() *bool { b := true; return &b }(), - }, - }, - Reason: "some reson", - Message: "some message", - }, - }, - } - action := func() error { - addOrUpdateAvoidPodOnNode(cs, nodeName, avoidPod) - return nil - } - predicate := func(node *v1.Node) bool { - val, err := json.Marshal(avoidPod) - if err != nil { - return false - } - return node.Annotations[v1.PreferAvoidPodsAnnotationKey] == string(val) - } - success, err := observeNodeUpdateAfterAction(f.ClientSet, nodeName, predicate, action) - framework.ExpectNoError(err) - framework.ExpectEqual(success, true) - - defer removeAvoidPodsOffNode(cs, nodeName) - - ginkgo.By(fmt.Sprintf("Scale the RC: %s to len(nodeList.Item)-1 : %v.", rc.Name, len(nodeList.Items)-1)) - - e2erc.ScaleRC(f.ClientSet, f.ScalesGetter, ns, rc.Name, uint(len(nodeList.Items)-1), true) - testPods, err := cs.CoreV1().Pods(ns).List(context.TODO(), metav1.ListOptions{ - LabelSelector: "name=scheduler-priority-avoid-pod", - }) - framework.ExpectNoError(err) - ginkgo.By(fmt.Sprintf("Verify the pods should not scheduled to the node: %s", nodeName)) - for _, pod := range testPods.Items { - framework.ExpectNotEqual(pod.Spec.NodeName, nodeName) - } - }) - ginkgo.It("Pod should be preferably scheduled to nodes pod can tolerate", func() { // make the nodes have balanced cpu,mem usage ratio cleanUp, err := createBalancedPodForNodes(f, cs, ns, nodeList.Items, podRequestedResource, 0.5) @@ -664,38 +541,6 @@ func getNonZeroRequests(pod *v1.Pod) Resource { return result } -func createRC(ns, rsName string, replicas int32, rcPodLabels map[string]string, f *framework.Framework, resource *v1.ResourceRequirements) *v1.ReplicationController { - rc := &v1.ReplicationController{ - TypeMeta: metav1.TypeMeta{ - Kind: "ReplicationController", - APIVersion: "v1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: rsName, - }, - Spec: v1.ReplicationControllerSpec{ - Replicas: &replicas, - Template: &v1.PodTemplateSpec{ - ObjectMeta: metav1.ObjectMeta{ - Labels: rcPodLabels, - }, - Spec: v1.PodSpec{ - Containers: []v1.Container{ - { - Name: rsName, - Image: imageutils.GetPauseImageName(), - Resources: *resource, - }, - }, - }, - }, - }, - } - rc, err := f.ClientSet.CoreV1().ReplicationControllers(ns).Create(context.TODO(), rc, metav1.CreateOptions{}) - framework.ExpectNoError(err) - return rc -} - func getRandomTaint() v1.Taint { return v1.Taint{ Key: fmt.Sprintf("kubernetes.io/e2e-scheduling-priorities-%s", string(uuid.NewUUID()[:23])), From fc6a5be694a583fcbf8a5a8ef9187055bb93a59c Mon Sep 17 00:00:00 2001 From: Anago GCB Date: Thu, 15 Jul 2021 21:30:01 +0000 Subject: [PATCH 2/3] CHANGELOG: Update directory for v1.19.13 release --- CHANGELOG/CHANGELOG-1.19.md | 368 ++++++++++++++++++++++-------------- 1 file changed, 230 insertions(+), 138 deletions(-) diff --git a/CHANGELOG/CHANGELOG-1.19.md b/CHANGELOG/CHANGELOG-1.19.md index a9b752d333a..de6d37c254a 100644 --- a/CHANGELOG/CHANGELOG-1.19.md +++ b/CHANGELOG/CHANGELOG-1.19.md @@ -1,189 +1,203 @@ -- [v1.19.12](#v11912) - - [Downloads for v1.19.12](#downloads-for-v11912) +- [v1.19.13](#v11913) + - [Downloads for v1.19.13](#downloads-for-v11913) - [Source Code](#source-code) - [Client Binaries](#client-binaries) - [Server Binaries](#server-binaries) - [Node Binaries](#node-binaries) - - [Changelog since v1.19.11](#changelog-since-v11911) + - [Changelog since v1.19.12](#changelog-since-v11912) - [Changes by Kind](#changes-by-kind) - [Feature](#feature) - - [Failing Test](#failing-test) - [Bug or Regression](#bug-or-regression) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake) - [Dependencies](#dependencies) - [Added](#added) - [Changed](#changed) - [Removed](#removed) -- [v1.19.11](#v11911) - - [Downloads for v1.19.11](#downloads-for-v11911) +- [v1.19.12](#v11912) + - [Downloads for v1.19.12](#downloads-for-v11912) - [Source Code](#source-code-1) - [Client Binaries](#client-binaries-1) - [Server Binaries](#server-binaries-1) - [Node Binaries](#node-binaries-1) - - [Changelog since v1.19.10](#changelog-since-v11910) + - [Changelog since v1.19.11](#changelog-since-v11911) - [Changes by Kind](#changes-by-kind-1) - - [API Change](#api-change) - [Feature](#feature-1) + - [Failing Test](#failing-test) - [Bug or Regression](#bug-or-regression-1) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake) - [Dependencies](#dependencies-1) - [Added](#added-1) - [Changed](#changed-1) - [Removed](#removed-1) -- [v1.19.10](#v11910) - - [Downloads for v1.19.10](#downloads-for-v11910) +- [v1.19.11](#v11911) + - [Downloads for v1.19.11](#downloads-for-v11911) - [Source Code](#source-code-2) - - [Client binaries](#client-binaries-2) - - [Server binaries](#server-binaries-2) - - [Node binaries](#node-binaries-2) - - [Changelog since v1.19.9](#changelog-since-v1199) - - [Important Security Information](#important-security-information) - - [CVE-2021-25735: Validating Admission Webhook does not observe some previous fields](#cve-2021-25735-validating-admission-webhook-does-not-observe-some-previous-fields) + - [Client Binaries](#client-binaries-2) + - [Server Binaries](#server-binaries-2) + - [Node Binaries](#node-binaries-2) + - [Changelog since v1.19.10](#changelog-since-v11910) - [Changes by Kind](#changes-by-kind-2) - - [API Change](#api-change-1) + - [API Change](#api-change) - [Feature](#feature-2) - [Bug or Regression](#bug-or-regression-2) - [Dependencies](#dependencies-2) - [Added](#added-2) - [Changed](#changed-2) - [Removed](#removed-2) -- [v1.19.9](#v1199) - - [Downloads for v1.19.9](#downloads-for-v1199) +- [v1.19.10](#v11910) + - [Downloads for v1.19.10](#downloads-for-v11910) - [Source Code](#source-code-3) - [Client binaries](#client-binaries-3) - [Server binaries](#server-binaries-3) - [Node binaries](#node-binaries-3) - - [Changelog since v1.19.8](#changelog-since-v1198) + - [Changelog since v1.19.9](#changelog-since-v1199) + - [Important Security Information](#important-security-information) + - [CVE-2021-25735: Validating Admission Webhook does not observe some previous fields](#cve-2021-25735-validating-admission-webhook-does-not-observe-some-previous-fields) - [Changes by Kind](#changes-by-kind-3) - - [Failing Test](#failing-test-1) + - [API Change](#api-change-1) + - [Feature](#feature-3) - [Bug or Regression](#bug-or-regression-3) - [Dependencies](#dependencies-3) - [Added](#added-3) - [Changed](#changed-3) - [Removed](#removed-3) -- [v1.19.8](#v1198) - - [Downloads for v1.19.8](#downloads-for-v1198) +- [v1.19.9](#v1199) + - [Downloads for v1.19.9](#downloads-for-v1199) - [Source Code](#source-code-4) - [Client binaries](#client-binaries-4) - [Server binaries](#server-binaries-4) - [Node binaries](#node-binaries-4) - - [Changelog since v1.19.7](#changelog-since-v1197) + - [Changelog since v1.19.8](#changelog-since-v1198) - [Changes by Kind](#changes-by-kind-4) - - [API Change](#api-change-2) + - [Failing Test](#failing-test-1) - [Bug or Regression](#bug-or-regression-4) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-1) - [Dependencies](#dependencies-4) - [Added](#added-4) - [Changed](#changed-4) - [Removed](#removed-4) -- [v1.19.7](#v1197) - - [Downloads for v1.19.7](#downloads-for-v1197) +- [v1.19.8](#v1198) + - [Downloads for v1.19.8](#downloads-for-v1198) - [Source Code](#source-code-5) - [Client binaries](#client-binaries-5) - [Server binaries](#server-binaries-5) - [Node binaries](#node-binaries-5) - - [Changelog since v1.19.6](#changelog-since-v1196) + - [Changelog since v1.19.7](#changelog-since-v1197) - [Changes by Kind](#changes-by-kind-5) + - [API Change](#api-change-2) - [Bug or Regression](#bug-or-regression-5) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-1) - [Dependencies](#dependencies-5) - [Added](#added-5) - [Changed](#changed-5) - [Removed](#removed-5) -- [v1.19.6](#v1196) - - [Downloads for v1.19.6](#downloads-for-v1196) +- [v1.19.7](#v1197) + - [Downloads for v1.19.7](#downloads-for-v1197) - [Source Code](#source-code-6) - [Client binaries](#client-binaries-6) - [Server binaries](#server-binaries-6) - [Node binaries](#node-binaries-6) - - [Changelog since v1.19.5](#changelog-since-v1195) + - [Changelog since v1.19.6](#changelog-since-v1196) - [Changes by Kind](#changes-by-kind-6) - - [Feature](#feature-3) - [Bug or Regression](#bug-or-regression-6) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-2) - [Dependencies](#dependencies-6) - [Added](#added-6) - [Changed](#changed-6) - [Removed](#removed-6) -- [v1.19.5](#v1195) - - [Downloads for v1.19.5](#downloads-for-v1195) +- [v1.19.6](#v1196) + - [Downloads for v1.19.6](#downloads-for-v1196) - [Source Code](#source-code-7) - [Client binaries](#client-binaries-7) - [Server binaries](#server-binaries-7) - [Node binaries](#node-binaries-7) - - [Changelog since v1.19.4](#changelog-since-v1194) + - [Changelog since v1.19.5](#changelog-since-v1195) - [Changes by Kind](#changes-by-kind-7) - [Feature](#feature-4) - - [Failing Test](#failing-test-2) - [Bug or Regression](#bug-or-regression-7) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-2) - [Dependencies](#dependencies-7) - [Added](#added-7) - [Changed](#changed-7) - [Removed](#removed-7) -- [v1.19.4](#v1194) - - [Downloads for v1.19.4](#downloads-for-v1194) +- [v1.19.5](#v1195) + - [Downloads for v1.19.5](#downloads-for-v1195) - [Source Code](#source-code-8) - [Client binaries](#client-binaries-8) - [Server binaries](#server-binaries-8) - [Node binaries](#node-binaries-8) - - [Changelog since v1.19.3](#changelog-since-v1193) + - [Changelog since v1.19.4](#changelog-since-v1194) - [Changes by Kind](#changes-by-kind-8) + - [Feature](#feature-5) + - [Failing Test](#failing-test-2) - [Bug or Regression](#bug-or-regression-8) - [Dependencies](#dependencies-8) - [Added](#added-8) - [Changed](#changed-8) - [Removed](#removed-8) -- [v1.19.3](#v1193) - - [Downloads for v1.19.3](#downloads-for-v1193) +- [v1.19.4](#v1194) + - [Downloads for v1.19.4](#downloads-for-v1194) - [Source Code](#source-code-9) - [Client binaries](#client-binaries-9) - [Server binaries](#server-binaries-9) - [Node binaries](#node-binaries-9) - - [Changelog since v1.19.2](#changelog-since-v1192) + - [Changelog since v1.19.3](#changelog-since-v1193) - [Changes by Kind](#changes-by-kind-9) - - [Feature](#feature-5) - - [Design](#design) - [Bug or Regression](#bug-or-regression-9) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-3) - [Dependencies](#dependencies-9) - [Added](#added-9) - [Changed](#changed-9) - [Removed](#removed-9) -- [v1.19.2](#v1192) - - [Downloads for v1.19.2](#downloads-for-v1192) +- [v1.19.3](#v1193) + - [Downloads for v1.19.3](#downloads-for-v1193) - [Source Code](#source-code-10) - [Client binaries](#client-binaries-10) - [Server binaries](#server-binaries-10) - [Node binaries](#node-binaries-10) - - [Changelog since v1.19.1](#changelog-since-v1191) + - [Changelog since v1.19.2](#changelog-since-v1192) - [Changes by Kind](#changes-by-kind-10) - - [API Change](#api-change-3) + - [Feature](#feature-6) + - [Design](#design) - [Bug or Regression](#bug-or-regression-10) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-4) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-3) - [Dependencies](#dependencies-10) - [Added](#added-10) - [Changed](#changed-10) - [Removed](#removed-10) -- [v1.19.1](#v1191) - - [Downloads for v1.19.1](#downloads-for-v1191) +- [v1.19.2](#v1192) + - [Downloads for v1.19.2](#downloads-for-v1192) - [Source Code](#source-code-11) - [Client binaries](#client-binaries-11) - [Server binaries](#server-binaries-11) - [Node binaries](#node-binaries-11) - - [Changelog since v1.19.0](#changelog-since-v1190) + - [Changelog since v1.19.1](#changelog-since-v1191) - [Changes by Kind](#changes-by-kind-11) + - [API Change](#api-change-3) - [Bug or Regression](#bug-or-regression-11) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-5) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-4) - [Dependencies](#dependencies-11) - [Added](#added-11) - [Changed](#changed-11) - [Removed](#removed-11) +- [v1.19.1](#v1191) + - [Downloads for v1.19.1](#downloads-for-v1191) + - [Source Code](#source-code-12) + - [Client binaries](#client-binaries-12) + - [Server binaries](#server-binaries-12) + - [Node binaries](#node-binaries-12) + - [Changelog since v1.19.0](#changelog-since-v1190) + - [Changes by Kind](#changes-by-kind-12) + - [Bug or Regression](#bug-or-regression-12) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-5) + - [Dependencies](#dependencies-12) + - [Added](#added-12) + - [Changed](#changed-12) + - [Removed](#removed-12) - [v1.19.0](#v1190) - [Downloads for v1.19.0](#downloads-for-v1190) - - [Source Code](#source-code-12) - - [Client Binaries](#client-binaries-12) - - [Server Binaries](#server-binaries-12) - - [Node Binaries](#node-binaries-12) + - [Source Code](#source-code-13) + - [Client Binaries](#client-binaries-13) + - [Server Binaries](#server-binaries-13) + - [Node Binaries](#node-binaries-13) - [Changelog since v1.18.0](#changelog-since-v1180) - [What’s New (Major Themes)](#whats-new-major-themes) - [Deprecation warnings](#deprecation-warnings) @@ -207,185 +221,263 @@ - [Known Issues](#known-issues) - [Urgent Upgrade Notes](#urgent-upgrade-notes) - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade) - - [Changes by Kind](#changes-by-kind-12) + - [Changes by Kind](#changes-by-kind-13) - [Deprecation](#deprecation) - [API Change](#api-change-4) - - [Feature](#feature-6) + - [Feature](#feature-7) - [Documentation](#documentation) - [Failing Test](#failing-test-3) - - [Bug or Regression](#bug-or-regression-12) + - [Bug or Regression](#bug-or-regression-13) - [Other (Cleanup or Flake)](#other-cleanup-or-flake-6) - - [Dependencies](#dependencies-12) - - [Added](#added-12) - - [Changed](#changed-12) - - [Removed](#removed-12) - [Dependencies](#dependencies-13) - [Added](#added-13) - [Changed](#changed-13) - [Removed](#removed-13) -- [v1.19.0-rc.4](#v1190-rc4) - - [Downloads for v1.19.0-rc.4](#downloads-for-v1190-rc4) - - [Source Code](#source-code-13) - - [Client binaries](#client-binaries-13) - - [Server binaries](#server-binaries-13) - - [Node binaries](#node-binaries-13) - - [Changelog since v1.19.0-rc.3](#changelog-since-v1190-rc3) - - [Changes by Kind](#changes-by-kind-13) - - [Deprecation](#deprecation-1) - - [Bug or Regression](#bug-or-regression-13) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-7) - [Dependencies](#dependencies-14) - [Added](#added-14) - [Changed](#changed-14) - [Removed](#removed-14) -- [v1.19.0-rc.3](#v1190-rc3) - - [Downloads for v1.19.0-rc.3](#downloads-for-v1190-rc3) +- [v1.19.0-rc.4](#v1190-rc4) + - [Downloads for v1.19.0-rc.4](#downloads-for-v1190-rc4) - [Source Code](#source-code-14) - [Client binaries](#client-binaries-14) - [Server binaries](#server-binaries-14) - [Node binaries](#node-binaries-14) - - [Changelog since v1.19.0-rc.2](#changelog-since-v1190-rc2) + - [Changelog since v1.19.0-rc.3](#changelog-since-v1190-rc3) - [Changes by Kind](#changes-by-kind-14) - - [API Change](#api-change-5) + - [Deprecation](#deprecation-1) - [Bug or Regression](#bug-or-regression-14) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-7) - [Dependencies](#dependencies-15) - [Added](#added-15) - [Changed](#changed-15) - [Removed](#removed-15) -- [v1.19.0-rc.2](#v1190-rc2) - - [Downloads for v1.19.0-rc.2](#downloads-for-v1190-rc2) +- [v1.19.0-rc.3](#v1190-rc3) + - [Downloads for v1.19.0-rc.3](#downloads-for-v1190-rc3) - [Source Code](#source-code-15) - [Client binaries](#client-binaries-15) - [Server binaries](#server-binaries-15) - [Node binaries](#node-binaries-15) - - [Changelog since v1.19.0-rc.1](#changelog-since-v1190-rc1) + - [Changelog since v1.19.0-rc.2](#changelog-since-v1190-rc2) - [Changes by Kind](#changes-by-kind-15) - - [API Change](#api-change-6) - - [Feature](#feature-7) + - [API Change](#api-change-5) - [Bug or Regression](#bug-or-regression-15) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-8) - [Dependencies](#dependencies-16) - [Added](#added-16) - [Changed](#changed-16) - [Removed](#removed-16) -- [v1.19.0-rc.1](#v1190-rc1) - - [Downloads for v1.19.0-rc.1](#downloads-for-v1190-rc1) +- [v1.19.0-rc.2](#v1190-rc2) + - [Downloads for v1.19.0-rc.2](#downloads-for-v1190-rc2) - [Source Code](#source-code-16) - [Client binaries](#client-binaries-16) - [Server binaries](#server-binaries-16) - [Node binaries](#node-binaries-16) - - [Changelog since v1.19.0-rc.0](#changelog-since-v1190-rc0) - - [Urgent Upgrade Notes](#urgent-upgrade-notes-1) - - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-1) + - [Changelog since v1.19.0-rc.1](#changelog-since-v1190-rc1) - [Changes by Kind](#changes-by-kind-16) - - [Deprecation](#deprecation-2) - - [API Change](#api-change-7) + - [API Change](#api-change-6) - [Feature](#feature-8) - - [Failing Test](#failing-test-4) - [Bug or Regression](#bug-or-regression-16) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-9) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-8) - [Dependencies](#dependencies-17) - [Added](#added-17) - [Changed](#changed-17) - [Removed](#removed-17) -- [v1.19.0-beta.2](#v1190-beta2) - - [Downloads for v1.19.0-beta.2](#downloads-for-v1190-beta2) +- [v1.19.0-rc.1](#v1190-rc1) + - [Downloads for v1.19.0-rc.1](#downloads-for-v1190-rc1) - [Source Code](#source-code-17) - [Client binaries](#client-binaries-17) - [Server binaries](#server-binaries-17) - [Node binaries](#node-binaries-17) - - [Changelog since v1.19.0-beta.1](#changelog-since-v1190-beta1) + - [Changelog since v1.19.0-rc.0](#changelog-since-v1190-rc0) + - [Urgent Upgrade Notes](#urgent-upgrade-notes-1) + - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-1) - [Changes by Kind](#changes-by-kind-17) - - [Deprecation](#deprecation-3) - - [API Change](#api-change-8) + - [Deprecation](#deprecation-2) + - [API Change](#api-change-7) - [Feature](#feature-9) + - [Failing Test](#failing-test-4) - [Bug or Regression](#bug-or-regression-17) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-10) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-9) - [Dependencies](#dependencies-18) - [Added](#added-18) - [Changed](#changed-18) - [Removed](#removed-18) -- [v1.19.0-beta.1](#v1190-beta1) - - [Downloads for v1.19.0-beta.1](#downloads-for-v1190-beta1) +- [v1.19.0-beta.2](#v1190-beta2) + - [Downloads for v1.19.0-beta.2](#downloads-for-v1190-beta2) - [Source Code](#source-code-18) - [Client binaries](#client-binaries-18) - [Server binaries](#server-binaries-18) - [Node binaries](#node-binaries-18) - - [Changelog since v1.19.0-alpha.3](#changelog-since-v1190-alpha3) - - [Urgent Upgrade Notes](#urgent-upgrade-notes-2) - - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-2) + - [Changelog since v1.19.0-beta.1](#changelog-since-v1190-beta1) - [Changes by Kind](#changes-by-kind-18) - - [API Change](#api-change-9) + - [Deprecation](#deprecation-3) + - [API Change](#api-change-8) - [Feature](#feature-10) - [Bug or Regression](#bug-or-regression-18) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-11) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-10) - [Dependencies](#dependencies-19) - [Added](#added-19) - [Changed](#changed-19) - [Removed](#removed-19) -- [v1.19.0-beta.0](#v1190-beta0) - - [Downloads for v1.19.0-beta.0](#downloads-for-v1190-beta0) +- [v1.19.0-beta.1](#v1190-beta1) + - [Downloads for v1.19.0-beta.1](#downloads-for-v1190-beta1) - [Source Code](#source-code-19) - [Client binaries](#client-binaries-19) - [Server binaries](#server-binaries-19) - [Node binaries](#node-binaries-19) - - [Changelog since v1.19.0-alpha.3](#changelog-since-v1190-alpha3-1) + - [Changelog since v1.19.0-alpha.3](#changelog-since-v1190-alpha3) + - [Urgent Upgrade Notes](#urgent-upgrade-notes-2) + - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-2) - [Changes by Kind](#changes-by-kind-19) - - [API Change](#api-change-10) + - [API Change](#api-change-9) - [Feature](#feature-11) - [Bug or Regression](#bug-or-regression-19) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-12) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-11) - [Dependencies](#dependencies-20) - [Added](#added-20) - [Changed](#changed-20) - [Removed](#removed-20) -- [v1.19.0-alpha.3](#v1190-alpha3) - - [Downloads for v1.19.0-alpha.3](#downloads-for-v1190-alpha3) +- [v1.19.0-beta.0](#v1190-beta0) + - [Downloads for v1.19.0-beta.0](#downloads-for-v1190-beta0) - [Source Code](#source-code-20) - - [Client Binaries](#client-binaries-20) - - [Server Binaries](#server-binaries-20) - - [Node Binaries](#node-binaries-20) - - [Changelog since v1.19.0-alpha.2](#changelog-since-v1190-alpha2) - - [Urgent Upgrade Notes](#urgent-upgrade-notes-3) - - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-3) + - [Client binaries](#client-binaries-20) + - [Server binaries](#server-binaries-20) + - [Node binaries](#node-binaries-20) + - [Changelog since v1.19.0-alpha.3](#changelog-since-v1190-alpha3-1) - [Changes by Kind](#changes-by-kind-20) - - [Deprecation](#deprecation-4) - - [API Change](#api-change-11) + - [API Change](#api-change-10) - [Feature](#feature-12) - [Bug or Regression](#bug-or-regression-20) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-13) -- [v1.19.0-alpha.2](#v1190-alpha2) - - [Downloads for v1.19.0-alpha.2](#downloads-for-v1190-alpha2) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-12) + - [Dependencies](#dependencies-21) + - [Added](#added-21) + - [Changed](#changed-21) + - [Removed](#removed-21) +- [v1.19.0-alpha.3](#v1190-alpha3) + - [Downloads for v1.19.0-alpha.3](#downloads-for-v1190-alpha3) - [Source Code](#source-code-21) - [Client Binaries](#client-binaries-21) - [Server Binaries](#server-binaries-21) - [Node Binaries](#node-binaries-21) - - [Changelog since v1.19.0-alpha.1](#changelog-since-v1190-alpha1) - - [Urgent Upgrade Notes](#urgent-upgrade-notes-4) - - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-4) + - [Changelog since v1.19.0-alpha.2](#changelog-since-v1190-alpha2) + - [Urgent Upgrade Notes](#urgent-upgrade-notes-3) + - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-3) - [Changes by Kind](#changes-by-kind-21) - - [API Change](#api-change-12) + - [Deprecation](#deprecation-4) + - [API Change](#api-change-11) - [Feature](#feature-13) - [Bug or Regression](#bug-or-regression-21) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-14) -- [v1.19.0-alpha.1](#v1190-alpha1) - - [Downloads for v1.19.0-alpha.1](#downloads-for-v1190-alpha1) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-13) +- [v1.19.0-alpha.2](#v1190-alpha2) + - [Downloads for v1.19.0-alpha.2](#downloads-for-v1190-alpha2) - [Source Code](#source-code-22) - [Client Binaries](#client-binaries-22) - [Server Binaries](#server-binaries-22) - [Node Binaries](#node-binaries-22) + - [Changelog since v1.19.0-alpha.1](#changelog-since-v1190-alpha1) + - [Urgent Upgrade Notes](#urgent-upgrade-notes-4) + - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-4) + - [Changes by Kind](#changes-by-kind-22) + - [API Change](#api-change-12) + - [Feature](#feature-14) + - [Bug or Regression](#bug-or-regression-22) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-14) +- [v1.19.0-alpha.1](#v1190-alpha1) + - [Downloads for v1.19.0-alpha.1](#downloads-for-v1190-alpha1) + - [Source Code](#source-code-23) + - [Client Binaries](#client-binaries-23) + - [Server Binaries](#server-binaries-23) + - [Node Binaries](#node-binaries-23) - [Changelog since v1.19.0-alpha.0](#changelog-since-v1190-alpha0) - [Urgent Upgrade Notes](#urgent-upgrade-notes-5) - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-5) - - [Changes by Kind](#changes-by-kind-22) + - [Changes by Kind](#changes-by-kind-23) - [Deprecation](#deprecation-5) - [API Change](#api-change-13) - - [Feature](#feature-14) + - [Feature](#feature-15) - [Documentation](#documentation-1) - [Other (Bug, Cleanup or Flake)](#other-bug-cleanup-or-flake) +# v1.19.13 + + +## Downloads for v1.19.13 + +### Source Code + +filename | sha512 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes.tar.gz) | c33be1c413e38b29fd14740b5444d08896e9919c26f5e56934c1fef8e7cde8c1371b410d2b8fe511e6406bb72b013a4e68ca11efcb90573a56a79626cd74f381 +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-src.tar.gz) | d6e243defa828ec38868dab3be654c3c889b948d3d691ec22144a28fb5d9b59f86f917a01a482ce655f12a2065b28ea638c2380b73d8feee12b00e293c69fb1e + +### Client Binaries + +filename | sha512 hash +-------- | ----------- +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-client-darwin-amd64.tar.gz) | fd3b3ae3fb86bffae9504fa2c32791934cac3277f3fa70c1dd18e078d5f97cd9e1842301519de41cfd5835fb7689bc82055e81d25123796ccfcdd70311d8431b +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-client-linux-386.tar.gz) | 4e165e93ec9ba8e5a08f34eacafb0b6f87e91f1894719f12a08125417ba505a953b0ab60e5270467be8b6a9b667d90528ed1d837d089ae95db977d154d75d927 +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-client-linux-amd64.tar.gz) | 156fb003f1b29226c1a89fed2231c96071c8c52e428dd16dd24bc4159109e755a3ca1c30aae5ec8fad70467d73e06140c7e794b0f2065832b5d14980b2ba7e36 +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-client-linux-arm.tar.gz) | c307e294160cd4105e44ab68ad53515fcd63db4eb0b4c0f26429ca45d15a31f686285f24b6013c22e2bf3f5a73449849db361f066f28a27519809b39c10642a0 +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-client-linux-arm64.tar.gz) | fd5e073e4a823c143637230b950a1255f36d0f84bfb68a09bac2bf79cf58b2d7f61aa1ae507b21182cde13d32482ae8d76cae88b3ebfbd69a29d8485d80030d3 +[kubernetes-client-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-client-linux-ppc64le.tar.gz) | 963c435ec3187447ba97769241f77f91a664b1260b4229471765f749b9f6fb796ac6eeb2026d67cc67506f02605c3d681fd6a80ecf94ff5000cf643881120606 +[kubernetes-client-linux-s390x.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-client-linux-s390x.tar.gz) | e8f59759d22a616fb844f1ce06eb5420628a16129063cf0ef4d330d3b46cae8dd4147dac64becad26be59708e9c76f4ab8cc0c50e6a35cf7741fad358f719015 +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-client-windows-386.tar.gz) | c7d44eb3237a5e958b59fc3de0edc12cb6ee9ae7606a095cd1eda834c09801c70d3d28bb0761754e5c367be1e376ea793d1d8f3a9dc067c7b7bd308c0f27c86a +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-client-windows-amd64.tar.gz) | ae5f5d45bc28b5cff13ede9943705889f42100585e1ec3b94591813d385d737c9635a6c21bec4485bbaa7a52c25330a53bccdaebe784923c28c4d5d6b5f51389 + +### Server Binaries + +filename | sha512 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-server-linux-amd64.tar.gz) | 2d357be4b62a399a20f3550295852d39f3975699711487d4af46626cc873c8c3cdba8503798fc355985c498b12a9804199a159a38d9aa1a123b72bfcf692ed08 +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-server-linux-arm.tar.gz) | fdde608397dc1f64b794759077aa4595a2b13a1787638bd1d0d9bb9efd1534b571e7635ccd7090ea3c9a6f7be0a4ba9152ae2666fa03ffaf350f6e81a58411c5 +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-server-linux-arm64.tar.gz) | 2a4cae1c8a340beecdc2a61486e1da28a7ddac2d4c17cee20e53fcb8103715a516e2735e10bc5cfefe6a109e5d7898d32a508bef076d07249aed0ac1dd6a97d5 +[kubernetes-server-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-server-linux-ppc64le.tar.gz) | 7011248d416686d9b5a9ffe8338cf83a450cae616d109bae82152a6dd1d601ccc4f79453851564c10a851f7f8847e2b3ab468c3a0c5649bd5548bc581da93f27 +[kubernetes-server-linux-s390x.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-server-linux-s390x.tar.gz) | 3fdb9efa4f1bbfb1646e093624068b4e8cbd95797dbc95dd9c031114c6d290a8adeaf0821b78c5605908deb80aedc04d3bbd9f235f106d00c7476388c4413536 + +### Node Binaries + +filename | sha512 hash +-------- | ----------- +[kubernetes-node-linux-amd64.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-node-linux-amd64.tar.gz) | 48b1e18b04f4f92d022514db15bb3e443cd1524aa5e1d765e7f6bee8f5d3091117c05d4864d01d1562c268d5f75f7cacb9e56ff50c3ced888bbc73af2bf85217 +[kubernetes-node-linux-arm.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-node-linux-arm.tar.gz) | f8bfe168792e1e64d45fa72ae935b3b4301674df9320537fe7b1225872c4cde3ad5394141fc4b2fa316b44a4d39dbca7066fe1eeea7dfc62feae7814d6c3fc6d +[kubernetes-node-linux-arm64.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-node-linux-arm64.tar.gz) | d7ae51d076ae73e2ad72a429ad154aebd2b6f969091edbb77dc0e78a7d5c55b5d78b8dab81fdc3d7eb86b96f423a53ef5c184e49fba8f3d000095e1767b885bb +[kubernetes-node-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-node-linux-ppc64le.tar.gz) | ba722cc18ff2216f651a0e4dac24c6a7e3150d273569c4dd84689183b73d8328ad335d77da4fcb0a406e2d25121676510a680ced78ec811cd20a6ac202eddf3c +[kubernetes-node-linux-s390x.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-node-linux-s390x.tar.gz) | ba4da20282c736a650165dec1a2751b67172d36d5deb35c964455590f536afce16119e4f5363a71fabf7ee73a1b168dd5ecd53ca966a5627871902977cf9d82e +[kubernetes-node-windows-amd64.tar.gz](https://dl.k8s.io/v1.19.13/kubernetes-node-windows-amd64.tar.gz) | 48f1d7c707c821a7c3ad013d7a887f338456aa4c96c1eb5dcbfc7eab335616f1ad08e4e751cb346db036ea17ff5fe0f5ff6260e2cc32c315e671dd4ef7597500 + +## Changelog since v1.19.12 + +## Changes by Kind + +### Feature + +- Kubernetes 1.19.x is now built using Go 1.15.14 ([#103705](https://github.com/kubernetes/kubernetes/pull/103705), [@puerco](https://github.com/puerco)) [SIG Cloud Provider, Instrumentation, Release and Testing] +- Updates the following images to pick up CVE fixes: + - `debian` to v1.8.0 + - `debian-iptables` to v1.6.5 + - `setcap` to v2.0.3 ([#103235](https://github.com/kubernetes/kubernetes/pull/103235), [@thejoycekung](https://github.com/thejoycekung)) [SIG API Machinery, Release and Testing] + +### Bug or Regression + +- Fix scoring for NodeResourcesMostAllocated and NodeResourcesBalancedAllocation plugins when nodes have containers with no requests. This was leaving to under-utilization of small nodes. ([#102925](https://github.com/kubernetes/kubernetes/pull/102925), [@alculquicondor](https://github.com/alculquicondor)) [SIG Scheduling] +- Fixes a `cannot convert int64 to float64` error seen using server-side apply with certain CRDs in 1.19.10+ ([#103105](https://github.com/kubernetes/kubernetes/pull/103105), [@liggitt](https://github.com/liggitt)) [SIG API Machinery] +- Switch scheduler to generate the merge patch on pod status instead of the full pod ([#103133](https://github.com/kubernetes/kubernetes/pull/103133), [@marwanad](https://github.com/marwanad)) [SIG Scheduling] + +## Dependencies + +### Added +_Nothing has changed._ + +### Changed +- sigs.k8s.io/structured-merge-diff/v4: v4.0.3 → v4.1.2 + +### Removed +_Nothing has changed._ + + + # v1.19.12 From 1e5ba82fd0b558d619873a67252866e854842d41 Mon Sep 17 00:00:00 2001 From: Anago GCB Date: Thu, 15 Jul 2021 21:33:48 +0000 Subject: [PATCH 3/3] CHANGELOG: Update directory for v1.20.9 release --- CHANGELOG/CHANGELOG-1.20.md | 308 +++++++++++++++++++++++------------- 1 file changed, 200 insertions(+), 108 deletions(-) diff --git a/CHANGELOG/CHANGELOG-1.20.md b/CHANGELOG/CHANGELOG-1.20.md index 71434578ead..ee9008b04f5 100644 --- a/CHANGELOG/CHANGELOG-1.20.md +++ b/CHANGELOG/CHANGELOG-1.20.md @@ -1,127 +1,141 @@ -- [v1.20.8](#v1208) - - [Downloads for v1.20.8](#downloads-for-v1208) +- [v1.20.9](#v1209) + - [Downloads for v1.20.9](#downloads-for-v1209) - [Source Code](#source-code) - [Client Binaries](#client-binaries) - [Server Binaries](#server-binaries) - [Node Binaries](#node-binaries) - - [Changelog since v1.20.7](#changelog-since-v1207) + - [Changelog since v1.20.8](#changelog-since-v1208) - [Changes by Kind](#changes-by-kind) - [Feature](#feature) - - [Failing Test](#failing-test) - [Bug or Regression](#bug-or-regression) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake) - [Dependencies](#dependencies) - [Added](#added) - [Changed](#changed) - [Removed](#removed) -- [v1.20.7](#v1207) - - [Downloads for v1.20.7](#downloads-for-v1207) +- [v1.20.8](#v1208) + - [Downloads for v1.20.8](#downloads-for-v1208) - [Source Code](#source-code-1) - [Client Binaries](#client-binaries-1) - [Server Binaries](#server-binaries-1) - [Node Binaries](#node-binaries-1) - - [Changelog since v1.20.6](#changelog-since-v1206) + - [Changelog since v1.20.7](#changelog-since-v1207) - [Changes by Kind](#changes-by-kind-1) - - [API Change](#api-change) - [Feature](#feature-1) + - [Failing Test](#failing-test) - [Bug or Regression](#bug-or-regression-1) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake) - [Dependencies](#dependencies-1) - [Added](#added-1) - [Changed](#changed-1) - [Removed](#removed-1) -- [v1.20.6](#v1206) - - [Downloads for v1.20.6](#downloads-for-v1206) +- [v1.20.7](#v1207) + - [Downloads for v1.20.7](#downloads-for-v1207) - [Source Code](#source-code-2) - - [Client binaries](#client-binaries-2) - - [Server binaries](#server-binaries-2) - - [Node binaries](#node-binaries-2) - - [Changelog since v1.20.5](#changelog-since-v1205) - - [Important Security Information](#important-security-information) - - [CVE-2021-25735: Validating Admission Webhook does not observe some previous fields](#cve-2021-25735-validating-admission-webhook-does-not-observe-some-previous-fields) + - [Client Binaries](#client-binaries-2) + - [Server Binaries](#server-binaries-2) + - [Node Binaries](#node-binaries-2) + - [Changelog since v1.20.6](#changelog-since-v1206) - [Changes by Kind](#changes-by-kind-2) - - [API Change](#api-change-1) + - [API Change](#api-change) - [Feature](#feature-2) - [Bug or Regression](#bug-or-regression-2) - - [Uncategorized](#uncategorized) - [Dependencies](#dependencies-2) - [Added](#added-2) - [Changed](#changed-2) - [Removed](#removed-2) -- [v1.20.5](#v1205) - - [Downloads for v1.20.5](#downloads-for-v1205) +- [v1.20.6](#v1206) + - [Downloads for v1.20.6](#downloads-for-v1206) - [Source Code](#source-code-3) - [Client binaries](#client-binaries-3) - [Server binaries](#server-binaries-3) - [Node binaries](#node-binaries-3) - - [Changelog since v1.20.4](#changelog-since-v1204) + - [Changelog since v1.20.5](#changelog-since-v1205) + - [Important Security Information](#important-security-information) + - [CVE-2021-25735: Validating Admission Webhook does not observe some previous fields](#cve-2021-25735-validating-admission-webhook-does-not-observe-some-previous-fields) - [Changes by Kind](#changes-by-kind-3) - - [Failing Test](#failing-test-1) + - [API Change](#api-change-1) + - [Feature](#feature-3) - [Bug or Regression](#bug-or-regression-3) + - [Uncategorized](#uncategorized) - [Dependencies](#dependencies-3) - [Added](#added-3) - [Changed](#changed-3) - [Removed](#removed-3) -- [v1.20.4](#v1204) - - [Downloads for v1.20.4](#downloads-for-v1204) +- [v1.20.5](#v1205) + - [Downloads for v1.20.5](#downloads-for-v1205) - [Source Code](#source-code-4) - [Client binaries](#client-binaries-4) - [Server binaries](#server-binaries-4) - [Node binaries](#node-binaries-4) - - [Changelog since v1.20.3](#changelog-since-v1203) + - [Changelog since v1.20.4](#changelog-since-v1204) + - [Changes by Kind](#changes-by-kind-4) + - [Failing Test](#failing-test-1) + - [Bug or Regression](#bug-or-regression-4) - [Dependencies](#dependencies-4) - [Added](#added-4) - [Changed](#changed-4) - [Removed](#removed-4) -- [v1.20.3](#v1203) - - [Downloads for v1.20.3](#downloads-for-v1203) +- [v1.20.4](#v1204) + - [Downloads for v1.20.4](#downloads-for-v1204) - [Source Code](#source-code-5) - [Client binaries](#client-binaries-5) - [Server binaries](#server-binaries-5) - [Node binaries](#node-binaries-5) - - [Changelog since v1.20.2](#changelog-since-v1202) - - [Changes by Kind](#changes-by-kind-4) - - [API Change](#api-change-2) - - [Failing Test](#failing-test-2) - - [Bug or Regression](#bug-or-regression-4) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-1) + - [Changelog since v1.20.3](#changelog-since-v1203) - [Dependencies](#dependencies-5) - [Added](#added-5) - [Changed](#changed-5) - [Removed](#removed-5) -- [v1.20.2](#v1202) - - [Downloads for v1.20.2](#downloads-for-v1202) +- [v1.20.3](#v1203) + - [Downloads for v1.20.3](#downloads-for-v1203) - [Source Code](#source-code-6) - [Client binaries](#client-binaries-6) - [Server binaries](#server-binaries-6) - [Node binaries](#node-binaries-6) - - [Changelog since v1.20.1](#changelog-since-v1201) + - [Changelog since v1.20.2](#changelog-since-v1202) - [Changes by Kind](#changes-by-kind-5) + - [API Change](#api-change-2) + - [Failing Test](#failing-test-2) - [Bug or Regression](#bug-or-regression-5) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-1) - [Dependencies](#dependencies-6) - [Added](#added-6) - [Changed](#changed-6) - [Removed](#removed-6) -- [v1.20.1](#v1201) - - [Downloads for v1.20.1](#downloads-for-v1201) +- [v1.20.2](#v1202) + - [Downloads for v1.20.2](#downloads-for-v1202) - [Source Code](#source-code-7) - [Client binaries](#client-binaries-7) - [Server binaries](#server-binaries-7) - [Node binaries](#node-binaries-7) - - [Changelog since v1.20.0](#changelog-since-v1200) + - [Changelog since v1.20.1](#changelog-since-v1201) - [Changes by Kind](#changes-by-kind-6) - [Bug or Regression](#bug-or-regression-6) - [Dependencies](#dependencies-7) - [Added](#added-7) - [Changed](#changed-7) - [Removed](#removed-7) +- [v1.20.1](#v1201) + - [Downloads for v1.20.1](#downloads-for-v1201) + - [Source Code](#source-code-8) + - [Client binaries](#client-binaries-8) + - [Server binaries](#server-binaries-8) + - [Node binaries](#node-binaries-8) + - [Changelog since v1.20.0](#changelog-since-v1200) + - [Changes by Kind](#changes-by-kind-7) + - [Bug or Regression](#bug-or-regression-7) + - [Dependencies](#dependencies-8) + - [Added](#added-8) + - [Changed](#changed-8) + - [Removed](#removed-8) - [v1.20.0](#v1200) - [Downloads for v1.20.0](#downloads-for-v1200) - - [Source Code](#source-code-8) - - [Client Binaries](#client-binaries-8) - - [Server Binaries](#server-binaries-8) - - [Node Binaries](#node-binaries-8) + - [Source Code](#source-code-9) + - [Client Binaries](#client-binaries-9) + - [Server Binaries](#server-binaries-9) + - [Node Binaries](#node-binaries-9) - [Changelog since v1.19.0](#changelog-since-v1190) - [What's New (Major Themes)](#whats-new-major-themes) - [Dockershim deprecation](#dockershim-deprecation) @@ -149,148 +163,226 @@ - [Summary API in kubelet doesn't have accelerator metrics](#summary-api-in-kubelet-doesnt-have-accelerator-metrics) - [Urgent Upgrade Notes](#urgent-upgrade-notes) - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade) - - [Changes by Kind](#changes-by-kind-7) + - [Changes by Kind](#changes-by-kind-8) - [Deprecation](#deprecation) - [API Change](#api-change-3) - - [Feature](#feature-3) + - [Feature](#feature-4) - [Documentation](#documentation) - [Failing Test](#failing-test-3) - - [Bug or Regression](#bug-or-regression-7) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-2) - - [Dependencies](#dependencies-8) - - [Added](#added-8) - - [Changed](#changed-8) - - [Removed](#removed-8) -- [v1.20.0-rc.0](#v1200-rc0) - - [Downloads for v1.20.0-rc.0](#downloads-for-v1200-rc0) - - [Source Code](#source-code-9) - - [Client binaries](#client-binaries-9) - - [Server binaries](#server-binaries-9) - - [Node binaries](#node-binaries-9) - - [Changelog since v1.20.0-beta.2](#changelog-since-v1200-beta2) - - [Changes by Kind](#changes-by-kind-8) - - [Feature](#feature-4) - - [Failing Test](#failing-test-4) - [Bug or Regression](#bug-or-regression-8) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-2) - [Dependencies](#dependencies-9) - [Added](#added-9) - [Changed](#changed-9) - [Removed](#removed-9) -- [v1.20.0-beta.2](#v1200-beta2) - - [Downloads for v1.20.0-beta.2](#downloads-for-v1200-beta2) +- [v1.20.0-rc.0](#v1200-rc0) + - [Downloads for v1.20.0-rc.0](#downloads-for-v1200-rc0) - [Source Code](#source-code-10) - [Client binaries](#client-binaries-10) - [Server binaries](#server-binaries-10) - [Node binaries](#node-binaries-10) - - [Changelog since v1.20.0-beta.1](#changelog-since-v1200-beta1) - - [Urgent Upgrade Notes](#urgent-upgrade-notes-1) - - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-1) + - [Changelog since v1.20.0-beta.2](#changelog-since-v1200-beta2) - [Changes by Kind](#changes-by-kind-9) - - [Deprecation](#deprecation-1) - - [API Change](#api-change-4) - [Feature](#feature-5) - - [Documentation](#documentation-1) + - [Failing Test](#failing-test-4) - [Bug or Regression](#bug-or-regression-9) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-3) - [Dependencies](#dependencies-10) - [Added](#added-10) - [Changed](#changed-10) - [Removed](#removed-10) -- [v1.20.0-beta.1](#v1200-beta1) - - [Downloads for v1.20.0-beta.1](#downloads-for-v1200-beta1) +- [v1.20.0-beta.2](#v1200-beta2) + - [Downloads for v1.20.0-beta.2](#downloads-for-v1200-beta2) - [Source Code](#source-code-11) - [Client binaries](#client-binaries-11) - [Server binaries](#server-binaries-11) - [Node binaries](#node-binaries-11) - - [Changelog since v1.20.0-beta.0](#changelog-since-v1200-beta0) + - [Changelog since v1.20.0-beta.1](#changelog-since-v1200-beta1) + - [Urgent Upgrade Notes](#urgent-upgrade-notes-1) + - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-1) - [Changes by Kind](#changes-by-kind-10) - - [Deprecation](#deprecation-2) - - [API Change](#api-change-5) + - [Deprecation](#deprecation-1) + - [API Change](#api-change-4) - [Feature](#feature-6) - - [Documentation](#documentation-2) + - [Documentation](#documentation-1) - [Bug or Regression](#bug-or-regression-10) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-4) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-3) - [Dependencies](#dependencies-11) - [Added](#added-11) - [Changed](#changed-11) - [Removed](#removed-11) -- [v1.20.0-beta.0](#v1200-beta0) - - [Downloads for v1.20.0-beta.0](#downloads-for-v1200-beta0) +- [v1.20.0-beta.1](#v1200-beta1) + - [Downloads for v1.20.0-beta.1](#downloads-for-v1200-beta1) - [Source Code](#source-code-12) - [Client binaries](#client-binaries-12) - [Server binaries](#server-binaries-12) - [Node binaries](#node-binaries-12) - - [Changelog since v1.20.0-alpha.3](#changelog-since-v1200-alpha3) - - [Urgent Upgrade Notes](#urgent-upgrade-notes-2) - - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-2) + - [Changelog since v1.20.0-beta.0](#changelog-since-v1200-beta0) - [Changes by Kind](#changes-by-kind-11) - - [Deprecation](#deprecation-3) - - [API Change](#api-change-6) + - [Deprecation](#deprecation-2) + - [API Change](#api-change-5) - [Feature](#feature-7) - - [Documentation](#documentation-3) + - [Documentation](#documentation-2) - [Bug or Regression](#bug-or-regression-11) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-5) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-4) - [Dependencies](#dependencies-12) - [Added](#added-12) - [Changed](#changed-12) - [Removed](#removed-12) -- [v1.20.0-alpha.3](#v1200-alpha3) - - [Downloads for v1.20.0-alpha.3](#downloads-for-v1200-alpha3) +- [v1.20.0-beta.0](#v1200-beta0) + - [Downloads for v1.20.0-beta.0](#downloads-for-v1200-beta0) - [Source Code](#source-code-13) - [Client binaries](#client-binaries-13) - [Server binaries](#server-binaries-13) - [Node binaries](#node-binaries-13) - - [Changelog since v1.20.0-alpha.2](#changelog-since-v1200-alpha2) + - [Changelog since v1.20.0-alpha.3](#changelog-since-v1200-alpha3) + - [Urgent Upgrade Notes](#urgent-upgrade-notes-2) + - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-2) - [Changes by Kind](#changes-by-kind-12) - - [API Change](#api-change-7) + - [Deprecation](#deprecation-3) + - [API Change](#api-change-6) - [Feature](#feature-8) + - [Documentation](#documentation-3) - [Bug or Regression](#bug-or-regression-12) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-6) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-5) - [Dependencies](#dependencies-13) - [Added](#added-13) - [Changed](#changed-13) - [Removed](#removed-13) -- [v1.20.0-alpha.2](#v1200-alpha2) - - [Downloads for v1.20.0-alpha.2](#downloads-for-v1200-alpha2) +- [v1.20.0-alpha.3](#v1200-alpha3) + - [Downloads for v1.20.0-alpha.3](#downloads-for-v1200-alpha3) - [Source Code](#source-code-14) - [Client binaries](#client-binaries-14) - [Server binaries](#server-binaries-14) - [Node binaries](#node-binaries-14) - - [Changelog since v1.20.0-alpha.1](#changelog-since-v1200-alpha1) + - [Changelog since v1.20.0-alpha.2](#changelog-since-v1200-alpha2) - [Changes by Kind](#changes-by-kind-13) - - [Deprecation](#deprecation-4) - - [API Change](#api-change-8) + - [API Change](#api-change-7) - [Feature](#feature-9) - [Bug or Regression](#bug-or-regression-13) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-7) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-6) - [Dependencies](#dependencies-14) - [Added](#added-14) - [Changed](#changed-14) - [Removed](#removed-14) -- [v1.20.0-alpha.1](#v1200-alpha1) - - [Downloads for v1.20.0-alpha.1](#downloads-for-v1200-alpha1) +- [v1.20.0-alpha.2](#v1200-alpha2) + - [Downloads for v1.20.0-alpha.2](#downloads-for-v1200-alpha2) - [Source Code](#source-code-15) - [Client binaries](#client-binaries-15) - [Server binaries](#server-binaries-15) - [Node binaries](#node-binaries-15) - - [Changelog since v1.20.0-alpha.0](#changelog-since-v1200-alpha0) - - [Urgent Upgrade Notes](#urgent-upgrade-notes-3) - - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-3) + - [Changelog since v1.20.0-alpha.1](#changelog-since-v1200-alpha1) - [Changes by Kind](#changes-by-kind-14) - - [Deprecation](#deprecation-5) - - [API Change](#api-change-9) + - [Deprecation](#deprecation-4) + - [API Change](#api-change-8) - [Feature](#feature-10) - - [Documentation](#documentation-4) - - [Failing Test](#failing-test-5) - [Bug or Regression](#bug-or-regression-14) - - [Other (Cleanup or Flake)](#other-cleanup-or-flake-8) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-7) - [Dependencies](#dependencies-15) - [Added](#added-15) - [Changed](#changed-15) - [Removed](#removed-15) +- [v1.20.0-alpha.1](#v1200-alpha1) + - [Downloads for v1.20.0-alpha.1](#downloads-for-v1200-alpha1) + - [Source Code](#source-code-16) + - [Client binaries](#client-binaries-16) + - [Server binaries](#server-binaries-16) + - [Node binaries](#node-binaries-16) + - [Changelog since v1.20.0-alpha.0](#changelog-since-v1200-alpha0) + - [Urgent Upgrade Notes](#urgent-upgrade-notes-3) + - [(No, really, you MUST read this before you upgrade)](#no-really-you-must-read-this-before-you-upgrade-3) + - [Changes by Kind](#changes-by-kind-15) + - [Deprecation](#deprecation-5) + - [API Change](#api-change-9) + - [Feature](#feature-11) + - [Documentation](#documentation-4) + - [Failing Test](#failing-test-5) + - [Bug or Regression](#bug-or-regression-15) + - [Other (Cleanup or Flake)](#other-cleanup-or-flake-8) + - [Dependencies](#dependencies-16) + - [Added](#added-16) + - [Changed](#changed-16) + - [Removed](#removed-16) +# v1.20.9 + + +## Downloads for v1.20.9 + +### Source Code + +filename | sha512 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes.tar.gz) | 3efdb061bd0a4b2ff15130fa15cac4092a6555a77656870e7d03411f4932d53196f411dcdee33e19e33fd2609c6381c9af4bde2d3c572a2168b965ebb2a484bf +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-src.tar.gz) | 88ecb846eecbb61c382098a83b0faad18de2a99a0395a95b909d286a2ea477827fc8150df6292079dc2cac63c4f9f568f92bea1c1b9c0386646f96d1f8d880b7 + +### Client Binaries + +filename | sha512 hash +-------- | ----------- +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-client-darwin-amd64.tar.gz) | 40d423d91b41a9751a4ca6db8165e7beaf6d12b86f1bcacb3157c3e1d7b16a914fcd45fc0932476da59d9c096c4c192be77383fe58ca0f69e3b26ccee6c46d23 +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-client-linux-386.tar.gz) | 584d3242e293571d139b9d10b1ef74dea0efb8014aa51c232bc0eff35fd044a4f911e419d7533b0509440036554fc6148e8eeff176077a990b08f2ceba87047e +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-client-linux-amd64.tar.gz) | d7b50aed4c5ab79a22bf7f21a1e5fd5fa749400dd8cb78265eb7ea1ec755c91e323017e93240518755b7bd0da8cefc08a433c9ca101965d92cb9d0fcfdf73a06 +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-client-linux-arm.tar.gz) | e9a98733af4a7ad73f149a9eb790fc0d05dfe47d0ecb1a321c253306f8e1de453ca712a60e26299cb5bdc60b88534a6eda8f795da03b6cc74b50011da091e635 +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-client-linux-arm64.tar.gz) | 6c41f4a85b240e81f275a9a652341517b514346788c8da4298eac28a07fed9d68256e544de7a0307884897be5e111f48f8b366cfd1a7b8abb557ac1f99e539ed +[kubernetes-client-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-client-linux-ppc64le.tar.gz) | 402d840d4802d155583e86e0500a0685e6472b073659f264896bca0280395b87f783096cacecdb167346403ab58a6ac165f07c5d58444d416e137176747be3a1 +[kubernetes-client-linux-s390x.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-client-linux-s390x.tar.gz) | b3da04aedc2384d376718f7ca18271e118c06ce6200fa106bda1e5ee0cf40124fdcd487a3f2f827f776a9f8822595dd2fcf3169d01f4901d893d453dc18713c2 +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-client-windows-386.tar.gz) | 817a969e05e8bb667bb439793ad025762e13334ed44e05a17275a19bf518a0a6345d41ed4c67e8cfc305580578aeee2195fbe15920d5996b5969444539ca41e9 +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-client-windows-amd64.tar.gz) | fafeca9e8b895bb02757bc79600e786d45536812d66d5b3fb469684ee468dcc2fc1c1d5c3c4e1dbc648f81b5dc7d6e46e7a9ee89fd7518fdd2c0f197cbb11451 + +### Server Binaries + +filename | sha512 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-server-linux-amd64.tar.gz) | 5a548833c8a67083ae3dfae1869d741ea3d4abf5a2ad69f3c7155bffe73376573102e4d6fce24c1869a169ca89f36ded822481a711a35527f9aff4a1395af544 +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-server-linux-arm.tar.gz) | 964bb74d721c4949b0241613cc51f0c6a417fe4a55c616f6dcf23e8cbc1bc6440457a08157c4ffe8c81bd079273bd26fd74ac5d8cf8be8f5092ea018e441d0cd +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-server-linux-arm64.tar.gz) | f1e80b61f0dd3ea0cd8abd92a04037de4b14e743d22dd49e6f4e2f8e5f9e203c8f04522500f24cd2b8e95aef501c7087cd130ab52d7bb8c1ee7f2c7b511d63da +[kubernetes-server-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-server-linux-ppc64le.tar.gz) | 3451b747040c47ea6bec31e9e8af4bad57ac2b5062390837e41cb7e725d32dc5547eacea8a531f0f7b7c8988669b5441b1738767de47457d25f63eff34843e4f +[kubernetes-server-linux-s390x.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-server-linux-s390x.tar.gz) | d05a7ee6b9d3b562b411960d607f238582b838d676ec20ee7801646087e990d58652553468ea4ac1403af2cca9757c85277d45661197fff71d027c51ba934f85 + +### Node Binaries + +filename | sha512 hash +-------- | ----------- +[kubernetes-node-linux-amd64.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-node-linux-amd64.tar.gz) | 97bade5c27730b528b8e622ab622a0ca47eefdd05f90afda933013413b534442dc1e2f970c42c4737003b79f016f0ba048486e7265bc9c7b63fd080493fa12ba +[kubernetes-node-linux-arm.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-node-linux-arm.tar.gz) | 1ee2df007821cc1dc974ce85953d79a4ffb7edda7596d653b46dd8260ea5ff31f888ece9517a75d33405bce7df7954f27a7bc51d50425f659e686d8c3dabbaf0 +[kubernetes-node-linux-arm64.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-node-linux-arm64.tar.gz) | 2bee7411e1196e640945311a449a3519297f673e74ec5dcdaebd774f8c13e2d0cf9259a70d3cede969c96b4fa11c2b4f4a29ee988194f24331dbfe1c82737ba0 +[kubernetes-node-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-node-linux-ppc64le.tar.gz) | 15c0ac8c8844f463e0099803cfc5c25f448c9ed9e0553802c26184eb7e3437c524d2d25a8c280089003a5110570ca8b47e505570a839e4641d67078516ebd264 +[kubernetes-node-linux-s390x.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-node-linux-s390x.tar.gz) | bf0b9aef4d1137fa23976077fbba2f5aa00670cdaf56618f3ddce43143601329bcf03576d5fa41dc3a0bbfd00a5e2aeacf90cb1b72abb09346344aeb8130d62b +[kubernetes-node-windows-amd64.tar.gz](https://dl.k8s.io/v1.20.9/kubernetes-node-windows-amd64.tar.gz) | 91ea19155da5071f5a0c9165003b3b6f4f21ccff0c226f3c53cff99594c73993559d7b216ba691428a8f38349dc75da61b3a13def3e7f6d72e62e6fdc71cac12 + +## Changelog since v1.20.8 + +## Changes by Kind + +### Feature + +- Kubernetes 1.20.x is now built using Go 1.15.14 ([#103677](https://github.com/kubernetes/kubernetes/pull/103677), [@puerco](https://github.com/puerco)) [SIG Cloud Provider, Instrumentation, Release and Testing] +- Updates the following images to pick up CVE fixes: + - `debian` to v1.8.0 + - `debian-iptables` to v1.6.5 + - `setcap` to v2.0.3 ([#103235](https://github.com/kubernetes/kubernetes/pull/103235), [@thejoycekung](https://github.com/thejoycekung)) [SIG API Machinery, Release and Testing] + +### Bug or Regression + +- Fix scoring for NodeResourcesMostAllocated and NodeResourcesBalancedAllocation plugins when nodes have containers with no requests. This was leaving to under-utilization of small nodes. ([#102925](https://github.com/kubernetes/kubernetes/pull/102925), [@alculquicondor](https://github.com/alculquicondor)) [SIG Scheduling] +- Switch scheduler to generate the merge patch on pod status instead of the full pod ([#103133](https://github.com/kubernetes/kubernetes/pull/103133), [@marwanad](https://github.com/marwanad)) [SIG Scheduling] +- VSphere: Fix regression during attach disk if datastore is within a storage folder or datastore cluster. ([#102999](https://github.com/kubernetes/kubernetes/pull/102999), [@gnufied](https://github.com/gnufied)) [SIG Cloud Provider] + +## Dependencies + +### Added +_Nothing has changed._ + +### Changed +- sigs.k8s.io/structured-merge-diff/v4: v4.0.3 → v4.1.2 + +### Removed +_Nothing has changed._ + + + # v1.20.8