Repository: kubernetes/minikube
Pull request #12980 (2021-11-18 01:30:13)

Docs add windows versions of commands
This addresses #12968 but I don't think it completely resolves/closes it so I'll leave that up to the issue creator/maintainers to decide.

This PR adds windows versions of commands where I know them/as they exist, and implements the tabbing feature for these cases.

Also updated an existing case that was using the card style for multi-OS command examples. 


Patch:
diff --git a/cmd/auto-pause/auto-pause.go b/cmd/auto-pause/auto-pause.go
index b5d816a9b..1fe405d3e 100644
--- a/cmd/auto-pause/auto-pause.go
+++ b/cmd/auto-pause/auto-pause.go
@@ -48,38 +48,21 @@ func main() {
 	// TODO: #10595 make this configurable
 	const interval = time.Minute * 1
 
-	// Check if interval is greater than 0 so NewTicker does not panic.
-	if interval <= 0 {
-		exit.Message(reason.Usage, "Auto-pause interval must be greater than 0,"+
-			" not current value of {{.interval}}", out.V{"interval": interval.String()})
-	}
-	tickerChannel := time.NewTicker(interval)
-
 	// Check current state
 	alreadyPaused()
 
 	// channel for incoming messages
 	go func() {
 		for {
+			// On each iteration new timer is created
 			select {
-			case <-tickerChannel.C:
+			// TODO: #10596 make it memory-leak proof
+			case <-time.After(interval):
 				runPause()
 			case <-unpauseRequests:
 				fmt.Printf("Got request\n")
 				if runtimePaused {
 					runUnpause()
-
-					// Reset once cluster has been unpaused.
-					tickerChannel.Reset(interval)
-
-					// Avoid race where tick happens before Reset call and after unPause.
-					for {
-						select {
-						case <-tickerChannel.C:
-						default:
-							break
-						}
-					}
 				}
 
 				done <- struct{}{}
diff --git a/cmd/minikube/cmd/config/configure.go b/cmd/minikube/cmd/config/configure.go
index baa1237df..9dfa7a163 100644
--- a/cmd/minikube/cmd/config/configure.go
+++ b/cmd/minikube/cmd/config/configure.go
@@ -32,9 +32,6 @@ import (
 	"k8s.io/minikube/pkg/minikube/style"
 )
 
-var posResponses = []string{"yes", "y"}
-var negResponses = []string{"no", "n"}
-
 var addonsConfigureCmd = &cobra.Command{
 	Use:   "configure ADDON_NAME",
 	Short: "Configures the addon w/ADDON_NAME within minikube (example: minikube addons configure registry-creds). For a list of available addons use: minikube addons list",
@@ -48,6 +45,8 @@ var addonsConfigureCmd = &cobra.Command{
 		// allows for additional prompting of information when enabling addons
 		switch addon {
 		case "registry-creds":
+			posResponses := []string{"yes", "y"}
+			negResponses := []string{"no", "n"}
 
 			// Default values
 			awsAccessID := "changeme"
@@ -221,16 +220,10 @@ var addonsConfigureCmd = &cobra.Command{
 				return format.MatchString(s)
 			}
 
-			customCert := AskForStaticValidatedValue("-- Enter custom cert (format is \"namespace/secret\"): ", validator)
-			if cfg.KubernetesConfig.CustomIngressCert != "" {
-				overwrite := AskForYesNoConfirmation("A custom cert for ingress has already been set. Do you want overwrite it?", posResponses, negResponses)
-				if !overwrite {
-					break
-				}
+			if cfg.KubernetesConfig.CustomIngressCert == "" {
+				cfg.KubernetesConfig.CustomIngressCert = AskForStaticValidatedValue("-- Enter custom cert(format is \"namespace/secret\"): ", validator)
 			}
 
-			cfg.KubernetesConfig.CustomIngressCert = customCert
-
 			if err := config.SaveProfile(profile, cfg); err != nil {
 				out.ErrT(style.Fatal, "Failed to save config {{.profile}}", out.V{"profile": profile})
 			}
diff --git a/cmd/minikube/cmd/root.go b/cmd/minikube/cmd/root.go
index 47a91848c..785a2db36 100644
--- a/cmd/minikube/cmd/root.go
+++ b/cmd/minikube/cmd/root.go
@@ -107,9 +107,7 @@ func Execute() {
 		profile := ""
 		for i, a := range os.Args {
 			if a == "--context" {
-				if len(os.Args) > i+1 {
-					profile = fmt.Sprintf("--profile=%s", os.Args[i+1])
-				}
+				profile = fmt.Sprintf("--profile=%s", os.Args[i+1])
 				break
 			} else if strings.HasPrefix(a, "--context=") {
 				context := strings.Split(a, "=")[1]
diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go
index ef87ad02c..4e6783a15 100644
--- a/cmd/minikube/cmd/start.go
+++ b/cmd/minikube/cmd/start.go
@@ -432,26 +432,13 @@ func displayEnviron(env []string) {
 	}
 }
 
-func showKubectlInfo(kcs *kubeconfig.Settings, k8sVersion, machineName string) error {
+func showKubectlInfo(kcs *kubeconfig.Settings, k8sVersion string, machineName string) error {
 	if k8sVersion == constants.NoKubernetesVersion {
 		register.Reg.SetStep(register.Done)
 		out.Step(style.Ready, "Done! minikube is ready without Kubernetes!")
-
-		// Runtime message.
-		boxConfig := box.Config{Py: 1, Px: 4, Type: "Round", Color: "Green"}
-		switch viper.GetString(containerRuntime) {
-		case constants.DefaultContainerRuntime:
-			out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node.
+		out.BoxedWithConfig(box.Config{Py: 1, Px: 4, Type: "Round", Color: "Green"}, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node.
 - "minikube docker-env" to point your docker-cli to the docker inside minikube.
 - "minikube image" to build images without docker.`)
-		case constants.Containerd:
-			out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node.
-- "minikube image" to build images without docker.`)
-		case constants.CRIO:
-			out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node.
-- "minikube podman-env" to point your podman-cli to the podman inside minikube.
-- "minikube image" to build images without docker.`)
-		}
 		return nil
 	}
 
@@ -959,13 +946,12 @@ func memoryLimits(drvName string) (int, int, error) {
 	return sysLimit, containerLimit, nil
 }
 
-// suggestMemoryAllocation calculates the default memory footprint in MiB.
-func suggestMemoryAllocation(sysLimit, containerLimit, nodes int) int {
-	if mem := viper.GetInt(memory); mem != 0 && mem < sysLimit {
+// suggestMemoryAllocation calculates the default memory footprint in MiB
+func suggestMemoryAllocation(sysLimit int, containerLimit int, nodes int) int {
+	if mem := viper.GetInt(memory); mem != 0 {
 		return mem
 	}
-
-	const fallback = 2200
+	fallback := 2200
 	maximum := 6000
 
 	if sysLimit > 0 && fallback > sysLimit {
@@ -1127,10 +1113,6 @@ func validateFlags(cmd *cobra.Command, drvName string) {
 
 	validateCPUCount(drvName)
 
-	if drvName == driver.None && viper.GetBool(noKubernetes) {
-		exit.Message(reason.Usage, "Cannot use the option --no-kubernetes on the {{.name}} driver", out.V{"name": drvName})
-	}
-
 	if cmd.Flags().Changed(memory) {
 		validateChangedMemoryFlags(drvName)
 	}
@@ -1231,7 +1213,7 @@ func validatePorts(ports []string) error {
 			if p > 65535 || p < 1 {
 				return errors.Errorf("Sorry, one of the ports provided with --ports flag is outside range %s", ports)
 			}
-			if detect.IsMicrosoftWSL() && p < 1024 && i == 0 {
+			if p < 1024 && i == 0 {
 				return errors.Errorf("Sorry, you cannot use privileged ports on the host (below 1024) %s", ports)
 			}
 		}
diff --git a/cmd/minikube/cmd/start_flags.go b/cmd/minikube/cmd/start_flags.go
index 9f79c9861..2b9289bc2 100644
--- a/cmd/minikube/cmd/start_flags.go
+++ b/cmd/minikube/cmd/start_flags.go
@@ -509,8 +509,9 @@ func generateNewConfigFromFlags(cmd *cobra.Command, k8sVersion string, drvName s
 			exit.Message(reason.Usage, "Ensure your {{.driver_name}} is running and is healthy.", out.V{"driver_name": driver.FullName(drvName)})
 		}
 		if si.Rootless {
-			if cc.KubernetesConfig.ContainerRuntime == "docker" {
-				exit.Message(reason.Usage, "--container-runtime must be set to \"containerd\" or \"cri-o\" for rootless")
+			if cc.KubernetesConfig.ContainerRuntime != "containerd" {
+				exit.Message(reason.Usage, "Container runtime must be set to \"containerd\" for rootless")
+				// TODO: support cri-o (https://kubernetes.io/docs/tasks/administer-cluster/kubelet-in-userns/#configuring-cri)
 			}
 			// KubeletInUserNamespace feature gate is essential for rootless driver.
 			// See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-in-userns/
@@ -690,11 +691,6 @@ func updateExistingConfigFromFlags(cmd *cobra.Command, existing *config.ClusterC
 		cc.KicBaseImage = viper.GetString(kicBaseImage)
 	}
 
-	// If this cluster was stopped by a scheduled stop, clear the config
-	if cc.ScheduledStop != nil && time.Until(time.Unix(cc.ScheduledStop.InitiationTime, 0).Add(cc.ScheduledStop.Duration)) <= 0 {
-		cc.ScheduledStop = nil
-	}
-
 	return cc
 }
 
diff --git a/cmd/minikube/cmd/tunnel.go b/cmd/minikube/cmd/tunnel.go
index adbe210c5..8986a89f3 100644
--- a/cmd/minikube/cmd/tunnel.go
+++ b/cmd/minikube/cmd/tunnel.go
@@ -33,9 +33,7 @@ import (
 	"k8s.io/minikube/pkg/minikube/exit"
 	"k8s.io/minikube/pkg/minikube/localpath"
 	"k8s.io/minikube/pkg/minikube/mustload"
-	"k8s.io/minikube/pkg/minikube/out"
 	"k8s.io/minikube/pkg/minikube/reason"
-	"k8s.io/minikube/pkg/minikube/style"
 	"k8s.io/minikube/pkg/minikube/tunnel"
 	"k8s.io/minikube/pkg/minikube/tunnel/kic"
 )
@@ -88,7 +86,6 @@ var tunnelCmd = &cobra.Command{
 			sshPort := strconv.Itoa(port)
 			sshKey := filepath.Join(localpath.MiniPath(), "machines", cname, "id_rsa")
 
-			outputTunnelStarted()
 			kicSSHTunnel := kic.NewSSHTunnel(ctx, sshPort, sshKey, clientset.CoreV1(), clientset.NetworkingV1())
 			err = kicSSHTunnel.Start()
 			if err != nil {
@@ -106,13 +103,6 @@ var tunnelCmd = &cobra.Command{
 	},
 }
 
-func outputTunnelStarted() {
-	out.Styled(style.Success, "Tunnel successfully started")
-	out.Ln("")
-	out.Styled(style.Notice, "NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ...")
-	out.Ln("")
-}
-
 func init() {
 	tunnelCmd.Flags().BoolVarP(&cleanup, "cleanup", "c", true, "call with cleanup=true to remove old tunnels")
 }
diff --git a/deploy/addons/kubevirt/pod.yaml.tmpl b/deploy/addons/kubevirt/pod.yaml.tmpl
index e36be749a..ae575b783 100644
--- a/deploy/addons/kubevirt/pod.yaml.tmpl
+++ b/deploy/addons/kubevirt/pod.yaml.tmpl
@@ -10,47 +10,29 @@ data:
   uninstall.sh: |
     #!/bin/bash
 
-    kubectl delete kubevirt kubevirt -n kubevirt
+    kubectl delete -f /manifests/kubevirt.yaml
 
-    kubectl delete -f /manifests/kubevirt-operator.yaml
+    kubectl delete -f /manifests/kubevirt-base.yaml
 
   install.sh: |
     #!/bin/bash
 
     export KUBEVIRT_VERSION=$(curl -s https://api.github.com/repos/kubevirt/kubevirt/releases | grep tag_name | grep -v -- - | sort -V | tail -1 | awk -F':' '{print $2}' | sed 's/,//' | xargs)
-    echo "Installing KubeVirt version: $KUBEVIRT_VERSION"
+    echo $KUBEVIRT_VERSION
 
-    curl -Ls "https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/kubevirt-operator.yaml" -o /manifests/kubevirt-operator.yaml
-    kubectl create -f /manifests/kubevirt-operator.yaml
+    curl -Ls "https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/kubevirt-operator.yaml" -o /manifests/kubevirt-base.yaml
 
-    HARDWARE_EMULATION=$(egrep 'svm|vmx' /proc/cpuinfo)
-    if [ -z "$HARDWARE_EMULATION" ]; then
-      echo "Using software emulation"
+    kubectl create -f /manifests/kubevirt-base.yaml
 
-      echo "
-    apiVersion: kubevirt.io/v1
-    kind: KubeVirt
-    metadata:
-      name: kubevirt
-      namespace: kubevirt
-    spec:
-      configuration:
-        developerConfiguration:
-          useEmulation: true
-    " | kubectl apply -f -
+    EMULATION=$(egrep 'svm|vmx' /proc/cpuinfo)
+    if [ -z "$EMULATION" ]; then
+      echo "use emulation"
+      kubectl create configmap kubevirt-config -n kubevirt --from-literal debug.useEmulation=true
+    fi;
 
-    else
+    curl -sL "https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/kubevirt-cr.yaml" -o /manifests/kubevirt.yaml
 
-      echo "
-    apiVersion: kubevirt.io/v1
-    kind: KubeVirt
-    metadata:
-      name: kubevirt
-      namespace: kubevirt
-    spec: {}
-    " | kubectl apply -f -
-
-    fi
+    kubectl create -f /manifests/kubevirt.yaml
 
     sleep infinity
 ---
diff --git a/go.mod b/go.mod
index fcb24584f..30e3e4bd2 100644
--- a/go.mod
+++ b/go.mod
@@ -14,7 +14,7 @@ require (
 	github.com/blang/semver/v4 v4.0.0
 	github.com/briandowns/spinner v1.11.1
 	github.com/c4milo/gotoolkit v0.0.0-20190525173301-67483a18c17a // indirect
-	github.com/cenkalti/backoff/v4 v4.1.2
+	github.com/cenkalti/backoff/v4 v4.1.1
 	github.com/cheggaaa/pb/v3 v3.0.8
 	github.com/cloudevents/sdk-go/v2 v2.6.1
 	github.com/cloudfoundry-attic/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21
@@ -57,7 +57,7 @@ require (
 	github.com/moby/sys/mount v0.2.0 // indirect
 	github.com/olekukonko/tablewriter v0.0.5
 	github.com/opencontainers/go-digest v1.0.0
-	github.com/otiai10/copy v1.7.0
+	github.com/otiai10/copy v1.6.0
 	github.com/pborman/uuid v1.2.1
 	github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
 	github.com/pkg/browser v0.0.0-20160118053552-9302be274faa
diff --git a/go.sum b/go.sum
index 46b710978..c3363d4a7 100644
--- a/go.sum
+++ b/go.sum
@@ -186,8 +186,8 @@ github.com/c4milo/gotoolkit v0.0.0-20190525173301-67483a18c17a/go.mod h1:txokOny
 github.com/caddyserver/caddy v1.0.3/go.mod h1:G+ouvOY32gENkJC+jhgl62TyhvqEsFaDiZ4uw0RzP1E=
 github.com/cenkalti/backoff v2.1.1+incompatible h1:tKJnvO2kl0zmb/jA5UKAt4VoEVw1qxKWjE/Bpp46npY=
 github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
-github.com/cenkalti/backoff/v4 v4.1.2 h1:6Yo7N8UP2K6LWZnW94DLVSSrbobcWdVzAYOisuDPIFo=
-github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
+github.com/cenkalti/backoff/v4 v4.1.1 h1:G2HAfAmvm/GcKan2oOQpBXOd2tT2G57ZnZGWa1PxPBQ=
+github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 github.com/census-instrumentation/opencensus-proto v0.3.0 h1:t/LhUZLVitR1Ow2YOnduCsavhwFUklBMoGVYUCqmCqk=
 github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -953,13 +953,13 @@ github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.m
 github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs=
 github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE=
 github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo=
-github.com/otiai10/copy v1.7.0 h1:hVoPiN+t+7d2nzzwMiDHPSOogsWAStewq3TwU05+clE=
-github.com/otiai10/copy v1.7.0/go.mod h1:rmRl6QPdJj6EiUqXQ/4Nn2lLXoNQjFCQbbNrxgc/t3U=
+github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ=
+github.com/otiai10/copy v1.6.0/go.mod h1:XWfuS3CrI0R6IE0FbgHsEazaXO8G0LpMp9o8tos0x4E=
 github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
 github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs=
 github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo=
-github.com/otiai10/mint v1.3.3 h1:7JgpsBaN0uMkyju4tbYHu0mnM55hNKVYLsXmwr15NQI=
-github.com/otiai10/mint v1.3.3/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
+github.com/otiai10/mint v1.3.2 h1:VYWnrP5fXmz1MXvjuUvcBrXSjGE6xjON+axB/UrpO3E=
+github.com/otiai10/mint v1.3.2/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
 github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
 github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
 github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw=
diff --git a/hack/benchmark/cpu_usage/auto_pause/chart.go b/hack/benchmark/cpu_usage/auto_pause/chart.go
index 56b97796e..53ebf9b8b 100644
--- a/hack/benchmark/cpu_usage/auto_pause/chart.go
+++ b/hack/benchmark/cpu_usage/auto_pause/chart.go
@@ -54,10 +54,10 @@ func main() {
 
 func execute() error {
 	// sessionID is generated and used at cpu usage benchmark
-	if len(os.Args) <= 1 || len(os.Args[1]) == 0 {
+	sessionID := os.Args[1]
+	if len(sessionID) == 0 {
 		return errors.New("Please identify sessionID")
 	}
-	sessionID := os.Args[1]
 
 	// Create plot instance
 	p := plot.New()
diff --git a/hack/benchmark/cpu_usage/idle_only/chart.go b/hack/benchmark/cpu_usage/idle_only/chart.go
index c7058894e..e06138b32 100644
--- a/hack/benchmark/cpu_usage/idle_only/chart.go
+++ b/hack/benchmark/cpu_usage/idle_only/chart.go
@@ -53,10 +53,10 @@ func main() {
 
 func execute() error {
 	// sessionID is generated and used at cpu usage benchmark
-	if len(os.Args) <= 1 || len(os.Args[1]) == 0 {
+	sessionID := os.Args[1]
+	if len(sessionID) == 0 {
 		return errors.New("Please identify sessionID")
 	}
-	sessionID := os.Args[1]
 
 	// Create plot instance
 	p := plot.New()
diff --git a/pkg/minikube/constants/constants.go b/pkg/minikube/constants/constants.go
index 4fd524588..583ad3cda 100644
--- a/pkg/minikube/constants/constants.go
+++ b/pkg/minikube/constants/constants.go
@@ -56,8 +56,6 @@ const (
 	SSHPort = 22
 	// RegistryAddonPort os the default registry addon port
 	RegistryAddonPort = 5000
-	// Containerd is the default name and spelling for the containerd container runtime
-	Containerd = "containerd"
 	// CRIO is the default name and spelling for the cri-o container runtime
 	CRIO = "crio"
 	// DefaultContainerRuntime is our default container runtime
diff --git a/pkg/minikube/cruntime/crio.go b/pkg/minikube/cruntime/crio.go
index 1d36e76be..258bdebb8 100644
--- a/pkg/minikube/cruntime/crio.go
+++ b/pkg/minikube/cruntime/crio.go
@@ -22,7 +22,6 @@ import (
 	"os"
 	"os/exec"
 	"path"
-	"path/filepath"
 	"strings"
 	"time"
 
@@ -148,50 +147,11 @@ func enableIPForwarding(cr CommandRunner) error {
 	return nil
 }
 
-// enableRootless enables configurations for running CRI-O in Rootless Docker.
-//
-// 1. Create /etc/systemd/system/crio.service.d/10-rootless.conf to set _CRIO_ROOTLESS=1
-// 2. Create /etc/crio/crio.conf.d/10-fuse-overlayfs.conf to enable fuse-overlayfs
-// 3. Reload systemd
-//
-// See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-in-userns/#configuring-cri
-func (r *CRIO) enableRootless() error {
-	files := map[string]string{
-		"/etc/systemd/system/crio.service.d/10-rootless.conf": `[Service]
-Environment="_CRIO_ROOTLESS=1"
-`,
-		"/etc/crio/crio.conf.d/10-fuse-overlayfs.conf": `[crio]
-storage_driver = "overlay"
-storage_option = ["overlay.mount_program=/usr/local/bin/fuse-overlayfs"]
-`,
-	}
-	for target, content := range files {
-		targetDir := filepath.Dir(target)
-		c := exec.Command("sudo", "mkdir", "-p", targetDir)
-		if _, err := r.Runner.RunCmd(c); err != nil {
-			return errors.Wrapf(err, "failed to create directory %q", targetDir)
-		}
-		asset := assets.NewMemoryAssetTarget([]byte(content), target, "0644")
-		err := r.Runner.Copy(asset)
-		asset.Close()
-		if err != nil {
-			return errors.Wrapf(err, "failed to create %q", target)
-		}
-	}
-	// reload systemd to apply our changes on /etc/systemd
-	if err := r.Init.Reload("crio"); err != nil {
-		return err
-	}
-	if r.Init.Active("crio") {
-		if err := r.Init.Restart("crio"); err != nil {
-			return err
-		}
-	}
-	return nil
-}
-
 // Enable idempotently enables CRIO on a host
 func (r *CRIO) Enable(disOthers, forceSystemd, inUserNamespace bool) error {
+	if inUserNamespace {
+		return errors.New("inUserNamespace must not be true for cri-o (yet)")
+	}
 	if disOthers {
 		if err := disableOthers(r, r.Runner); err != nil {
 			klog.Warningf("disableOthers: %v", err)
@@ -211,12 +171,6 @@ func (r *CRIO) Enable(disOthers, forceSystemd, inUserNamespace bool) error {
 			return err
 		}
 	}
-	if inUserNamespace {
-		if err := r.enableRootless(); err != nil {
-			return err
-		}
-	}
-	// NOTE: before we start crio explicitly here, crio might be already started automatically
 	return r.Init.Start("crio")
 }
 
diff --git a/pkg/minikube/extract/extract.go b/pkg/minikube/extract/extract.go
index 3c0d1caf4..d5b601337 100644
--- a/pkg/minikube/extract/extract.go
+++ b/pkg/minikube/extract/extract.go
@@ -263,6 +263,7 @@ func checkArguments(s *ast.CallExpr, e *state) {
 			if s := checkIdentForStringValue(i); s != "" {
 				e.translations[s] = ""
 				matched = true
+				break
 			}
 		}
 
@@ -271,11 +272,12 @@ func checkArguments(s *ast.CallExpr, e *state) {
 			if s := checkString(argString.Value); s != "" {
 				e.translations[s] = ""
 				matched = true
+				break
 			}
 		}
 	}
 
-	// No string arguments were found, check everything that calls this function for strings
+	// No string arguments were found, check everything the calls this function for strings
 	if !matched {
 		addParentFuncToList(e)
 	}
@@ -540,28 +542,7 @@ func extractAdvice(f ast.Node, e *state) error {
 
 		if i.Name == "Advice" {
 			// At this point we know the value in the kvp is guaranteed to be a string
-			advice, ok := kvp.Value.(*ast.BasicLit)
-			if !ok {
-				// Maybe the advice is a function call, like fmt.Sprintf
-				ad, ok := kvp.Value.(*ast.CallExpr)
-				if !ok {
-					// Ok, we tried. Abort.
-					return true
-				}
-				// Let's support fmt.Sprintf with a string argument only
-				for _, arg := range ad.Args {
-					adArg, ok := arg.(*ast.BasicLit)
-					if !ok {
-						continue
-					}
-					s := checkString(adArg.Value)
-					if s != "" {
-						e.translations[s] = ""
-					}
-				}
-				return true
-
-			}
+			advice, _ := kvp.Value.(*ast.BasicLit)
 			s := checkString(advice.Value)
 			if s != "" {
 				e.translations[s] = ""
diff --git a/pkg/minikube/schedule/daemonize_unix.go b/pkg/minikube/schedule/daemonize_unix.go
index 83aeb907a..2544fdd65 100644
--- a/pkg/minikube/schedule/daemonize_unix.go
+++ b/pkg/minikube/schedule/daemonize_unix.go
@@ -38,7 +38,7 @@ import (
 func KillExisting(profiles []string) {
 	for _, profile := range profiles {
 		if err := killPIDForProfile(profile); err != nil {
-			klog.Warningf("error killng PID for profile %s: %v", profile, err)
+			klog.Errorf("error killng PID for profile %s: %v", profile, err)
 		}
 		_, cc := mustload.Partial(profile)
 		cc.ScheduledStop = nil
diff --git a/pkg/minikube/shell/shell.go b/pkg/minikube/shell/shell.go
index 59729c881..88a479ab5 100644
--- a/pkg/minikube/shell/shell.go
+++ b/pkg/minikube/shell/shell.go
@@ -81,7 +81,7 @@ var shellConfigMap = map[string]shellData{
 		unsetDelimiter: "",
 		usageHint: func(s ...interface{}) string {
 			return fmt.Sprintf(`# %s
-# & %s --shell powershell | Invoke-Expression
+# & %s | Invoke-Expression
 `, s...)
 		},
 	},
@@ -94,7 +94,7 @@ var shellConfigMap = map[string]shellData{
 		unsetDelimiter: "=",
 		usageHint: func(s ...interface{}) string {
 			return fmt.Sprintf(`REM %s
-REM @FOR /f "tokens=*" %%i IN ('%s --shell cmd') DO @%%i
+REM @FOR /f "tokens=*" %%i IN ('%s') DO @%%i
 `, s...)
 		},
 	},
diff --git a/site/content/en/docs/contrib/guide.en.md b/site/content/en/docs/contrib/guide.en.md
index 86c2333c2..b5784c2d8 100644
--- a/site/content/en/docs/contrib/guide.en.md
+++ b/site/content/en/docs/contrib/guide.en.md
@@ -1,7 +1,7 @@
 ---
 title: "Contributor Guide"
 linkTitle: "Guide"
-date: 2021-11-09
+date: 2019-07-31
 weight: 1
 description: >
   How to become a minikube contributor
@@ -9,7 +9,7 @@ description: >
 
 ### Code of Conduct
 
-Be excellent to each another. Please refer to our [Kubernetes Community Code of Conduct](https://git.k8s.io/community/code-of-conduct.md).
+ Be excellent to each another. Please refer to our [Kubernetes Community Code of Conduct](https://git.k8s.io/community/code-of-conduct.md).
 
 ### License Agreement
 
@@ -17,37 +17,36 @@ We'd love to accept your patches! Before we can take them, [please fill out eith
 
 ### Finding issues to work on
 
-- ["good first issue"](https://github.com/kubernetes/minikube/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) - issues where there is a clear path to resolution
-- ["help wanted"](https://github.com/kubernetes/minikube/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+) - issues where we've identified a need but not resources to work on them
-- ["priority/important-soon"](https://github.com/kubernetes/minikube/issues?q=is%3Aopen+is%3Aissue+label%3Apriority%2Fimportant-soon) or ["priority/important-longterm"](https://github.com/kubernetes/minikube/issues?q=is%3Aopen+is%3Aissue+label%3Apriority%2Fimportant-longterm) - high impact issues that need to be addressed in the next couple of releases.
+* ["good first issue"](https://github.com/kubernetes/minikube/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)  -  issues where there is a clear path to resolution
+* ["help wanted"](https://github.com/kubernetes/minikube/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+) - issues where we've identified a need but not resources to work on them
+* ["priority/important-soon"](https://github.com/kubernetes/minikube/issues?q=is%3Aopen+is%3Aissue+label%3Apriority%2Fimportant-soon) or ["priority/important-longterm"](https://github.com/kubernetes/minikube/issues?q=is%3Aopen+is%3Aissue+label%3Apriority%2Fimportant-longterm) - high impact issues that need to be addressed in the next couple of releases.
 
-- Ask on the #minikube Slack if you aren't sure
+* Ask on the #minikube Slack if you aren't sure
 
 Once you've discovered an issue to work on:
 
-- Add a comment mentioning that you plan to work on the issue
-- Send a PR out that mentions the issue
-- Comment on the issue with `/assign` to assign it to yourself
+* Add a comment mentioning that you plan to work on the issue
+* Send a PR out that mentions the issue
+* Comment on the issue with `/assign` to assign it to yourself
+
 
 ### clone `minikube`
 
 After forking minikube you can `clone` for best practices use the following instruction:
 
-```bash
+```bash 
 git clone git@github.com:kubernetes/minikube.git
-cd minikube
 git remote rename origin upstream
 git remote set-url --push upstream NO_PUSH
 git remote add origin git@github.com:<YOUR_GITHUB_USERNAME>/minikube.git
 ```
-
 ### Contributing A Patch
 
 1. Submit an issue describing your proposed change
 2. A reviewer will respond to your issue promptly.
 3. If your proposed change is accepted, and you haven't already done so, sign the [Contributor License Agreement (CLA)](https://git.k8s.io/community/CLA.md)
 4. Fork the minikube repository, develop and test your code changes.
-   - Before test, you may need to install some [prerequisites](https://minikube.sigs.k8s.io/docs/contrib/testing/#prerequisites).
+    * Before test, you may need to install some [prerequisites](https://minikube.sigs.k8s.io/docs/contrib/testing/#prerequisites).
 5. Submit a pull request.
 
 ## Contributing larger changes
diff --git a/site/content/en/docs/drivers/_index.md b/site/content/en/docs/drivers/_index.md
index daf996e84..46758f51b 100644
--- a/site/content/en/docs/drivers/_index.md
+++ b/site/content/en/docs/drivers/_index.md
@@ -28,7 +28,7 @@ To do so, we use the [Docker Machine](https://github.com/docker/machine) library
 * [Hyperkit]({{<ref "hyperkit.md">}}) - VM
 * [VirtualBox]({{<ref "virtualbox.md">}}) - VM
 * [Parallels]({{<ref "parallels.md">}}) - VM
-* [VMware Fusion]({{<ref "vmware.md">}}) - VM
+* [VMware]({{<ref "vmware.md">}}) - VM
 * [SSH]({{<ref "ssh.md">}}) - remote ssh
 
 ## Windows
@@ -36,5 +36,5 @@ To do so, we use the [Docker Machine](https://github.com/docker/machine) library
 * [Hyper-V]({{<ref "hyperv.md">}}) - VM (preferred)
 * [Docker]({{<ref "docker.md">}}) - VM + Container (preferred)
 * [VirtualBox]({{<ref "virtualbox.md">}}) - VM
-* [VMware Workstation]({{<ref "vmware.md">}}) - VM
+* [VMware]({{<ref "vmware.md">}}) - VM
 * [SSH]({{<ref "ssh.md">}}) - remote ssh
diff --git a/site/content/en/docs/drivers/includes/docker_usage.inc b/site/content/en/docs/drivers/includes/docker_usage.inc
index 1f757080f..63d50ca32 100644
--- a/site/content/en/docs/drivers/includes/docker_usage.inc
+++ b/site/content/en/docs/drivers/includes/docker_usage.inc
@@ -32,7 +32,7 @@ docker context use rootless
 minikube start --driver=docker --container-runtime=containerd
 ```
 
-The `--container-runtime` flag must be set to "containerd" or "cri-o".
+The `--container-runtime` flag must be currently set to "containerd".
 
 The restrictions of rootless `kind` apply to minikube with rootless docker as well.
 
diff --git a/site/content/en/docs/drivers/includes/vmware_windows_usage.inc b/site/content/en/docs/drivers/includes/vmware_windows_usage.inc
index 46245257a..3944dc25c 100644
--- a/site/content/en/docs/drivers/includes/vmware_windows_usage.inc
+++ b/site/content/en/docs/drivers/includes/vmware_windows_usage.inc
@@ -1,6 +1,6 @@
 ## Requirements
 
-* VMware Workstation
+*VMware Workstation
 
 ## Driver Installation
 
diff --git a/site/content/en/docs/faq/_index.md b/site/content/en/docs/faq/_index.md
index ce4d74d49..2d563f17a 100644
--- a/site/content/en/docs/faq/_index.md
+++ b/site/content/en/docs/faq/_index.md
@@ -39,7 +39,7 @@ minikube start --driver=hyperv
 ```
 Alternatively, you can use `minikube image build`  instead of `minikube docker-env` and `docker build`.
 
-## Can I start minikube without Kubernetes running?
+## Can I start minikube without Kuberentes runninng?
 Yes! If you want to use minikube only as a Docker Desktop replacement without starting Kubernetes itself, try:
 ```
 minikube start --no-kubernetes
diff --git a/site/content/en/docs/handbook/addons/ingress-dns.md b/site/content/en/docs/handbook/addons/ingress-dns.md
index 4bf8ee479..6129fda5d 100644
--- a/site/content/en/docs/handbook/addons/ingress-dns.md
+++ b/site/content/en/docs/handbook/addons/ingress-dns.md
@@ -12,14 +12,14 @@ DNS service for ingress controllers running on your minikube server
 When running minikube locally, you may want to run your services on an ingress controller so that you don't have to use
 minikube tunnel or NodePorts to access your services. While NodePort might be okay in a lot of circumstances, an ingress
 is necessary to test some features. Ingress controllers are great because you can define your entire architecture in
-something like a helm chart, and all your services will be available.
+something like a helm chart and all your services will be available.
 
 However, for minikube, there is an additional challenge. Your ingress controller relies on DNS, so local DNS names like
 `myservice.test` will have to resolve to your `minikube ip`. The only real way to do this is to add an entry for every
 service in your `/etc/hosts` file. This gets messy for obvious reasons. For each service you are running that each has
 its own DNS entry, you will need to configure it manually. Even if you automate it, you then need to rely on the host
 operating system for storing configurations instead of storing them in your cluster. To make it worse, these
-configurations have to be constantly maintained and updated as services are added, removed, and renamed. I call it the
+configurations have to be constantly maintained and updated as services are added, remove, and renamed. I call it the
 `/etc/hosts` pollution problem.
 
 ### Solution
@@ -58,15 +58,8 @@ minikube addons enable ingress-dns
 
 <h3 class="step"><span class="fa-stack fa-1x"><i class="fa fa-circle fa-stack-2x"></i><strong class="fa-stack-1x text-primary">3</strong></span>Add the `minikube ip` as a DNS server</h2>
 
-{{% card %}}
-
-{{% quiz_row base="" name="Operating system" %}}
-{{% quiz_button option="Linux" %}} {{% quiz_button option="macOS" %}} {{% quiz_button option="Windows" %}}
-{{% /quiz_row %}}
-
-{{% card %}}
-
-{{% quiz_instruction_plain id="/Linux" %}}
+{{% tabs %}}
+{{% linuxtab %}}
 
 Update the file `/etc/resolvconf/resolv.conf.d/base` to have the following contents.
 
@@ -103,11 +96,11 @@ systemctl restart NetworkManager.service
 
 Also see `dns=` in [NetworkManager.conf](https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html).
 
-{{% /quiz_instruction_plain %}}
+{{% /linuxtab %}}
 
-{{% quiz_instruction_plain id="/macOS" %}}
+{{% mactab %}}
 
-Create a file in `/etc/resolver/minikube-test` with the following contents.
+Create a file in `/etc/resolver/minikube-test` with the following content.
 
 ```
 domain test
@@ -124,9 +117,9 @@ See https://www.unix.com/man-page/opendarwin/5/resolver/
 
 Note that the `port` feature does not work as documented.
 
-{{% /quiz_instruction_plain %}}
+{{% /mactab %}}
 
-{{% quiz_instruction_plain id="/Windows" %}}
+{{% windowstab %}}
 
 Open `Powershell` as Administrator and execute the following.
 ```sh
@@ -138,11 +131,8 @@ The following will remove any matching rules before creating a new one. This is
 Get-DnsClientNrptRule | Where-Object {$_.Namespace -eq '.test'} | Remove-DnsClientNrptRule -Force; Add-DnsClientNrptRule -Namespace ".test" -NameServers "$(minikube ip)"
 ```
 
-{{% /quiz_instruction_plain %}}
-
-{{% /card %}}
-
-{{% /card %}}
+{{% /windowstab %}}
+{{% /tabs %}}
 
 ## Testing
 
diff --git a/site/content/en/docs/handbook/config.md b/site/content/en/docs/handbook/config.md
index b2168b685..5d6e10e73 100644
--- a/site/content/en/docs/handbook/config.md
+++ b/site/content/en/docs/handbook/config.md
@@ -124,14 +124,42 @@ Some features can only be accessed by minikube specific environment variables, h
 
 ### Example: Disabling emoji
 
+{{% tabs %}}
+
+{{% linuxtab %}}
+
+```shell
+export MINIKUBE_IN_STYLE=false
+minikube start
+```
+
+{{% /linuxtab %}}
+
+{{% mactab %}}
+
 ```shell
 export MINIKUBE_IN_STYLE=false
 minikube start
 ```
 
+{{% /mactab %}}
+
+{{% windowstab %}}
+
+```shell
+$env:MINIKUBE_IN_STYLE=false
+minikube start
+```
+
+{{% /windowstab %}}
+{{% /tabs %}}
+
 ### Making environment values persistent
 
 To make the exported variables persistent across reboots:
 
 * Linux and macOS: Add these declarations to `~/.bashrc` or wherever your shells environment variables are stored.
-* Windows: Add these declarations via [system settings](https://support.microsoft.com/en-au/help/310519/how-to-manage-environment-variables-in-windows-xp) or using [setx](https://stackoverflow.com/questions/5898131/set-a-persistent-environment-variable-from-cmd-exe)
+* Windows: Either add these declarations to your `~\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1` or run the following in a PowerShell terminal:
+```shell
+[Environment]::SetEnvironmentVariable("key", "value", [EnvironmentVariableTarget]::User)
+```
diff --git a/site/content/en/docs/handbook/kubectl.md b/site/content/en/docs/handbook/kubectl.md
index 22d398ed3..592706526 100644
--- a/site/content/en/docs/handbook/kubectl.md
+++ b/site/content/en/docs/handbook/kubectl.md
@@ -16,7 +16,29 @@ However if `kubectl` is not installed locally, minikube already includes kubectl
 minikube kubectl -- <kubectl commands>
 ```
 
-You can also `alias kubectl="minikube kubectl --"` for easier usage.
+{{% tabs %}}
+
+{{% linuxtab %}}
+You can also alias kubectl for easier usage.
+
+```shell
+alias kubectl="minikube kubectl --"
+```
+
+Alternatively, you can create a symbolic link to minikube's binary named 'kubectl'.
+
+```shell
+ln -s $(which minikube) /usr/local/bin/kubectl
+```
+
+{{% /linuxtab %}}
+
+{{% mactab %}}
+You can also alias kubectl for easier usage.
+
+```shell
+alias kubectl="minikube kubectl --"
+```
 
 Alternatively, you can create a symbolic link to minikube's binary named 'kubectl'.
 
@@ -24,6 +46,19 @@ Alternatively, you can create a symbolic link to minikube's binary named 'kubect
 ln -s $(which minikube) /usr/local/bin/kubectl
 ```
 
+{{% /mactab %}}
+
+{{% windowstab %}}
+You can also alias kubectl for easier usage.
+
+```shell
+function kubectl { minikube kubectl -- $args }
+```
+
+{{% /windowstab %}}
+
+{{% /tabs %}}
+
 Get pods
 
 ```shell
diff --git a/site/content/en/docs/handbook/pushing.md b/site/content/en/docs/handbook/pushing.md
index ac075dbcb..8e46c444d 100644
--- a/site/content/en/docs/handbook/pushing.md
+++ b/site/content/en/docs/handbook/pushing.md
@@ -54,9 +54,29 @@ This means you don't have to build on your host machine and push the image into
 
 To point your terminal to use the docker daemon inside minikube run this:
 
+{{% tabs %}}
+{{% linuxtab %}}
 ```shell
 eval $(minikube docker-env)
 ```
+{{% /linuxtab %}}
+{{% mactab %}}
+```shell
+eval $(minikube docker-env)
+```
+{{% /mactab %}}
+{{% windowstab %}}
+PowerShell
+```shell
+& minikube -p minikube docker-env --shell powershell | Invoke-Expression
+```
+
+cmd
+```shell
+@FOR /f "tokens=*" %i IN ('minikube -p minikube docker-env --shell cmd') DO @%i
+```
+{{% /windowstab %}}
+{{% /tabs %}}
 
 Now any 'docker' command you run in this current terminal will run against the docker inside minikube cluster.
 
@@ -139,6 +159,8 @@ For more information, see:
 
 ## 3. Pushing directly to in-cluster CRI-O. (podman-env)
 
+{{% tabs %}}
+{{% linuxtab %}}
 This is similar to docker-env but only for CRI-O runtime.
 To push directly to CRI-O, configure podman client on your host using the podman-env command in your shell:
 
@@ -148,9 +170,6 @@ eval $(minikube podman-env)
 
 You should now be able to use podman client on the command line on your host machine talking to the podman service inside the minikube VM:
 
-{{% tabs %}}
-{{% linuxtab %}}
-
 ```shell
 podman-remote help
 ```
@@ -167,12 +186,20 @@ Note: On Linux the remote client is called "podman-remote", while the local prog
 
 {{% /linuxtab %}}
 {{% mactab %}}
+This is similar to docker-env but only for CRI-O runtime.
+To push directly to CRI-O, configure Podman client on your host using the podman-env command in your shell:
+
+```shell
+eval $(minikube podman-env)
+```
+
+You should now be able to use Podman client on the command line on your host machine talking to the Podman service inside the minikube VM:
 
 ```shell
 podman help
 ```
 
-now you can 'build' against the storage inside minikube, which is instantly accessible to kubernetes cluster.
+Now you can 'build' against the storage inside minikube, which is instantly accessible to Kubernetes cluster.
 
 ```shell
 podman build -t my_image .
@@ -184,8 +211,22 @@ Note: On macOS the remote client is called "podman", since there is no local "po
 
 {{% /mactab %}}
 {{% windowstab %}}
+This is similar to docker-env but only for CRI-O runtime.
+To push directly to CRI-O, configure Podman client on your host using the podman-env command in your shell:
+
+PowerShell
+```shell
+& minikube -p minikube podman-env --shell powershell | Invoke-Expression
+```
+
+cmd
+```shell
+@FOR /f "tokens=*" %i IN ('minikube -p minikube podman-env --shell cmd') DO @%i
+```
+
+You should now be able to use Podman client on the command line on your host machine talking to the Podman service inside the minikube VM:
 
-now you can 'build' against the storage inside minikube, which is instantly accessible to kubernetes cluster.
+Now you can 'build' against the storage inside minikube, which is instantly accessible to Kubernetes cluster.
 
 ```shell
 podman help
diff --git a/site/content/en/docs/start/_index.md b/site/content/en/docs/start/_index.md
index f8eb48365..5c0aa438a 100644
--- a/site/content/en/docs/start/_index.md
+++ b/site/content/en/docs/start/_index.md
@@ -16,7 +16,7 @@ All you need is Docker (or similarly compatible) container or a Virtual Machine
 * 2GB of free memory
 * 20GB of free disk space
 * Internet connection
-* Container or virtual machine manager, such as: [Docker]({{<ref "/docs/drivers/docker">}}), [Hyperkit]({{<ref "/docs/drivers/hyperkit">}}), [Hyper-V]({{<ref "/docs/drivers/hyperv">}}), [KVM]({{<ref "/docs/drivers/kvm2">}}), [Parallels]({{<ref "/docs/drivers/parallels">}}), [Podman]({{<ref "/docs/drivers/podman">}}), [VirtualBox]({{<ref "/docs/drivers/virtualbox">}}), or [VMware Fusion/Workstation]({{<ref "/docs/drivers/vmware">}})
+* Container or virtual machine manager, such as: [Docker]({{<ref "/docs/drivers/docker">}}), [Hyperkit]({{<ref "/docs/drivers/hyperkit">}}), [Hyper-V]({{<ref "/docs/drivers/hyperv">}}), [KVM]({{<ref "/docs/drivers/kvm2">}}), [Parallels]({{<ref "/docs/drivers/parallels">}}), [Podman]({{<ref "/docs/drivers/podman">}}), [VirtualBox]({{<ref "/docs/drivers/virtualbox">}}), or [VMware]({{<ref "/docs/drivers/vmware">}})
 
 <h2 class="step"><span class="fa-stack fa-1x"><i class="fa fa-circle fa-stack-2x"></i><strong class="fa-stack-1x text-primary">1</strong></span>Installation</h2>
 
diff --git a/translations/de.json b/translations/de.json
index 532c3e695..94cda0e4c 100644
--- a/translations/de.json
+++ b/translations/de.json
@@ -8,9 +8,6 @@
 	"'none' driver does not support 'minikube podman-env' command": "",
 	"'none' driver does not support 'minikube ssh' command": "",
 	"'none' driver does not support 'minikube ssh-host' command": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "",
@@ -18,7 +15,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "",
 	"- Restart your {{.driver_name}} service": "",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -84,7 +80,6 @@
 	"Cannot find directory {{.path}} for copy": "",
 	"Cannot find directory {{.path}} for mount": "",
 	"Cannot use both --output and --format options": "",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "",
@@ -109,6 +104,7 @@
 	"Connect to LoadBalancer services": "",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
 	"Consider increasing Docker Desktop's memory size.": "",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "",
@@ -128,7 +124,6 @@
 	"Default group id used for the mount": "",
 	"Default user id used for the mount": "",
 	"Delete an image from the local cache.": "",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "",
 	"Deletes a local kubernetes cluster. This command deletes the VM, and removes all associated files.": "Damit wird ein lokaler Kubernetes-Cluster gelöscht. Mit diesem Befehl wird die VM entfernt und alle zugehörigen Dateien gelöscht.",
@@ -401,7 +396,6 @@
 	"Multiple minikube profiles were found - ": "",
 	"NIC Type used for host only network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
 	"NIC Type used for nat network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
-	"NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ...": "",
 	"NOTE: This process must stay alive for the mount to be accessible ...": "",
 	"Networking and Connectivity Commands:": "",
 	"No IP address provided. Try specifying --ssh-ip-address, or see https://minikube.sigs.k8s.io/docs/drivers/ssh/": "",
@@ -697,7 +691,6 @@
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
 	"The {{.driver_name}} driver should not be used with root privileges.": "Der Treiber {{.driver_name}} sollte nicht mit Root-Rechten verwendet werden.",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"There's a new version for '{{.driver_executable}}'. Please consider upgrading. {{.documentation_url}}": "Es gibt eine neue Version für '{{.driver_executable}}'. Bitte erwägen Sie ein Upgrade. {{.documentation_url}}",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
@@ -731,7 +724,6 @@
 	"Try 'minikube delete' to force new SSL certificates to be installed": "",
 	"Try 'minikube delete', and disable any conflicting VPN or firewall software": "",
 	"Trying to delete invalid profile {{.profile}}": "",
-	"Tunnel successfully started": "",
 	"Unable to bind flags": "",
 	"Unable to create dedicated network, this might result in cluster IP change after restart: {{.error}}": "",
 	"Unable to enable dashboard": "",
diff --git a/translations/es.json b/translations/es.json
index 07add60c8..dbaec07f9 100644
--- a/translations/es.json
+++ b/translations/es.json
@@ -9,9 +9,6 @@
 	"'none' driver does not support 'minikube podman-env' command": "El controlador 'none' no soporta el comando 'minikube podman-env'.",
 	"'none' driver does not support 'minikube ssh' command": "El controlador 'none' no soporta el comando 'minikube ssh'.",
 	"'none' driver does not support 'minikube ssh-host' command": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "- Eliminando y recreando el cluster minikube\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "Documentación https://docs.docker.com/docker-for-mac/#resources",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "Documentación https://docs.docker.com/docker-for-windows/#resources",
@@ -19,7 +16,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "- Recorta las imágenes, volumenes, redes y contenedores abandonados de {{.driver_name}}.\n\n\t\t\t\t{{.driver_name}} system prune --volumes",
 	"- Restart your {{.driver_name}} service": "- Reinicia el servicio {{.driver_name}}",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -85,7 +81,6 @@
 	"Cannot find directory {{.path}} for copy": "",
 	"Cannot find directory {{.path}} for mount": "No se pudo encontrar el directorio {{.path}} para montar",
 	"Cannot use both --output and --format options": "No se pueden usar ambas opciones (--output y --path)",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "Comprueba si tienes pods innecesarios corriendo, con el comando 'kubectl get pods -A'",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "Comprueba la salida de 'journalctl -xeu kubelet', intenta pasar --extra-config=kubelet.cgroup-driver=systemd a minikube start",
@@ -110,6 +105,7 @@
 	"Connect to LoadBalancer services": "Conectar a los servicios LoadBalancer",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "Considera crear un cluster con más memoria usando `minikube start --memory CANT_MB`",
 	"Consider increasing Docker Desktop's memory size.": "Considera incrementar la memoria asignada a Docker Desktop",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "",
@@ -129,7 +125,6 @@
 	"Default group id used for the mount": "ID de grupo por defecto usado para el montaje",
 	"Default user id used for the mount": "ID de usuario por defecto usado para el montaje",
 	"Delete an image from the local cache.": "Elimina una imagen del caché local.",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "Elimina un cluster de Kubernetes local",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "Elimina un clúster local de Kubernetes. Este comando borra la VM, y todos los\narchivos asociados.",
 	"Deletes a local kubernetes cluster. This command deletes the VM, and removes all associated files.": "Elimina un clúster local de Kubernetes. Este comando borra la VM y todos los archivos asociados.",
@@ -407,7 +402,6 @@
 	"Multiple minikube profiles were found - ": "",
 	"NIC Type used for host only network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
 	"NIC Type used for nat network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
-	"NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ...": "",
 	"NOTE: This process must stay alive for the mount to be accessible ...": "",
 	"Networking and Connectivity Commands:": "",
 	"No IP address provided. Try specifying --ssh-ip-address, or see https://minikube.sigs.k8s.io/docs/drivers/ssh/": "",
@@ -703,7 +697,6 @@
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
 	"The {{.driver_name}} driver should not be used with root privileges.": "El controlador {{.driver_name}} no se debe utilizar con privilegios de raíz.",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"There's a new version for '{{.driver_executable}}'. Please consider upgrading. {{.documentation_url}}": "Hay una nueva versión de \"{{.driver_executable}}\". Te recomendamos que realices la actualización. {{.documentation_url}}",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
@@ -737,7 +730,6 @@
 	"Try 'minikube delete' to force new SSL certificates to be installed": "",
 	"Try 'minikube delete', and disable any conflicting VPN or firewall software": "",
 	"Trying to delete invalid profile {{.profile}}": "",
-	"Tunnel successfully started": "",
 	"Unable to bind flags": "",
 	"Unable to create dedicated network, this might result in cluster IP change after restart: {{.error}}": "",
 	"Unable to enable dashboard": "",
diff --git a/translations/fr.json b/translations/fr.json
index e7a6b994c..fb28a7c24 100644
--- a/translations/fr.json
+++ b/translations/fr.json
@@ -8,9 +8,6 @@
 	"'none' driver does not support 'minikube podman-env' command": "Le pilote 'none' ne prend pas en charge la commande 'minikube podman-env'",
 	"'none' driver does not support 'minikube ssh' command": "Le pilote 'none' ne prend pas en charge la commande 'minikube ssh'",
 	"'none' driver does not support 'minikube ssh-host' command": "Le pilote 'none' ne prend pas en charge la commande 'minikube ssh-host'",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "- Supprimer et recréer le cluster de minikube\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "- Documentation https://docs.docker.com/docker-for-mac/#resources",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "- Docs https://docs.docker.com/docker-for-windows/#resources",
@@ -18,7 +15,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "- Nettoyer les images {{.driver_name}} non utilisées, les volumes, les réseaux et les conteneurs abandonnées.\n\n\t\t\t\t{{.driver_name}} system prune --volumes",
 	"- Restart your {{.driver_name}} service": "- Redémarrer votre service {{.driver_name}}",
 	"- {{.logPath}}": "- {{.logPath}}",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "la tranche de --kvm-numa-count est 1 à 8",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "le drapeau --network est valide uniquement avec les pilotes docker/podman et KVM, il va être ignoré",
 	"127.0.0.1": "127.0.0.1",
@@ -80,7 +76,6 @@
 	"Cannot find directory {{.path}} for copy": "Impossible de trouver le répertoire {{.path}} pour la copie",
 	"Cannot find directory {{.path}} for mount": "Impossible de trouver le répertoire {{.path}} pour le montage",
 	"Cannot use both --output and --format options": "Impossible d'utiliser à la fois les options --output et --format",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "Le certificat {{.certPath}} a expiré. Génération d'un nouveau...",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "Vérifiez si vous avez des pods inutiles en cours d'exécution en exécutant 'kubectl get po -A'",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "Vérifiez la sortie de 'journalctl -xeu kubelet', essayez de passer --extra-config=kubelet.cgroup-driver=systemd au démarrage de minikube",
@@ -125,7 +120,6 @@
 	"Default group id used for the mount": "ID de groupe par défaut utilisé pour le montage",
 	"Default user id used for the mount": "ID utilisateur par défaut utilisé pour le montage",
 	"Delete an image from the local cache.": "Supprimez une image du cache local.",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "Supprime un cluster Kubernetes local",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "Supprime le cluster Kubernetes local. Cette commande supprime la VM ainsi que tous les fichiers associés.",
 	"Deletes a node from a cluster.": "Supprime un nœud d'un cluster.",
@@ -153,7 +147,7 @@
 	"Docs have been saved at - {{.path}}": "Les documents ont été enregistrés à - {{.path}}",
 	"Documentation: {{.url}}": "Documentation: {{.url}}",
 	"Done! kubectl is now configured to use \"{{.name}}\" cluster and \"{{.ns}}\" namespace by default": "Terminé ! kubectl est maintenant configuré pour utiliser \"{{.name}}\" cluster et espace de noms \"{{.ns}}\" par défaut.",
-	"Done! minikube is ready without Kubernetes!": "Terminé! minikube est prêt sans Kubernetes !",
+	"Done! minikube is ready without Kubernetes!": "",
 	"Download complete!": "Téléchargement terminé !",
 	"Downloading Kubernetes {{.version}} preload ...": "Téléchargement du préchargement de Kubernetes {{.version}}...",
 	"Downloading VM boot image ...": "Téléchargement de l'image de démarrage de la VM...",
@@ -301,7 +295,7 @@
 	"Group ID:     {{.groupID}}": "Identifiant du groupe:     {{.groupID}}",
 	"Hide the hypervisor signature from the guest in minikube (kvm2 driver only)": "Masque la signature de l'hyperviseur de l'invité dans minikube (pilote kvm2 uniquement).",
 	"Hyperkit is broken. Upgrade to the latest hyperkit version and/or Docker for Desktop. Alternatively, you may choose an alternate --driver": "Hyperkit ne fonctionne pas. Mettez à niveau vers la dernière version d'hyperkit et/ou Docker for Desktop. Alternativement, vous pouvez choisir un autre --driver",
-	"Hyperkit networking is broken. Try disabling Internet Sharing: System Preference \u003e Sharing \u003e Internet Sharing. \nAlternatively, you can try upgrading to the latest hyperkit version, or using an alternate driver.": "Le réseau Hyperkit est cassé. Essayez de désactiver le partage Internet : Préférence système \u003e Partage \u003e Partage Internet. \nVous pouvez également essayer de mettre à niveau vers la dernière version d'hyperkit ou d'utiliser un autre pilote.",
+	"Hyperkit networking is broken. Try disabling Internet Sharing: System Preference \u003e Sharing \u003e Internet Sharing. \nAlternatively, you can try upgrading to the latest hyperkit version, or using an alternate driver.": "",
 	"Hyperkit networking is broken. Upgrade to the latest hyperkit version and/or Docker for Desktop. Alternatively, you may choose an alternate --driver": "Le réseau Hyperkit ne fonctionne pas. Mettez à niveau vers la dernière version d'hyperkit et/ou Docker for Desktop. Alternativement, vous pouvez choisir un autre --driver",
 	"IP Address to use to expose ports (docker and podman driver only)": "Adresse IP à utiliser pour exposer les ports (pilote docker et podman uniquement)",
 	"IP address (ssh driver only)": "Adresse IP (pilote ssh uniquement)",
@@ -311,7 +305,7 @@
 	"If set, download tarball of preloaded images if available to improve start time. Defaults to true.": "Si défini, télécharge l'archive tar des images préchargées si disponibles pour améliorer le temps de démarrage. La valeur par défaut est true.",
 	"If set, force the container runtime to use systemd as cgroup manager. Defaults to false.": "S'il est défini, force l'environnement d'exécution du conteneur à utiliser systemd comme gestionnaire de groupe de contrôle. La valeur par défaut est false.",
 	"If set, install addons. Defaults to true.": "Si défini, installe les modules. La valeur par défaut est true.",
-	"If set, minikube VM/container will start without starting or configuring Kubernetes. (only works on new clusters)": "S'il est défini, minikube VM/container démarrera sans démarrer ni configurer Kubernetes. (ne fonctionne que sur les nouveaux clusters)",
+	"If set, minikube VM/container will start without starting or configuring Kubernetes. (only works on new clusters)": "",
 	"If set, pause all namespaces": "Si défini, suspend tous les espaces de noms",
 	"If set, unpause all namespaces": "Si défini, annule la pause de tous les espaces de noms",
 	"If the above advice does not help, please let us know:": "Si les conseils ci-dessus ne vous aident pas, veuillez nous en informer :",
@@ -380,7 +374,6 @@
 	"Multiple minikube profiles were found - ": "Plusieurs profils minikube ont été trouvés -",
 	"NIC Type used for host only network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "Type de carte réseau utilisé pour le réseau hôte uniquement. Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM ou virtio (pilote virtualbox uniquement)",
 	"NIC Type used for nat network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "Type de carte réseau utilisé pour le réseau nat. Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM ou virtio (pilote virtualbox uniquement)",
-	"NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ...": "",
 	"NOTE: This process must stay alive for the mount to be accessible ...": "REMARQUE : ce processus doit rester actif pour que le montage soit accessible...",
 	"Networking and Connectivity Commands:": "Commandes de mise en réseau et de connectivité :",
 	"No IP address provided. Try specifying --ssh-ip-address, or see https://minikube.sigs.k8s.io/docs/drivers/ssh/": "Aucune adresse IP fournie. Essayez de spécifier --ssh-ip-address, ou consultez https://minikube.sigs.k8s.io/docs/drivers/ssh/",
@@ -555,10 +548,10 @@
 	"Specifying extra disks is currently only supported for the following drivers: {{.supported_drivers}}. If you can contribute to add this feature, please create a PR.": "La spécification de disques supplémentaires n'est actuellement prise en charge que pour les pilotes suivants : {{.supported_drivers}}. Si vous pouvez contribuer à ajouter cette fonctionnalité, veuillez créer un PR.",
 	"StartHost failed, but will try again: {{.error}}": "StartHost a échoué, mais va réessayer : {{.error}}",
 	"Starting control plane node {{.name}} in cluster {{.cluster}}": "Démarrage du noeud de plan de contrôle {{.name}} dans le cluster {{.cluster}}",
-	"Starting minikube without Kubernetes {{.name}} in cluster {{.cluster}}": "Démarrage de minikube sans Kubernetes {{.name}} dans le cluster {{.cluster}}",
+	"Starting minikube without Kubernetes {{.name}} in cluster {{.cluster}}": "",
 	"Starting node {{.name}} in cluster {{.cluster}}": "Démarrage du noeud {{.name}} dans le cluster {{.cluster}}",
 	"Starting tunnel for service {{.service}}.": "Tunnel de démarrage pour le service {{.service}}.",
-	"Starting worker node {{.name}} in cluster {{.cluster}}": "Démarrage du nœud de travail {{.name}} dans le cluster {{.cluster}}",
+	"Starting worker node {{.name}} in cluster {{.cluster}}": "",
 	"Starts a local Kubernetes cluster": "Démarre un cluster Kubernetes local",
 	"Starts a node.": "Démarre un nœud.",
 	"Starts an existing stopped node in a cluster.": "Démarre un nœud arrêté existant dans un cluster.",
@@ -656,10 +649,9 @@
 	"The time interval for each check that wait performs in seconds": "L'intervalle de temps pour chaque contrôle que wait effectue en secondes",
 	"The value passed to --format is invalid": "La valeur passée à --format n'est pas valide",
 	"The value passed to --format is invalid: {{.error}}": "La valeur passée à --format n'est pas valide : {{.error}}",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "Ces paramètres --extra-config ne sont pas valides : {{.invalid_extra_opts}}",
 	"These changes will take effect upon a minikube delete and then a minikube start": "Ces modifications prendront effet lors d'une suppression de minikube, puis d'un démarrage de minikube",
-	"Things to try without Kubernetes ...": "Choses à essayer sans Kubernetes ...",
+	"Things to try without Kubernetes ...": "",
 	"This addon does not have an endpoint defined for the 'addons open' command.\nYou can add one by annotating a service with the label {{.labelName}}:{{.addonName}}": "Ce module n'a pas de point de terminaison défini pour la commande 'addons open'.\nVous pouvez en ajouter un en annotant un service avec le libellé {{.labelName}} :{{.addonName}}",
 	"This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true": "Cette opération peut également être réalisée en définissant la variable d'environment \"CHANGE_MINIKUBE_NONE_USER=true\".",
 	"This control plane is not running! (state={{.state}})": "Ce plan de contrôle ne fonctionne pas ! (état={{.state}})",
@@ -685,7 +677,6 @@
 	"Try 'minikube delete' to force new SSL certificates to be installed": "Essayez 'minikube delete' pour forcer l'installation de nouveaux certificats SSL",
 	"Try 'minikube delete', and disable any conflicting VPN or firewall software": "Essayez 'minikube delete' et désactivez tout logiciel VPN ou pare-feu en conflit",
 	"Trying to delete invalid profile {{.profile}}": "Tentative de suppression du profil non valide {{.profile}}",
-	"Tunnel successfully started": "",
 	"Unable to bind flags": "Impossible de lier les drapeaux",
 	"Unable to create dedicated network, this might result in cluster IP change after restart: {{.error}}": "Impossible de créer un réseau dédié, cela peut entraîner une modification de l'adresse IP du cluster après le redémarrage : {{.error}}",
 	"Unable to enable dashboard": "Impossible d'activer le tableau de bord",
diff --git a/translations/ja.json b/translations/ja.json
index b13f72278..329f7ecf7 100644
--- a/translations/ja.json
+++ b/translations/ja.json
@@ -10,9 +10,6 @@
 	"'none' driver does not support 'minikube ssh-host' command": "'none' ドライバーは 'minikube ssh-host' コマンドをサポートしていません",
 	"'{{.driver}}' driver reported a issue that could affect the performance.": "'{{.driver}}' ドライバーが性能に影響しうる問題を報告しました。",
 	"'{{.driver}}' driver reported an issue: {{.error}}": "'{{.driver}}' ドライバーがエラーを報告しました: {{.error}}",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "- minikube クラスターの削除と再作成をしてください\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "- ドキュメント https://docs.docker.com/docker-for-mac/#resources",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "- ドキュメント https://docs.docker.com/docker-for-windows/#resources",
@@ -20,7 +17,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "- 使用していない {{.driver_name}} イメージ、ボリューム、ネットワーク、コンテナーを削除してください。\n\n\t\t\t\t{{.driver_name}} system prune --volumes",
 	"- Restart your {{.driver_name}} service": "{{.driver_name}} サービスを再起動してください",
 	"- {{.logPath}}": "- {{.logPath}}",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "--kvm-numa-count の範囲は 1～8 です",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "--network フラグは、docker/podman および KVM ドライバーでのみ有効であるため、無視されます",
 	"127.0.0.1": "127.0.0.1",
@@ -84,7 +80,6 @@
 	"Cannot find directory {{.path}} for copy": "",
 	"Cannot find directory {{.path}} for mount": "マウントのためのディレクトリ{{.path}}が見つかりません",
 	"Cannot use both --output and --format options": "",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "",
@@ -102,57 +97,56 @@
 	"Configure environment to use minikube's Podman service": "minikube の Podman サービスを使うように環境を設定します",
 	"Configures the addon w/ADDON_NAME within minikube (example: minikube addons configure registry-creds). For a list of available addons use: minikube addons list": "",
 	"Configuring RBAC rules ...": "RBAC のルールを設定中です...",
-	"Configuring local host environment ...": "ローカルホスト環境を設定中です...",
-	"Configuring {{.name}} (Container Networking Interface) ...": "{{.name}} (コンテナーネットワークインターフェース) を設定中です...",
-	"Confirm that you have a working internet connection and that your VM has not run out of resources by using: 'minikube logs'": "'minikube logs' を使用して、インターネットに接続されていること、および VM のリソースが不足していないことを確認してください",
-	"Confirm that you have supplied the correct value to --hyperv-virtual-switch using the 'Get-VMSwitch' command": "'Get-VMSwitch' コマンドを使用して、--hyperv-virtual-switch に正しい値が入っていることを確認してください",
+	"Configuring local host environment ...": "",
+	"Configuring {{.name}} (Container Networking Interface) ...": "",
+	"Confirm that you have a working internet connection and that your VM has not run out of resources by using: 'minikube logs'": "",
+	"Confirm that you have supplied the correct value to --hyperv-virtual-switch using the 'Get-VMSwitch' command": "",
 	"Connect to LoadBalancer services": "LoadBalancer サービスに接続します",
-	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "`minikube start --memory SIZE_MB` を使用して、より大きなメモリーサイズのクラスターを作成することを検討してください",
-	"Consider increasing Docker Desktop's memory size.": "Docker Desktop のメモリーサイズを増やすことを検討してください。",
-	"Container runtime must be set to \\\"containerd\\\" for rootless": "rootless の場合、コンテナーランタイムを「containerd」に設定する必要があります",
-	"Continuously listing/getting the status with optional interval duration.": "任意のインターバル時間で、継続的にステータスをリストアップ/取得します。",
-	"Control Plane could not update, try minikube delete --all --purge": "コントロールプレーンがアップデートできません。minikube delete --all --purge を試してください",
-	"Copy the specified file into minikube": "指定したファイルを minikube にコピーします",
-	"Copy the specified file into minikube, it will be saved at path \u003ctarget file absolute path\u003e in your minikube.\\nExample Command : \\\"minikube cp a.txt /home/docker/b.txt\\\"\\n                  \\\"minikube cp a.txt minikube-m02:/home/docker/b.txt\\\"\\n": "指定したファイルを minikube にコピーします。ファイルは minikube 内の \u003ctarget file absolute path\u003e に保存されます。\\nコマンドの例: 「minikube cp a.txt /home/docker/b.txt」\\n              「minikube cp a.txt minikube-m02:/home/docker/b.txt」\\n",
-	"Could not determine a Google Cloud project, which might be ok.": "Google Cloud プロジェクトを特定できませんでしたが、問題はないかもしれません。",
-	"Could not find any GCP credentials. Either run `gcloud auth application-default login` or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to the path of your credentials file.": "GCP の認証情報が見つかりませんでした。`gcloud auth application-default login` を実行するか、環境変数 GOOGLE_APPLICATION_CREDENTIALS に認証情報ファイルのパスを設定してください。",
-	"Could not process error from failed deletion": "削除の失敗によるエラーを処理できませんでした",
-	"Could not process errors from failed deletion": "削除の失敗によるエラーを処理できませんでした",
-	"Could not resolve IP address": "IP アドレスの解決ができませんでした",
-	"Country code of the image mirror to be used. Leave empty to use the global one. For Chinese mainland users, set it to cn.": "使用するイメージミラーの国コード。グローバルのものを使用する場合は空のままにします。中国本土のユーザーの場合は、cn に設定します。",
+	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
+	"Consider increasing Docker Desktop's memory size.": "",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
+	"Continuously listing/getting the status with optional interval duration.": "",
+	"Control Plane could not update, try minikube delete --all --purge": "",
+	"Copy the specified file into minikube": "",
+	"Copy the specified file into minikube, it will be saved at path \u003ctarget file absolute path\u003e in your minikube.\\nExample Command : \\\"minikube cp a.txt /home/docker/b.txt\\\"\\n                  \\\"minikube cp a.txt minikube-m02:/home/docker/b.txt\\\"\\n": "",
+	"Could not determine a Google Cloud project, which might be ok.": "",
+	"Could not find any GCP credentials. Either run `gcloud auth application-default login` or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to the path of your credentials file.": "",
+	"Could not process error from failed deletion": "",
+	"Could not process errors from failed deletion": "",
+	"Could not resolve IP address": "",
+	"Country code of the image mirror to be used. Leave empty to use the global one. For Chinese mainland users, set it to cn.": "使用するイメージミラーの国コード。グローバルのものを使用する場合は空のままにします。中国本土のユーザーの場合は、「cn」に設定します",
 	"Creating mount {{.name}} ...": "マウント {{.name}} を作成しています...",
 	"Creating {{.driver_name}} {{.machine_type}} (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB) ...": "{{.driver_name}} {{.machine_type}} (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB) を作成しています...",
 	"Creating {{.driver_name}} {{.machine_type}} (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB, Disk={{.disk_size}}MB) ...": "{{.driver_name}} {{.machine_type}} (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB, Disk={{.disk_size}}MB) を作成しています...",
-	"Current context is \"{{.context}}\"": "現在のコンテキストは「{{.context}}」です",
-	"DEPRECATED, use `driver` instead.": "非推奨。代わりに `driver` を使用してください。",
-	"DEPRECATED: Replaced by --cni=bridge": "非推奨: --cni=bridge に置き換えられました",
+	"Current context is \"{{.context}}\"": "",
+	"DEPRECATED, use `driver` instead.": "非推奨。代わりに driver を使ってください",
+	"DEPRECATED: Replaced by --cni=bridge": "",
 	"Default group id used for the mount": "マウント時のデフォルトのグループ ID",
 	"Default user id used for the mount": "マウント時のデフォルトのユーザー ID",
-	"Delete an image from the local cache.": "ローカルのキャッシュからイメージを削除します。",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
-	"Deletes a local Kubernetes cluster": "ローカルの Kubernetes クラスターを削除します",
-	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "ローカルの Kubernetes クラスターを削除します。このコマンドによって、VM とそれに関連付けられているすべてのファイルが削除されます。",
-	"Deletes a node from a cluster.": "クラスターからノードを削除します。",
+	"Delete an image from the local cache.": "ローカルのキャッシュからイメージを削除します",
+	"Deletes a local Kubernetes cluster": "ローカルの Kubernetes クラスタを削除します",
+	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "ローカルの Kubernetes クラスタを削除します。このコマンドによって、VM とそれに関連付けられているすべてのファイルが削除されます",
+	"Deletes a node from a cluster.": "ノードをクラスタから削除します",
 	"Deleting \"{{.profile_name}}\" in {{.driver_name}} ...": "{{.driver_name}} の「{{.profile_name}}」を削除しています...",
-	"Deleting container \"{{.name}}\" ...": "コンテナー「{{.name}}」を削除しています...",
-	"Deleting existing cluster {{.name}} with different driver {{.driver_name}} due to --delete-on-failure flag set by the user. ": "ユーザーが設定した --delete-on-failure フラグにより、異なるドライバー {{.driver_name}} を持つ既存のクラスター {{.name}} を削除しています。",
-	"Deleting node {{.name}} from cluster {{.cluster}}": "クラスター {{.cluster}} から、ノード {{.name}} を削除しています",
-	"Disable checking for the availability of hardware virtualization before the vm is started (virtualbox driver only)": "VM が起動する前にハードウェアの仮想化の可用性チェックを無効にします (virtualbox ドライバーのみ)",
-	"Disable dynamic memory in your VM manager, or pass in a larger --memory value": "VM マネージャーで動的メモリーを無効にするか、より大きな --memory の値を指定してください",
-	"Disables the addon w/ADDON_NAME within minikube (example: minikube addons disable dashboard). For a list of available addons use: minikube addons list ": "minikube 内の ADDON_NAME のアドオンを無効にします (例: minikube addons disable dashboard)。利用可能なアドオンのリストは、minikube addons list を使用してください",
-	"Disables the filesystem mounts provided by the hypervisors": "ハイパーバイザーによって提供されているファイルシステムのマウントを無効にします",
-	"Disk size allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g).": "minikube VM に割り当てられたディスクサイズ (形式: \u003cnumber\u003e[\u003cunit\u003e]、unit = b、k、m、g)。",
-	"Display dashboard URL instead of opening a browser": "ブラウザーで開く代わりにダッシュボードの URL を表示します",
-	"Display the Kubernetes addons URL in the CLI instead of opening it in the default browser": "Kubernetes のアドオンの URL を、デフォルトのブラウザーで開く代わりに CLI で表示します",
-	"Display the Kubernetes service URL in the CLI instead of opening it in the default browser": "Kubernetes のサービスの URL を、デフォルトのブラウザーで開く代わりに CLI で表示します",
+	"Deleting container \"{{.name}}\" ...": "コンテナ \"{{.name}}\" を削除しています...",
+	"Deleting existing cluster {{.name}} with different driver {{.driver_name}} due to --delete-on-failure flag set by the user. ": "",
+	"Deleting node {{.name}} from cluster {{.cluster}}": "{{.cluster}} クラスタから {{.name}} ノードを削除しています",
+	"Disable checking for the availability of hardware virtualization before the vm is started (virtualbox driver only)": "VM が起動する前にハードウェアの仮想化の可用性チェックを無効にします（virtualbox ドライバのみ）",
+	"Disable dynamic memory in your VM manager, or pass in a larger --memory value": "",
+	"Disables the addon w/ADDON_NAME within minikube (example: minikube addons disable dashboard). For a list of available addons use: minikube addons list ": "",
+	"Disables the filesystem mounts provided by the hypervisors": "ハイパーバイザによって指定されているファイル システム マウントを無効にします",
+	"Disk size allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g).": "minikube VM に割り当てられたディスクサイズ（形式: \u003cnumber\u003e[\u003cunit\u003e]、unit = b、k、m、g）です。",
+	"Display dashboard URL instead of opening a browser": "ブラウザで開く代わりにダッシュボードの URL を表示します",
+	"Display the Kubernetes addons URL in the CLI instead of opening it in the default browser": "",
+	"Display the Kubernetes service URL in the CLI instead of opening it in the default browser": "",
 	"Display values currently set in the minikube config file": "現在の minikube の設定ファイルにセットされている値を表示します",
-	"Display values currently set in the minikube config file.": "現在の minikube の設定ファイルにセットされている値を表示します。",
-	"Docker Desktop has less than 2 CPUs configured, but Kubernetes requires at least 2 to be available": "Docker Desktop では 2 つ未満の CPU が設定されていますが、Kubernetes では少なくとも 2 つ必要です",
-	"Docker Desktop is configured for Windows containers, but Linux containers are required for minikube": "Docker Desktop は Windows コンテナー用に設定されていますが、minikube には Linux コンテナーが必要です",
-	"Docker Desktop only has {{.size}}MiB available, less than the required {{.req}}MiB for Kubernetes": "Docker Desktop では {{.size}}MiB しか利用できず、Kubernetes に必要な {{.req}}MiB より少ないです",
-	"Docker Desktop only has {{.size}}MiB available, you may encounter application deployment failures.": "Docker Desktop では {{.size}}MiB しか利用できないため、アプリケーションのデプロイに失敗することがあります。",
-	"Docker container exited prematurely after it was created, consider investigating Docker's performance/health.": "Docker コンテナーは、作成後に途中で終了しました。Docker の動作や状態の調査を検討してください。",
-	"Docker has less than 2 CPUs available, but Kubernetes requires at least 2 to be available": "Docker は 2 つ未満の CPU で利用可能ですが、Kubernetes では少なくとも 2 つ必要です",
+	"Display values currently set in the minikube config file.": "",
+	"Docker Desktop has less than 2 CPUs configured, but Kubernetes requires at least 2 to be available": "",
+	"Docker Desktop is configured for Windows containers, but Linux containers are required for minikube": "",
+	"Docker Desktop only has {{.size}}MiB available, less than the required {{.req}}MiB for Kubernetes": "",
+	"Docker Desktop only has {{.size}}MiB available, you may encounter application deployment failures.": "",
+	"Docker container exited prematurely after it was created, consider investigating Docker's performance/health.": "",
+	"Docker has less than 2 CPUs available, but Kubernetes requires at least 2 to be available": "",
 	"Docker inside the VM is unavailable. Try running 'minikube delete' to reset the VM.": "",
 	"Docs have been saved at - {{.path}}": "ドキュメントは以下のパスに保存されました。{{.path}}",
 	"Documentation: {{.url}}": "ドキュメント: {{.url}}",
@@ -396,7 +390,6 @@
 	"Multiple minikube profiles were found - ": "",
 	"NIC Type used for host only network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
 	"NIC Type used for nat network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
-	"NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ...": "",
 	"NOTE: This process must stay alive for the mount to be accessible ...": "",
 	"Networking and Connectivity Commands:": "ネットワーキング及び接続性コマンド:",
 	"No IP address provided. Try specifying --ssh-ip-address, or see https://minikube.sigs.k8s.io/docs/drivers/ssh/": "",
@@ -698,7 +691,6 @@
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
 	"The {{.driver_name}} driver should not be used with root privileges.": "{{.driver_name}} ドライバをルート権限で使用しないでください",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"There's a new version for '{{.driver_executable}}'. Please consider upgrading. {{.documentation_url}}": "「{{.driver_executable}}」の新しいバージョンがあります。アップグレードを検討してください。{{.documentation_url}}",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
@@ -732,7 +724,6 @@
 	"Try 'minikube delete' to force new SSL certificates to be installed": "新しい SSL 証明書を強制インストールするためには、'minikube delete' を試してください",
 	"Try 'minikube delete', and disable any conflicting VPN or firewall software": "'minikube delete' を試して、衝突している VPN あるいはファイアウォールソフトウェアを無効化してください",
 	"Trying to delete invalid profile {{.profile}}": "無効なプロファイル {{.profile}} を削除中",
-	"Tunnel successfully started": "",
 	"Unable to bind flags": "フラグをバインドできません",
 	"Unable to create dedicated network, this might result in cluster IP change after restart: {{.error}}": "独立したネットワークの作成ができず、再起動後にクラスター IP が変更される結果になるかも知れません: {{.error}}",
 	"Unable to enable dashboard": "ダッシュボードが有効になりません",
diff --git a/translations/ko.json b/translations/ko.json
index 201143846..42cd2d29b 100644
--- a/translations/ko.json
+++ b/translations/ko.json
@@ -14,9 +14,6 @@
 	"'none' driver does not support 'minikube ssh-host' command": "'none' 드라이버는 'minikube ssh-host' 명령어를 지원하지 않습니다",
 	"'{{.driver}}' driver reported an issue: {{.error}}": "'{{.driver}}' 드라이버가 다음 이슈를 기록하였습니다: {{.error}}",
 	"'{{.profile}}' is not running": "'{{.profile}}' 이 실행 중이지 않습니다",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "minikube 클러스터를 삭제하고 재생성합니다.\n\t\tminikube를 삭제합니다.\n\t\tminikube start --driver={{.driver_name}}",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "- 문서: https://docs.docker.com/docker-for-mac/#resources",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "- 문서: https://docs.docker.com/docker-for-windows/#resources",
@@ -24,7 +21,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "",
 	"- Restart your {{.driver_name}} service": "{{.driver_name}} 서비스를 다시 시작하세요",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "--kvm-numa-count 범위는 1부터 8입니다",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -89,7 +85,6 @@
 	"Cannot find directory {{.path}} for copy": "복사하기 위한 디렉토리 {{.path}} 를 찾을 수 없습니다.",
 	"Cannot find directory {{.path}} for mount": "마운트하기 위한 디렉토리 {{.path}} 를 찾을 수 없습니다",
 	"Cannot use both --output and --format options": "--output 과 --format 옵션을 함께 사용할 수 없습니다",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "",
@@ -116,6 +111,7 @@
 	"Connect to LoadBalancer services": "",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
 	"Consider increasing Docker Desktop's memory size.": "",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "",
@@ -137,7 +133,6 @@
 	"Default group id used for the mount": "마운트를 위한 디폴트 group id",
 	"Default user id used for the mount": "마운트를 위한 디폴트 user id",
 	"Delete an image from the local cache.": "로컬 캐시에서 이미지를 삭제합니다",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "로컬 쿠버네티스 클러스터를 삭제합니다",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "로컬 쿠버네티스 클러스터를 삭제합니다. 해당 명령어는 가상 머신을 삭제하고 모든 관련 파일을 삭제합니다",
 	"Deletes a local kubernetes cluster": "로컬 쿠버네티스 클러스터를 삭제합니다",
@@ -424,7 +419,6 @@
 	"Multiple minikube profiles were found - ": "",
 	"NIC Type used for host only network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
 	"NIC Type used for nat network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
-	"NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ...": "",
 	"NOTE: This process must stay alive for the mount to be accessible ...": "",
 	"Networking and Connectivity Commands:": "",
 	"No IP address provided. Try specifying --ssh-ip-address, or see https://minikube.sigs.k8s.io/docs/drivers/ssh/": "",
@@ -707,7 +701,6 @@
 	"The time interval for each check that wait performs in seconds": "",
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
 	"Things to try without Kubernetes ...": "",
@@ -736,7 +729,6 @@
 	"Try 'minikube delete' to force new SSL certificates to be installed": "",
 	"Try 'minikube delete', and disable any conflicting VPN or firewall software": "",
 	"Trying to delete invalid profile {{.profile}}": "무효한 프로필 {{.profile}} 를 삭제하는 중",
-	"Tunnel successfully started": "",
 	"Unable to bind flags": "flags 를 합칠 수 없습니다",
 	"Unable to create dedicated network, this might result in cluster IP change after restart: {{.error}}": "",
 	"Unable to enable dashboard": "대시보드를 활성화할 수 없습니다",
diff --git a/translations/pl.json b/translations/pl.json
index ac85068a0..11a68e709 100644
--- a/translations/pl.json
+++ b/translations/pl.json
@@ -13,9 +13,6 @@
 	"'none' driver does not support 'minikube podman-env' command": "",
 	"'none' driver does not support 'minikube ssh' command": "sterownik 'none' nie wspiera komendy 'minikube ssh'",
 	"'none' driver does not support 'minikube ssh-host' command": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "",
@@ -23,7 +20,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "",
 	"- Restart your {{.driver_name}} service": "",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -86,7 +82,6 @@
 	"Cannot find directory {{.path}} for copy": "Nie znaleziono katalogu {{.path}} do skopiowania",
 	"Cannot find directory {{.path}} for mount": "Nie można odnaleźć folderu {{.path}} do zamontowania",
 	"Cannot use both --output and --format options": "Nie można użyć obydwu opcji --output i --format jednocześnie",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "Sprawdź czy są uruchomione jakieś niepotrzebne pody za pomocą komendy: 'kubectl get pod -A' ",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "",
@@ -113,6 +108,7 @@
 	"Connect to LoadBalancer services": "Połącz się do serwisów LoadBalancer'a",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
 	"Consider increasing Docker Desktop's memory size.": "Rozważ przydzielenie większej ilości pamięci RAM dla programu Docker Desktop",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "Skopiuj dany plik do minikube",
@@ -135,7 +131,6 @@
 	"Default group id used for the mount": "Domyślne id groupy użyte dla montowania",
 	"Default user id used for the mount": "Domyślne id użytkownika użyte dla montowania ",
 	"Delete an image from the local cache.": "Usuń obraz z lokalnego cache'a",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "Usuwa lokalny klaster Kubernetesa",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "",
 	"Deletes a local kubernetes cluster": "Usuwa lokalny klaster Kubernetesa",
@@ -413,7 +408,6 @@
 	"Multiple minikube profiles were found - ": "Znaleziono wiele profili minikube - ",
 	"NIC Type used for host only network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
 	"NIC Type used for nat network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
-	"NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ...": "",
 	"NOTE: This process must stay alive for the mount to be accessible ...": "",
 	"Networking and Connectivity Commands:": "",
 	"No IP address provided. Try specifying --ssh-ip-address, or see https://minikube.sigs.k8s.io/docs/drivers/ssh/": "Nie znaleziono adresu IP. Spróbuj przekazać adres IP za pomocą flagi --ssh-ip-address lub odwiedź https://minikube.sigs.k8s.io/docs/drivers/ssh/",
@@ -716,7 +710,6 @@
 	"The value passed to --format is invalid": "Wartość przekazana do --format jest nieprawidłowa",
 	"The value passed to --format is invalid: {{.error}}": "Wartość przekazana do --format jest nieprawidłowa: {{.error}}",
 	"The {{.driver_name}} driver should not be used with root privileges.": "{{.driver_name}} nie powinien być używany z przywilejami root'a.",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
 	"Things to try without Kubernetes ...": "",
@@ -748,7 +741,6 @@
 	"Try 'minikube delete' to force new SSL certificates to be installed": "",
 	"Try 'minikube delete', and disable any conflicting VPN or firewall software": "",
 	"Trying to delete invalid profile {{.profile}}": "",
-	"Tunnel successfully started": "",
 	"Unable to bind flags": "",
 	"Unable to create dedicated network, this might result in cluster IP change after restart: {{.error}}": "",
 	"Unable to enable dashboard": "",
diff --git a/translations/strings.txt b/translations/strings.txt
index 5d62174db..d3010ce7b 100644
--- a/translations/strings.txt
+++ b/translations/strings.txt
@@ -8,9 +8,6 @@
 	"'none' driver does not support 'minikube podman-env' command": "",
 	"'none' driver does not support 'minikube ssh' command": "",
 	"'none' driver does not support 'minikube ssh-host' command": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "",
@@ -18,7 +15,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "",
 	"- Restart your {{.driver_name}} service": "",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -80,7 +76,6 @@
 	"Cannot find directory {{.path}} for copy": "",
 	"Cannot find directory {{.path}} for mount": "",
 	"Cannot use both --output and --format options": "",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "",
@@ -105,6 +100,7 @@
 	"Connect to LoadBalancer services": "",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
 	"Consider increasing Docker Desktop's memory size.": "",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "",
@@ -124,7 +120,6 @@
 	"Default group id used for the mount": "",
 	"Default user id used for the mount": "",
 	"Delete an image from the local cache.": "",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "",
 	"Deletes a node from a cluster.": "",
@@ -378,7 +373,6 @@
 	"Multiple minikube profiles were found - ": "",
 	"NIC Type used for host only network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
 	"NIC Type used for nat network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
-	"NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ...": "",
 	"NOTE: This process must stay alive for the mount to be accessible ...": "",
 	"Networking and Connectivity Commands:": "",
 	"No IP address provided. Try specifying --ssh-ip-address, or see https://minikube.sigs.k8s.io/docs/drivers/ssh/": "",
@@ -653,7 +647,6 @@
 	"The time interval for each check that wait performs in seconds": "",
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
 	"Things to try without Kubernetes ...": "",
@@ -682,7 +675,6 @@
 	"Try 'minikube delete' to force new SSL certificates to be installed": "",
 	"Try 'minikube delete', and disable any conflicting VPN or firewall software": "",
 	"Trying to delete invalid profile {{.profile}}": "",
-	"Tunnel successfully started": "",
 	"Unable to bind flags": "",
 	"Unable to create dedicated network, this might result in cluster IP change after restart: {{.error}}": "",
 	"Unable to enable dashboard": "",
diff --git a/translations/zh-CN.json b/translations/zh-CN.json
index f3f103652..2f8fc7147 100644
--- a/translations/zh-CN.json
+++ b/translations/zh-CN.json
@@ -15,9 +15,6 @@
 	"'none' driver does not support 'minikube ssh' command": "'none' 驱动不支持 'minikube ssh' 命令",
 	"'none' driver does not support 'minikube ssh-host' command": "",
 	"'{{.driver}}' driver reported an issue: {{.error}}": "'{{.driver}}' 驱动程序报告了一个问题： {{.error}}",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "",
@@ -25,7 +22,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "",
 	"- Restart your {{.driver_name}} service": "- 重启你的 {{.driver_name}} 服务",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -100,7 +96,6 @@
 	"Cannot find directory {{.path}} for copy": "",
 	"Cannot find directory {{.path}} for mount": "找不到用来挂载的 {{.path}} 目录",
 	"Cannot use both --output and --format options": "不能同时使用 --output 和 --format 选项",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "检查 'journalctl -xeu kubelet' 的输出，尝试启动 minikube 时添加参数 --extra-config=kubelet.cgroup-driver=systemd",
@@ -132,6 +127,7 @@
 	"Connect to LoadBalancer services": "连接到 LoadBalancer 服务",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
 	"Consider increasing Docker Desktop's memory size.": "",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "",
@@ -156,7 +152,6 @@
 	"Default group id used for the mount": "用于挂载默认的 group id",
 	"Default user id used for the mount": "用于挂载默认的 user id",
 	"Delete an image from the local cache.": "从本地缓存中删除 image。",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "",
 	"Deletes a local kubernetes cluster": "删除本地的 kubernetes 集群",
@@ -487,7 +482,6 @@
 	"Multiple minikube profiles were found - ": "",
 	"NIC Type used for host only network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "网卡类型仅用于主机网络。Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM 之一，或 virtio(仅限 VirtualBox 驱动程序)",
 	"NIC Type used for nat network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)": "",
-	"NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ...": "",
 	"NOTE: This process must stay alive for the mount to be accessible ...": "",
 	"Networking and Connectivity Commands:": "网络和连接命令：",
 	"No IP address provided. Try specifying --ssh-ip-address, or see https://minikube.sigs.k8s.io/docs/drivers/ssh/": "",
@@ -804,7 +798,6 @@
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
 	"The {{.driver_name}} driver should not be used with root privileges.": "不应以根权限使用 {{.driver_name}} 驱动程序。",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"There's a new version for '{{.driver_executable}}'. Please consider upgrading. {{.documentation_url}}": "“{{.driver_executable}}”有一个新版本。请考虑升级。{{.documentation_url}}",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
@@ -838,7 +831,6 @@
 	"Try 'minikube delete' to force new SSL certificates to be installed": "",
 	"Try 'minikube delete', and disable any conflicting VPN or firewall software": "",
 	"Trying to delete invalid profile {{.profile}}": "尝试删除无效的配置文件 {{.profile}}",
-	"Tunnel successfully started": "",
 	"Unable to bind flags": "无法绑定标志",
 	"Unable to create dedicated network, this might result in cluster IP change after restart: {{.error}}": "",
 	"Unable to determine a default driver to use. Try specifying --vm-driver, or see https://minikube.sigs.k8s.io/docs/start/": "无法确定要使用的默认驱动。尝试通过 --vm-dirver 指定，或者查阅 https://minikube.sigs.k8s.io/docs/start/",


Test patch:
diff --git a/cmd/minikube/cmd/docker-env_test.go b/cmd/minikube/cmd/docker-env_test.go
index e36d61cdf..e0fbb6780 100644
--- a/cmd/minikube/cmd/docker-env_test.go
+++ b/cmd/minikube/cmd/docker-env_test.go
@@ -155,7 +155,7 @@ $Env:DOCKER_HOST = "tcp://192.168.0.1:2376"
 $Env:DOCKER_CERT_PATH = "/certs"
 $Env:MINIKUBE_ACTIVE_DOCKERD = "powershell"
 # To point your shell to minikube's docker-daemon, run:
-# & minikube -p powershell docker-env --shell powershell | Invoke-Expression
+# & minikube -p powershell docker-env | Invoke-Expression
 `,
 
 			`Remove-Item Env:\\DOCKER_TLS_VERIFY
@@ -175,7 +175,7 @@ SET DOCKER_HOST=tcp://192.168.0.1:2376
 SET DOCKER_CERT_PATH=/certs
 SET MINIKUBE_ACTIVE_DOCKERD=cmd
 REM To point your shell to minikube's docker-daemon, run:
-REM @FOR /f "tokens=*" %i IN ('minikube -p cmd docker-env --shell cmd') DO @%i
+REM @FOR /f "tokens=*" %i IN ('minikube -p cmd docker-env') DO @%i
 `,
 
 			`SET DOCKER_TLS_VERIFY=
@@ -261,7 +261,7 @@ $Env:DOCKER_CERT_PATH = "/certs"
 $Env:MINIKUBE_ACTIVE_DOCKERD = "powershell-no-proxy-idempotent"
 $Env:no_proxy = "192.168.0.1"
 # To point your shell to minikube's docker-daemon, run:
-# & minikube -p powershell-no-proxy-idempotent docker-env --shell powershell | Invoke-Expression
+# & minikube -p powershell-no-proxy-idempotent docker-env | Invoke-Expression
 `,
 
 			`Remove-Item Env:\\DOCKER_TLS_VERIFY
diff --git a/cmd/minikube/cmd/start_test.go b/cmd/minikube/cmd/start_test.go
index 1c7801664..fef084f0c 100644
--- a/cmd/minikube/cmd/start_test.go
+++ b/cmd/minikube/cmd/start_test.go
@@ -29,7 +29,6 @@ import (
 	cfg "k8s.io/minikube/pkg/minikube/config"
 	"k8s.io/minikube/pkg/minikube/constants"
 	"k8s.io/minikube/pkg/minikube/cruntime"
-	"k8s.io/minikube/pkg/minikube/detect"
 	"k8s.io/minikube/pkg/minikube/driver"
 	"k8s.io/minikube/pkg/minikube/proxy"
 )
@@ -433,11 +432,10 @@ func TestValidateRuntime(t *testing.T) {
 }
 
 func TestValidatePorts(t *testing.T) {
-	type portTest struct {
+	var tests = []struct {
 		ports    []string
 		errorMsg string
-	}
-	var tests = []portTest{
+	}{
 		{
 			ports:    []string{"test:80"},
 			errorMsg: "Sorry, one of the ports provided with --ports flag is not valid [test:80]",
@@ -446,17 +444,15 @@ func TestValidatePorts(t *testing.T) {
 			ports:    []string{"0:80"},
 			errorMsg: "Sorry, one of the ports provided with --ports flag is outside range [0:80]",
 		},
+		{
+			ports:    []string{"80:80"},
+			errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024) [80:80]",
+		},
 		{
 			ports:    []string{"8080:80", "6443:443"},
 			errorMsg: "",
 		},
 	}
-	if detect.IsMicrosoftWSL() {
-		tests = append(tests, portTest{
-			ports:    []string{"80:80"},
-			errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024) [80:80]",
-		})
-	}
 	for _, test := range tests {
 		t.Run(strings.Join(test.ports, ","), func(t *testing.T) {
 			gotError := ""
diff --git a/pkg/minikube/shell/shell_test.go b/pkg/minikube/shell/shell_test.go
index c926df79e..30aac5148 100644
--- a/pkg/minikube/shell/shell_test.go
+++ b/pkg/minikube/shell/shell_test.go
@@ -31,11 +31,11 @@ func TestGenerateUsageHint(t *testing.T) {
 		{EnvConfig{""}, `# foo
 # eval $(bar)`},
 		{EnvConfig{"powershell"}, `# foo
-# & bar --shell powershell | Invoke-Expression`},
+# & bar | Invoke-Expression`},
 		{EnvConfig{"bash"}, `# foo
 # eval $(bar)`},
-		{EnvConfig{"cmd"}, `REM foo
-REM @FOR /f "tokens=*" %i IN ('bar --shell cmd') DO @%i`},
+		{EnvConfig{"powershell"}, `# foo
+# & bar | Invoke-Expression`},
 		{EnvConfig{"emacs"}, `;; foo
 ;; (with-temp-buffer (shell-command "bar" (current-buffer)) (eval-buffer))`},
 		{EnvConfig{"fish"}, `# foo
diff --git a/test/integration/functional_test_mount_test.go b/test/integration/functional_test_mount_test.go
index 66941ae8d..05c7c0d8f 100644
--- a/test/integration/functional_test_mount_test.go
+++ b/test/integration/functional_test_mount_test.go
@@ -59,7 +59,6 @@ func validateMountCmd(ctx context.Context, t *testing.T, profile string) { // no
 	}
 
 	t.Run("any-port", func(t *testing.T) {
-		t.Skip("Skipping until https://github.com/kubernetes/minikube/issues/12301 is resolved.")
 		tempDir, err := os.MkdirTemp("", "mounttest")
 		defer func() { // clean up tempdir
 			err := os.RemoveAll(tempDir)
diff --git a/test/integration/scheduled_stop_test.go b/test/integration/scheduled_stop_test.go
index 33b95e3da..de5183cd0 100644
--- a/test/integration/scheduled_stop_test.go
+++ b/test/integration/scheduled_stop_test.go
@@ -94,30 +94,29 @@ func TestScheduledStopUnix(t *testing.T) {
 	}
 
 	// schedule a second stop which should cancel the first scheduled stop
-	stopMinikube(ctx, t, profile, []string{"--schedule", "15s"})
+	stopMinikube(ctx, t, profile, []string{"--schedule", "8s"})
 	if processRunning(t, pid) {
 		t.Fatalf("process %v running but should have been killed on reschedule of stop", pid)
 	}
-	pid = checkPID(t, profile)
+	checkPID(t, profile)
 
 	// cancel the shutdown and make sure minikube is still running after 8 seconds
 	// sleep 12 just to be safe
 	stopMinikube(ctx, t, profile, []string{"--cancel-scheduled"})
-	time.Sleep(25 * time.Second)
+	time.Sleep(12 * time.Second)
 	// make sure minikube status is "Running"
 	ensureMinikubeStatus(ctx, t, profile, "Host", state.Running.String())
 	// make sure minikube timetoStop is not present
 	ensureTimeToStopNotPresent(ctx, t, profile)
 
 	// schedule another stop, make sure minikube status is "Stopped"
-	stopMinikube(ctx, t, profile, []string{"--schedule", "15s"})
-	time.Sleep(15 * time.Second)
+	stopMinikube(ctx, t, profile, []string{"--schedule", "5s"})
 	if processRunning(t, pid) {
 		t.Fatalf("process %v running but should have been killed on reschedule of stop", pid)
 	}
 
 	// wait for stop to complete
-	time.Sleep(30 * time.Second)
+	time.Sleep(25 * time.Second)
 	// make sure minikube timetoStop is not present
 	ensureTimeToStopNotPresent(ctx, t, profile)
 	// make sure minikube status is "Stopped"
diff --git a/test/integration/version_upgrade_test.go b/test/integration/version_upgrade_test.go
index 7e3b7d4aa..e3812f537 100644
--- a/test/integration/version_upgrade_test.go
+++ b/test/integration/version_upgrade_test.go
@@ -154,14 +154,10 @@ func TestStoppedBinaryUpgrade(t *testing.T) {
 	defer CleanupWithLogs(t, profile, cancel)
 
 	desiredLegacyVersion := legacyVersion()
-	var tf *os.File
-	t.Run("Setup", func(t *testing.T) {
-		var err error
-		tf, err = installRelease(desiredLegacyVersion)
-		if err != nil {
-			t.Fatalf("%s release installation failed: %v", desiredLegacyVersion, err)
-		}
-	})
+	tf, err := installRelease(desiredLegacyVersion)
+	if err != nil {
+		t.Fatalf("%s release installation failed: %v", desiredLegacyVersion, err)
+	}
 	defer os.Remove(tf.Name())
 
 	t.Run("Upgrade", func(t *testing.T) {
@@ -196,7 +192,7 @@ func TestStoppedBinaryUpgrade(t *testing.T) {
 			t.Fatalf("legacy %s start failed: %v", desiredLegacyVersion, err)
 		}
 
-		rr, err := Run(t, exec.CommandContext(ctx, tf.Name(), "-p", profile, "stop"))
+		rr, err = Run(t, exec.CommandContext(ctx, tf.Name(), "-p", profile, "stop"))
 		if err != nil {
 			t.Errorf("failed to stop cluster: %s: %v", rr.Command(), err)
 		}