diff --git a/third_party/go/patches/k8s-drop-legacy-log-path.patch b/third_party/go/patches/k8s-drop-legacy-log-path.patch
new file mode 100644
index 0000000..af7b007
--- /dev/null
+++ b/third_party/go/patches/k8s-drop-legacy-log-path.patch
@@ -0,0 +1,222 @@
+Copyright 2020 The Monogon Project Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+
+From 227ccd88e378a002b7c23703eec96aa1d25949eb Mon Sep 17 00:00:00 2001
+From: Lorenz Brun <lorenz@brun.one>
+Date: Wed, 3 Feb 2021 16:47:38 +0100
+Subject: [PATCH] Drop legacy log path
+
+---
+ pkg/kubelet/kubelet.go                        |  7 ----
+ .../kuberuntime/kuberuntime_container.go      | 32 ---------------
+ pkg/kubelet/kuberuntime/kuberuntime_gc.go     | 39 -------------------
+ pkg/kubelet/runonce.go                        |  8 ----
+ test/e2e_node/log_path_test.go                | 19 +--------
+ 5 files changed, 1 insertion(+), 104 deletions(-)
+
+diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go
+index 902dc7532e1..2d582f65b19 100644
+--- a/pkg/kubelet/kubelet.go
++++ b/pkg/kubelet/kubelet.go
+@@ -1250,13 +1250,6 @@ func (kl *Kubelet) initializeModules() error {
+ 		return err
+ 	}
+ 
+-	// If the container logs directory does not exist, create it.
+-	if _, err := os.Stat(ContainerLogsDir); err != nil {
+-		if err := kl.os.MkdirAll(ContainerLogsDir, 0755); err != nil {
+-			return fmt.Errorf("failed to create directory %q: %v", ContainerLogsDir, err)
+-		}
+-	}
+-
+ 	// Start the image manager.
+ 	kl.imageManager.Start()
+ 
+diff --git a/pkg/kubelet/kuberuntime/kuberuntime_container.go b/pkg/kubelet/kuberuntime/kuberuntime_container.go
+index af361122c35..d5b2d245219 100644
+--- a/pkg/kubelet/kuberuntime/kuberuntime_container.go
++++ b/pkg/kubelet/kuberuntime/kuberuntime_container.go
+@@ -190,25 +190,6 @@ func (m *kubeGenericRuntimeManager) startContainer(podSandboxID string, podSandb
+ 	}
+ 	m.recordContainerEvent(pod, container, containerID, v1.EventTypeNormal, events.StartedContainer, fmt.Sprintf("Started container %s", container.Name))
+ 
+-	// Symlink container logs to the legacy container log location for cluster logging
+-	// support.
+-	// TODO(random-liu): Remove this after cluster logging supports CRI container log path.
+-	containerMeta := containerConfig.GetMetadata()
+-	sandboxMeta := podSandboxConfig.GetMetadata()
+-	legacySymlink := legacyLogSymlink(containerID, containerMeta.Name, sandboxMeta.Name,
+-		sandboxMeta.Namespace)
+-	containerLog := filepath.Join(podSandboxConfig.LogDirectory, containerConfig.LogPath)
+-	// only create legacy symlink if containerLog path exists (or the error is not IsNotExist).
+-	// Because if containerLog path does not exist, only dangling legacySymlink is created.
+-	// This dangling legacySymlink is later removed by container gc, so it does not make sense
+-	// to create it in the first place. it happens when journald logging driver is used with docker.
+-	if _, err := m.osInterface.Stat(containerLog); !os.IsNotExist(err) {
+-		if err := m.osInterface.Symlink(containerLog, legacySymlink); err != nil {
+-			klog.Errorf("Failed to create legacy symbolic link %q to container %q log %q: %v",
+-				legacySymlink, containerID, containerLog, err)
+-		}
+-	}
+-
+ 	// Step 4: execute the post start hook.
+ 	if container.Lifecycle != nil && container.Lifecycle.PostStart != nil {
+ 		kubeContainerID := kubecontainer.ContainerID{
+@@ -861,19 +842,6 @@ func (m *kubeGenericRuntimeManager) removeContainerLog(containerID string) error
+ 		return err
+ 	}
+ 
+-	status, err := m.runtimeService.ContainerStatus(containerID)
+-	if err != nil {
+-		return fmt.Errorf("failed to get container status %q: %v", containerID, err)
+-	}
+-	// Remove the legacy container log symlink.
+-	// TODO(random-liu): Remove this after cluster logging supports CRI container log path.
+-	labeledInfo := getContainerInfoFromLabels(status.Labels)
+-	legacySymlink := legacyLogSymlink(containerID, labeledInfo.ContainerName, labeledInfo.PodName,
+-		labeledInfo.PodNamespace)
+-	if err := m.osInterface.Remove(legacySymlink); err != nil && !os.IsNotExist(err) {
+-		return fmt.Errorf("failed to remove container %q log legacy symbolic link %q: %v",
+-			containerID, legacySymlink, err)
+-	}
+ 	return nil
+ }
+ 
+diff --git a/pkg/kubelet/kuberuntime/kuberuntime_gc.go b/pkg/kubelet/kuberuntime/kuberuntime_gc.go
+index 8c4f786db9b..b5b104ee6a6 100644
+--- a/pkg/kubelet/kuberuntime/kuberuntime_gc.go
++++ b/pkg/kubelet/kuberuntime/kuberuntime_gc.go
+@@ -18,7 +18,6 @@ package kuberuntime
+ 
+ import (
+ 	"fmt"
+-	"os"
+ 	"path/filepath"
+ 	"sort"
+ 	"time"
+@@ -346,44 +345,6 @@ func (cgc *containerGC) evictPodLogsDirectories(allSourcesReady bool) error {
+ 			}
+ 		}
+ 	}
+-
+-	// Remove dead container log symlinks.
+-	// TODO(random-liu): Remove this after cluster logging supports CRI container log path.
+-	logSymlinks, _ := osInterface.Glob(filepath.Join(legacyContainerLogsDir, fmt.Sprintf("*.%s", legacyLogSuffix)))
+-	for _, logSymlink := range logSymlinks {
+-		if _, err := osInterface.Stat(logSymlink); os.IsNotExist(err) {
+-			if containerID, err := getContainerIDFromLegacyLogSymlink(logSymlink); err == nil {
+-				status, err := cgc.manager.runtimeService.ContainerStatus(containerID)
+-				if err != nil {
+-					// TODO: we should handle container not found (i.e. container was deleted) case differently
+-					// once https://github.com/kubernetes/kubernetes/issues/63336 is resolved
+-					klog.Infof("Error getting ContainerStatus for containerID %q: %v", containerID, err)
+-				} else if status.State != runtimeapi.ContainerState_CONTAINER_EXITED {
+-					// Here is how container log rotation works (see containerLogManager#rotateLatestLog):
+-					//
+-					// 1. rename current log to rotated log file whose filename contains current timestamp (fmt.Sprintf("%s.%s", log, timestamp))
+-					// 2. reopen the container log
+-					// 3. if #2 fails, rename rotated log file back to container log
+-					//
+-					// There is small but indeterministic amount of time during which log file doesn't exist (between steps #1 and #2, between #1 and #3).
+-					// Hence the symlink may be deemed unhealthy during that period.
+-					// See https://github.com/kubernetes/kubernetes/issues/52172
+-					//
+-					// We only remove unhealthy symlink for dead containers
+-					klog.V(5).Infof("Container %q is still running, not removing symlink %q.", containerID, logSymlink)
+-					continue
+-				}
+-			} else {
+-				klog.V(4).Infof("unable to obtain container Id: %v", err)
+-			}
+-			err := osInterface.Remove(logSymlink)
+-			if err != nil {
+-				klog.Errorf("Failed to remove container log dead symlink %q: %v", logSymlink, err)
+-			} else {
+-				klog.V(4).Infof("removed symlink %s", logSymlink)
+-			}
+-		}
+-	}
+ 	return nil
+ }
+ 
+diff --git a/pkg/kubelet/runonce.go b/pkg/kubelet/runonce.go
+index 1da9c225186..d6a5a63e92d 100644
+--- a/pkg/kubelet/runonce.go
++++ b/pkg/kubelet/runonce.go
+@@ -18,7 +18,6 @@ package kubelet
+ 
+ import (
+ 	"fmt"
+-	"os"
+ 	"time"
+ 
+ 	"k8s.io/api/core/v1"
+@@ -48,13 +47,6 @@ func (kl *Kubelet) RunOnce(updates <-chan kubetypes.PodUpdate) ([]RunPodResult,
+ 		return nil, err
+ 	}
+ 
+-	// If the container logs directory does not exist, create it.
+-	if _, err := os.Stat(ContainerLogsDir); err != nil {
+-		if err := kl.os.MkdirAll(ContainerLogsDir, 0755); err != nil {
+-			klog.Errorf("Failed to create directory %q: %v", ContainerLogsDir, err)
+-		}
+-	}
+-
+ 	select {
+ 	case u := <-updates:
+ 		klog.Infof("processing manifest with %d pods", len(u.Pods))
+diff --git a/test/e2e_node/log_path_test.go b/test/e2e_node/log_path_test.go
+index 41646f326a5..6568d31e242 100644
+--- a/test/e2e_node/log_path_test.go
++++ b/test/e2e_node/log_path_test.go
+@@ -18,11 +18,10 @@ package e2enode
+ 
+ import (
+ 	"context"
++
+ 	v1 "k8s.io/api/core/v1"
+ 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ 	"k8s.io/apimachinery/pkg/util/uuid"
+-	"k8s.io/kubernetes/pkg/kubelet"
+-	kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
+ 	"k8s.io/kubernetes/test/e2e/framework"
+ 	e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
+ 	e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
+@@ -138,22 +137,6 @@ var _ = framework.KubeDescribe("ContainerLogPath [NodeConformance]", func() {
+ 				err := createAndWaitPod(makeLogPod(logPodName, logString))
+ 				framework.ExpectNoError(err, "Failed waiting for pod: %s to enter success state", logPodName)
+ 			})
+-			ginkgo.It("should print log to correct log path", func() {
+-
+-				logDir := kubelet.ContainerLogsDir
+-
+-				// get containerID from created Pod
+-				createdLogPod, err := podClient.Get(context.TODO(), logPodName, metav1.GetOptions{})
+-				logContainerID := kubecontainer.ParseContainerID(createdLogPod.Status.ContainerStatuses[0].ContainerID)
+-				framework.ExpectNoError(err, "Failed to get pod: %s", logPodName)
+-
+-				// build log file path
+-				expectedlogFile := logDir + "/" + logPodName + "_" + f.Namespace.Name + "_" + logContainerName + "-" + logContainerID.ID + ".log"
+-
+-				logCheckPodName := "log-check-" + string(uuid.NewUUID())
+-				err = createAndWaitPod(makeLogCheckPod(logCheckPodName, logString, expectedlogFile))
+-				framework.ExpectNoError(err, "Failed waiting for pod: %s to enter success state", logCheckPodName)
+-			})
+ 
+ 			ginkgo.It("should print log to correct cri log path", func() {
+ 
+-- 
+2.25.1
+
diff --git a/third_party/go/repositories.bzl b/third_party/go/repositories.bzl
index efab698..bb58f51 100644
--- a/third_party/go/repositories.bzl
+++ b/third_party/go/repositories.bzl
@@ -2578,6 +2578,7 @@
             "//third_party/go/patches:k8s-e2e-tests-providerless.patch",
             "//third_party/go/patches:k8s-fix-paths.patch",
             "//third_party/go/patches:k8s-fix-logs-path.patch",
+            "//third_party/go/patches:k8s-drop-legacy-log-path.patch",
         ],
         patch_args = ["-p1"],
         build_extra_args = [
