Repository: kubernetes/minikube
Pull request #17936 (2024-01-12 00:05:26)

Addons auto-pause: Remove memory leak & add configurable interval
What this PR accomplishes:
- Removes auto-pause memory leak related to multiple timers (https://github.com/kubernetes/minikube/issues/10596)
- Made auto-pause-interval configurable (https://github.com/kubernetes/minikube/issues/10595)

# Memory Leak
For details on the memory leak see the issue https://github.com/kubernetes/minikube/issues/10596.

A fix for the memory leak was originally implemented by @vishjain in https://github.com/kubernetes/minikube/pull/11909. The PR successful resolved the memory leak but introduced a bug where once the pods were paused `kubectl` commands failed with `Unable to connect to the server: EOF`, the PR was reverted in https://github.com/kubernetes/minikube/pull/17866.

I reimplemented the fix following @vishjain's main concept of using a [Ticker](https://pkg.go.dev/time#Ticker) in place of multiple [Timers](https://pkg.go.dev/time#Timer). Once the addon is enabled the ticker is started with a one minute interval, if any `kubectl` commands are executed before the one minute countdown concludes the ticker is reset and starts again. Once the one minute countdown concludes the ticker is indefinitely stopped and the pods are paused. If a `kubectl` command is executed while the pods are paused, the pods are unpaused, and then the ticker is reset and the cycle continues.

# Configurable Interval
A PR to implement a configurable interval for auto-pause was originally implemented by @wzslr321 in https://github.com/kubernetes/minikube/pull/17070. The PR had some issues related to loading configs that resulted in the auto-pause binary terminating and the addon not working, but all the logic around storing and configuring the interval value was well done and able to be reused. The PR was reverted in https://github.com/kubernetes/minikube/pull/17866 where more details on the config loading bug can be found.

For background, the auto-pause binary, which is where the ticker is, is its own separate binary from minikube. The binary exists inside the Kicbase/ISO itself and is ran via systemd. So in order the pass the interval value in I had to add a flag value to the auto-pause binary, and then when the auto-pause addon is enabled the interval flag is passed into the systemd unit file.
```
ExecStart=/bin/auto-pause --container-runtime={{.ContainerRuntime}} --interval={{.AutoPauseInterval}}
```
The interval can be configured in one of two ways, `--auto-pause-interval` during `minikube start` or `minikube addons configure auto-pause`. Both ways have validation to ensure a valid duration string is provided, and that the duration is greater than 0s, a negative or 0s duration will cause a panic in the Ticker.

# Follow up work
There's an issue with running `minikube addons configure auto-pause`, the value is successfully saved, but the value is not immediately updated in the auto-pause addon itself. The systemd unit file is updated, but then a `systemctl daemon-reload` & `systemctl restart auto-pause.service` both have to be run for the update to be reflected in the binary. Due to the already large size of this PR I'll leave it for a follow up.

k8s-ci-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/kubernetes/minikube/pull/17936#" title="Author self-approved">spowelljr</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=kubernetes%2Fminikube).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/kubernetes/minikube/blob/master/OWNERS)~~ [spowelljr]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
spowelljr: /ok-to-test
spowelljr: ok-to-build-iso
spowelljr: ok-to-build-image
minikube-pr-bot: **kvm2 driver with docker runtime**
```
+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 17936) |
+----------------+----------+---------------------+
| minikube start | 51.2s    | 50.9s               |
| enable ingress | 26.9s    | 26.6s               |
+----------------+----------+---------------------+
```

<details>

Times for minikube start: 48.4s 53.6s 51.1s 51.2s 51.5s 
Times for minikube (PR 17936) start: 51.2s 51.8s 49.5s 50.5s 51.7s 

Times for minikube ingress: 27.1s 25.2s 27.6s 27.2s 27.2s 
Times for minikube (PR 17936) ingress: 27.2s 28.6s 27.1s 23.2s 27.1s 

</details>

**docker driver with docker runtime**
```
+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 17936) |
+----------------+----------+---------------------+
| minikube start | 23.6s    | 22.7s               |
| enable ingress | 20.0s    | 19.9s               |
+----------------+----------+---------------------+
```

<details>

Times for minikube (PR 17936) start: 21.7s 24.0s 21.7s 21.7s 24.5s 
Times for minikube start: 24.4s 21.5s 24.4s 23.7s 23.9s 

Times for minikube ingress: 20.8s 19.8s 20.8s 20.8s 17.9s 
Times for minikube (PR 17936) ingress: 18.3s 18.8s 18.8s 21.8s 21.8s 

</details>

**docker driver with containerd runtime**
```
+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 17936) |
+----------------+----------+---------------------+
| minikube start | 21.2s    | 22.9s               |
| enable ingress | 31.5s    | 30.7s               |
+----------------+----------+---------------------+
```

<details>

Times for minikube start: 23.3s 21.0s 20.2s 21.2s 20.2s 
Times for minikube (PR 17936) start: 23.7s 23.5s 23.7s 23.5s 20.1s 

Times for minikube ingress: 31.3s 31.3s 32.3s 31.3s 31.4s 
Times for minikube (PR 17936) ingress: 30.3s 30.3s 31.3s 30.3s 31.3s 

</details>
minikube-pr-bot: **kvm2 driver with docker runtime**
```
+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 17936) |
+----------------+----------+---------------------+
| minikube start | 50.0s    | 51.6s               |
| enable ingress | 27.4s    | 25.5s               |
+----------------+----------+---------------------+
```

<details>

Times for minikube start: 49.8s 49.5s 52.2s 48.8s 50.0s 
Times for minikube (PR 17936) start: 53.5s 53.7s 49.7s 50.8s 50.5s 

Times for minikube ingress: 27.5s 27.5s 27.1s 30.1s 24.5s 
Times for minikube (PR 17936) ingress: 25.1s 27.7s 26.7s 25.1s 23.1s 

</details>

**docker driver with docker runtime**
```
+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 17936) |
+----------------+----------+---------------------+
| minikube start | 21.8s    | 22.0s               |
| enable ingress | 19.8s    | 20.7s               |
+----------------+----------+---------------------+
```

<details>

Times for minikube start: 21.3s 21.4s 23.9s 21.3s 21.3s 
Times for minikube (PR 17936) start: 21.5s 21.6s 23.6s 22.3s 21.0s 

Times for minikube (PR 17936) ingress: 20.8s 20.3s 20.8s 20.8s 20.8s 
Times for minikube ingress: 18.8s 19.8s 20.8s 18.8s 20.8s 

</details>

**docker driver with containerd runtime**
```
+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 17936) |
+----------------+----------+---------------------+
| minikube start | 21.5s    | 22.3s               |
| enable ingress | 31.7s    | 30.9s               |
+----------------+----------+---------------------+
```

<details>

Times for minikube start: 22.9s 20.9s 20.0s 23.5s 20.0s 
Times for minikube (PR 17936) start: 20.3s 23.1s 23.6s 21.3s 23.3s 

Times for minikube ingress: 30.3s 19.3s 30.3s 47.3s 31.3s 
Times for minikube (PR 17936) ingress: 32.3s 30.3s 31.3s 30.3s 30.3s 

</details>
minikube-pr-bot: These are the flake rates of all failed tests.
|Environment|Failed Tests|Flake Rate (%)|
|---|---|---|
|[Docker_Linux_crio_arm64](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64)|TestMissingContainerUpgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Docker_Linux_crio_arm64.html#fail_TestMissingContainerUpgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64&test=TestMissingContainerUpgrade))|
|[Docker_Linux_crio_arm64](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64)|TestMultiNode/serial/PingHostFrom2Pods ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Docker_Linux_crio_arm64.html#fail_TestMultiNode/serial/PingHostFrom2Pods))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64&test=TestMultiNode/serial/PingHostFrom2Pods))|
|[Docker_Linux_crio_arm64](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64)|TestRunningBinaryUpgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Docker_Linux_crio_arm64.html#fail_TestRunningBinaryUpgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64&test=TestRunningBinaryUpgrade))|
|[Docker_Linux_crio_arm64](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64)|TestStoppedBinaryUpgrade/Upgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Docker_Linux_crio_arm64.html#fail_TestStoppedBinaryUpgrade/Upgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64&test=TestStoppedBinaryUpgrade/Upgrade))|
|[Docker_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio)|TestMultiNode/serial/PingHostFrom2Pods ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Docker_Linux_crio.html#fail_TestMultiNode/serial/PingHostFrom2Pods))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio&test=TestMultiNode/serial/PingHostFrom2Pods))|
|[Docker_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio)|TestRunningBinaryUpgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Docker_Linux_crio.html#fail_TestRunningBinaryUpgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio&test=TestRunningBinaryUpgrade))|
|[Docker_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio)|TestStoppedBinaryUpgrade/Upgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Docker_Linux_crio.html#fail_TestStoppedBinaryUpgrade/Upgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio&test=TestStoppedBinaryUpgrade/Upgrade))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestCertOptions ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestCertOptions))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestCertOptions))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/AddNode ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/AddNode))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/AddNode))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/CopyFile ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/CopyFile))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/CopyFile))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/DeleteNode ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/DeleteNode))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/DeleteNode))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/DeployApp2Nodes ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/DeployApp2Nodes))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/DeployApp2Nodes))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/FreshStart2Nodes ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/FreshStart2Nodes))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/FreshStart2Nodes))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/MultiNodeLabels ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/MultiNodeLabels))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/MultiNodeLabels))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/ProfileList ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/ProfileList))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/ProfileList))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/StopMultiNode ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/StopMultiNode))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/StopMultiNode))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/StopNode ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/StopNode))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/StopNode))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/ValidateNameConflict ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/ValidateNameConflict))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/ValidateNameConflict))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestRunningBinaryUpgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestRunningBinaryUpgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestRunningBinaryUpgrade))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestScheduledStopWindows ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestScheduledStopWindows))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestScheduledStopWindows))|
|[KVM_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio)|TestMultiNode/serial/PingHostFrom2Pods ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/KVM_Linux_crio.html#fail_TestMultiNode/serial/PingHostFrom2Pods))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio&test=TestMultiNode/serial/PingHostFrom2Pods))|
|[KVM_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio)|TestRunningBinaryUpgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/KVM_Linux_crio.html#fail_TestRunningBinaryUpgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio&test=TestRunningBinaryUpgrade))|
|[KVM_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio)|TestStoppedBinaryUpgrade/Upgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/KVM_Linux_crio.html#fail_TestStoppedBinaryUpgrade/Upgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio&test=TestStoppedBinaryUpgrade/Upgrade))|
|[QEMU_macOS](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=QEMU_macOS)|TestStoppedBinaryUpgrade/MinikubeLogs ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/QEMU_macOS.html#fail_TestStoppedBinaryUpgrade/MinikubeLogs))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=QEMU_macOS&test=TestStoppedBinaryUpgrade/MinikubeLogs))|
|[QEMU_macOS](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=QEMU_macOS)|TestStoppedBinaryUpgrade/Setup ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/QEMU_macOS.html#fail_TestStoppedBinaryUpgrade/Setup))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=QEMU_macOS&test=TestStoppedBinaryUpgrade/Setup))|
|[KVM_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio)|TestAddons/parallel/CSI ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/KVM_Linux_crio.html#fail_TestAddons/parallel/CSI))|2.27 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio&test=TestAddons/parallel/CSI))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestCertExpiration ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestCertExpiration))|4.76 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestCertExpiration))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/StartAfterStop ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/StartAfterStop))|4.76 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/StartAfterStop))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestMultiNode/serial/RestartMultiNode ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestMultiNode/serial/RestartMultiNode))|5.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestMultiNode/serial/RestartMultiNode))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestStartStop/group/default-k8s-diff-port/serial/SecondStart ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32673/Hyper-V_Windows.html#fail_TestStartStop/group/default-k8s-diff-port/serial/SecondStart))|5.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestStartStop/group/default-k8s-diff-port/serial/SecondStart))|
|More tests...|Continued...|

Too many tests failed - See test logs for more details.

To see the flake rates of all tests by environment, click [here](https://minikube.sigs.k8s.io/docs/contrib/test_flakes/).
minikube-pr-bot: These are the flake rates of all failed tests.
|Environment|Failed Tests|Flake Rate (%)|
|---|---|---|
|[Docker_Linux_crio_arm64](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64)|TestMissingContainerUpgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Docker_Linux_crio_arm64.html#fail_TestMissingContainerUpgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64&test=TestMissingContainerUpgrade))|
|[Docker_Linux_crio_arm64](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64)|TestMultiNode/serial/PingHostFrom2Pods ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Docker_Linux_crio_arm64.html#fail_TestMultiNode/serial/PingHostFrom2Pods))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64&test=TestMultiNode/serial/PingHostFrom2Pods))|
|[Docker_Linux_crio_arm64](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64)|TestRunningBinaryUpgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Docker_Linux_crio_arm64.html#fail_TestRunningBinaryUpgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64&test=TestRunningBinaryUpgrade))|
|[Docker_Linux_crio_arm64](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64)|TestStoppedBinaryUpgrade/Upgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Docker_Linux_crio_arm64.html#fail_TestStoppedBinaryUpgrade/Upgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio_arm64&test=TestStoppedBinaryUpgrade/Upgrade))|
|[Docker_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio)|TestMultiNode/serial/PingHostFrom2Pods ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Docker_Linux_crio.html#fail_TestMultiNode/serial/PingHostFrom2Pods))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio&test=TestMultiNode/serial/PingHostFrom2Pods))|
|[Docker_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio)|TestRunningBinaryUpgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Docker_Linux_crio.html#fail_TestRunningBinaryUpgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio&test=TestRunningBinaryUpgrade))|
|[Docker_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio)|TestStoppedBinaryUpgrade/Upgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Docker_Linux_crio.html#fail_TestStoppedBinaryUpgrade/Upgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Docker_Linux_crio&test=TestStoppedBinaryUpgrade/Upgrade))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestNetworkPlugins/group/custom-flannel/Start ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Hyper-V_Windows.html#fail_TestNetworkPlugins/group/custom-flannel/Start))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestNetworkPlugins/group/custom-flannel/Start))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestRunningBinaryUpgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Hyper-V_Windows.html#fail_TestRunningBinaryUpgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestRunningBinaryUpgrade))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestStoppedBinaryUpgrade/Upgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Hyper-V_Windows.html#fail_TestStoppedBinaryUpgrade/Upgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestStoppedBinaryUpgrade/Upgrade))|
|[KVM_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio)|TestMultiNode/serial/PingHostFrom2Pods ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/KVM_Linux_crio.html#fail_TestMultiNode/serial/PingHostFrom2Pods))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio&test=TestMultiNode/serial/PingHostFrom2Pods))|
|[KVM_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio)|TestRunningBinaryUpgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/KVM_Linux_crio.html#fail_TestRunningBinaryUpgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio&test=TestRunningBinaryUpgrade))|
|[KVM_Linux_crio](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio)|TestStoppedBinaryUpgrade/Upgrade ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/KVM_Linux_crio.html#fail_TestStoppedBinaryUpgrade/Upgrade))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_crio&test=TestStoppedBinaryUpgrade/Upgrade))|
|[QEMU_macOS](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=QEMU_macOS)|TestStoppedBinaryUpgrade/MinikubeLogs ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/QEMU_macOS.html#fail_TestStoppedBinaryUpgrade/MinikubeLogs))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=QEMU_macOS&test=TestStoppedBinaryUpgrade/MinikubeLogs))|
|[QEMU_macOS](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=QEMU_macOS)|TestStoppedBinaryUpgrade/Setup ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/QEMU_macOS.html#fail_TestStoppedBinaryUpgrade/Setup))|0.00 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=QEMU_macOS&test=TestStoppedBinaryUpgrade/Setup))|
|[KVM_Linux_containerd](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_containerd)|TestAddons/parallel/LocalPath ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/KVM_Linux_containerd.html#fail_TestAddons/parallel/LocalPath))|0.79 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux_containerd&test=TestAddons/parallel/LocalPath))|
|[KVM_Linux](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux)|TestNoKubernetes/serial/StartNoArgs ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/KVM_Linux.html#fail_TestNoKubernetes/serial/StartNoArgs))|5.04 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=KVM_Linux&test=TestNoKubernetes/serial/StartNoArgs))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestFunctional/parallel/ServiceCmd/Format ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Hyper-V_Windows.html#fail_TestFunctional/parallel/ServiceCmd/Format))|9.52 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestFunctional/parallel/ServiceCmd/Format))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestFunctional/parallel/ServiceCmd/HTTPS ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Hyper-V_Windows.html#fail_TestFunctional/parallel/ServiceCmd/HTTPS))|9.52 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestFunctional/parallel/ServiceCmd/HTTPS))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestFunctional/parallel/ServiceCmd/URL ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Hyper-V_Windows.html#fail_TestFunctional/parallel/ServiceCmd/URL))|9.52 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestFunctional/parallel/ServiceCmd/URL))|
|[Hyper-V_Windows](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows)|TestNoKubernetes/serial/StartWithK8s ([gopogh](https://storage.googleapis.com/minikube-builds/logs/17936/32671/Hyper-V_Windows.html#fail_TestNoKubernetes/serial/StartWithK8s))|33.33 ([chart](https://gopogh-server-tts3vkcpgq-uc.a.run.app/?env=Hyper-V_Windows&test=TestNoKubernetes/serial/StartWithK8s))|


To see the flake rates of all tests by environment, click [here](https://minikube.sigs.k8s.io/docs/contrib/test_flakes/).

Patch:
diff --git a/Makefile b/Makefile
index ab676e11b..33a91c04d 100644
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,7 @@ KIC_VERSION ?= $(shell grep -E "Version =" pkg/drivers/kic/types.go | cut -d \"
 HUGO_VERSION ?= $(shell grep -E "HUGO_VERSION = \"" netlify.toml | cut -d \" -f2)
 
 # Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions
-ISO_VERSION ?= v1.32.1-1703784139-17866
+ISO_VERSION ?= v1.32.1-1708020063-17936
 
 # Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta
 DEB_VERSION ?= $(subst -,~,$(RAW_VERSION))
diff --git a/cmd/auto-pause/auto-pause.go b/cmd/auto-pause/auto-pause.go
index 17d3a998f..906a37515 100644
--- a/cmd/auto-pause/auto-pause.go
+++ b/cmd/auto-pause/auto-pause.go
@@ -28,25 +28,24 @@ import (
 	"k8s.io/minikube/pkg/minikube/command"
 	"k8s.io/minikube/pkg/minikube/cruntime"
 	"k8s.io/minikube/pkg/minikube/exit"
-	"k8s.io/minikube/pkg/minikube/out"
 	"k8s.io/minikube/pkg/minikube/reason"
-	"k8s.io/minikube/pkg/minikube/style"
 )
 
-var unpauseRequests = make(chan struct{})
-var done = make(chan struct{})
-var mu sync.Mutex
+var (
+	unpauseRequests = make(chan struct{})
+	done            = make(chan struct{})
+	mu              sync.Mutex
+	runtimePaused   bool
+	version         = "0.0.1"
 
-var runtimePaused bool
-var version = "0.0.1"
-
-var runtime = flag.String("container-runtime", "docker", "Container runtime to use for (un)pausing")
+	runtime  = flag.String("container-runtime", "docker", "Container runtime to use for (un)pausing")
+	interval = flag.Duration("interval", time.Minute*1, "Interval of inactivity for pause to occur")
+)
 
 func main() {
 	flag.Parse()
 
-	// TODO: #10595 make this configurable
-	const interval = time.Minute * 1
+	tickerChannel := time.NewTicker(*interval)
 
 	// Check current state
 	alreadyPaused()
@@ -54,16 +53,15 @@ func main() {
 	// channel for incoming messages
 	go func() {
 		for {
-			// On each iteration new timer is created
 			select {
-			// TODO: #10596 make it memory-leak proof
-			case <-time.After(interval):
+			case <-tickerChannel.C:
+				tickerChannel.Stop()
 				runPause()
 			case <-unpauseRequests:
-				fmt.Printf("Got request\n")
-				if runtimePaused {
-					runUnpause()
-				}
+				tickerChannel.Stop()
+				log.Println("Got request")
+				runUnpause()
+				tickerChannel.Reset(*interval)
 
 				done <- struct{}{}
 			}
@@ -86,9 +84,10 @@ func runPause() {
 	mu.Lock()
 	defer mu.Unlock()
 	if runtimePaused {
-		out.Styled(style.AddonEnable, "Auto-pause is already enabled.")
+		log.Println("Already paused, skipping")
 		return
 	}
+	log.Println("Pausing...")
 
 	r := command.NewExecRunner(true)
 
@@ -104,13 +103,17 @@ func runPause() {
 
 	runtimePaused = true
 
-	out.Step(style.Unpause, "Paused {{.count}} containers", out.V{"count": len(uids)})
+	log.Printf("Paused %d containers", len(uids))
 }
 
 func runUnpause() {
-	fmt.Println("unpausing...")
 	mu.Lock()
 	defer mu.Unlock()
+	if !runtimePaused {
+		log.Println("Already unpaused, skipping")
+		return
+	}
+	log.Println("Unpausing...")
 
 	r := command.NewExecRunner(true)
 
@@ -125,7 +128,7 @@ func runUnpause() {
 	}
 	runtimePaused = false
 
-	out.Step(style.Unpause, "Unpaused {{.count}} containers", out.V{"count": len(uids)})
+	log.Printf("Unpaused %d containers", len(uids))
 }
 
 func alreadyPaused() {
@@ -142,5 +145,5 @@ func alreadyPaused() {
 	if err != nil {
 		exit.Error(reason.GuestCheckPaused, "Fail check if container paused", err)
 	}
-	out.Step(style.Check, "containers paused status: {{.paused}}", out.V{"paused": runtimePaused})
+	log.Printf("containers paused status: %t", runtimePaused)
 }
diff --git a/cmd/minikube/cmd/config/configure.go b/cmd/minikube/cmd/config/configure.go
index a877d49b8..2ae84602e 100644
--- a/cmd/minikube/cmd/config/configure.go
+++ b/cmd/minikube/cmd/config/configure.go
@@ -20,6 +20,7 @@ import (
 	"net"
 	"os"
 	"regexp"
+	"time"
 
 	"github.com/spf13/cobra"
 	"k8s.io/minikube/pkg/addons"
@@ -45,6 +46,8 @@ var addonsConfigureCmd = &cobra.Command{
 			exit.Message(reason.Usage, "usage: minikube addons configure ADDON_NAME")
 		}
 
+		profile := ClusterFlagValue()
+
 		addon := args[0]
 		// allows for additional prompting of information when enabling addons
 		switch addon {
@@ -109,12 +112,11 @@ var addonsConfigureCmd = &cobra.Command{
 				acrPassword = AskForPasswordValue("-- Enter service principal password to access Azure Container Registry: ")
 			}
 
-			cname := ClusterFlagValue()
 			namespace := "kube-system"
 
 			// Create ECR Secret
 			err := service.CreateSecret(
-				cname,
+				profile,
 				namespace,
 				"registry-creds-ecr",
 				map[string]string{
@@ -136,7 +138,7 @@ var addonsConfigureCmd = &cobra.Command{
 
 			// Create GCR Secret
 			err = service.CreateSecret(
-				cname,
+				profile,
 				namespace,
 				"registry-creds-gcr",
 				map[string]string{
@@ -155,7 +157,7 @@ var addonsConfigureCmd = &cobra.Command{
 
 			// Create Docker Secret
 			err = service.CreateSecret(
-				cname,
+				profile,
 				namespace,
 				"registry-creds-dpr",
 				map[string]string{
@@ -175,7 +177,7 @@ var addonsConfigureCmd = &cobra.Command{
 
 			// Create Azure Container Registry Secret
 			err = service.CreateSecret(
-				cname,
+				profile,
 				namespace,
 				"registry-creds-acr",
 				map[string]string{
@@ -194,7 +196,6 @@ var addonsConfigureCmd = &cobra.Command{
 			}
 
 		case "metallb":
-			profile := ClusterFlagValue()
 			_, cfg := mustload.Partial(profile)
 
 			validator := func(s string) bool {
@@ -214,7 +215,6 @@ var addonsConfigureCmd = &cobra.Command{
 				out.ErrT(style.Fatal, "Failed to configure metallb IP {{.profile}}", out.V{"profile": profile})
 			}
 		case "ingress":
-			profile := ClusterFlagValue()
 			_, cfg := mustload.Partial(profile)
 
 			validator := func(s string) bool {
@@ -236,7 +236,6 @@ var addonsConfigureCmd = &cobra.Command{
 				out.ErrT(style.Fatal, "Failed to save config {{.profile}}", out.V{"profile": profile})
 			}
 		case "registry-aliases":
-			profile := ClusterFlagValue()
 			_, cfg := mustload.Partial(profile)
 			validator := func(s string) bool {
 				format := regexp.MustCompile(`^([a-zA-Z0-9-_]+\.[a-zA-Z0-9-_]+)+(\ [a-zA-Z0-9-_]+\.[a-zA-Z0-9-_]+)*$`)
@@ -255,7 +254,27 @@ var addonsConfigureCmd = &cobra.Command{
 					out.ErrT(style.Fatal, "Failed to configure registry-aliases {{.profile}}", out.V{"profile": profile})
 				}
 			}
-
+		case "auto-pause":
+			_, cfg := mustload.Partial(profile)
+			intervalInput := AskForStaticValue("-- Enter interval time of auto-pause-interval (ex. 1m0s): ")
+			intervalTime, err := time.ParseDuration(intervalInput)
+			if err != nil {
+				out.ErrT(style.Fatal, "Interval is an invalid duration: {{.error}}", out.V{"error": err})
+			}
+			if intervalTime != intervalTime.Abs() || intervalTime.String() == "0s" {
+				out.ErrT(style.Fatal, "Interval must be greater than 0s")
+			}
+			cfg.AutoPauseInterval = intervalTime
+			if err := config.SaveProfile(profile, cfg); err != nil {
+				out.ErrT(style.Fatal, "Failed to save config {{.profile}}", out.V{"profile": profile})
+			}
+			addon := assets.Addons["auto-pause"]
+			if addon.IsEnabled(cfg) {
+				// Re-enable auto-pause addon in order to update interval time
+				if err := addons.EnableOrDisableAddon(cfg, "auto-pause", "true"); err != nil {
+					out.ErrT(style.Fatal, "Failed to configure auto-pause {{.profile}}", out.V{"profile": profile})
+				}
+			}
 		default:
 			out.FailureT("{{.name}} has no available configuration options", out.V{"name": addon})
 			return
diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go
index 73509071b..fc18fc314 100644
--- a/cmd/minikube/cmd/start.go
+++ b/cmd/minikube/cmd/start.go
@@ -31,6 +31,7 @@ import (
 	"sort"
 	"strconv"
 	"strings"
+	"time"
 
 	"github.com/Delta456/box-cli-maker/v2"
 	"github.com/blang/semver/v4"
@@ -1249,7 +1250,7 @@ func validateCPUCount(drvName string) {
 }
 
 // validateFlags validates the supplied flags against known bad combinations
-func validateFlags(cmd *cobra.Command, drvName string) {
+func validateFlags(cmd *cobra.Command, drvName string) { //nolint:gocyclo
 	if cmd.Flags().Changed(humanReadableDiskSize) {
 		err := validateDiskSize(viper.GetString(humanReadableDiskSize))
 		if err != nil {
@@ -1315,6 +1316,12 @@ func validateFlags(cmd *cobra.Command, drvName string) {
 		}
 	}
 
+	if cmd.Flags().Changed(autoPauseInterval) {
+		if err := validateAutoPauseInterval(viper.GetDuration(autoPauseInterval)); err != nil {
+			exit.Message(reason.Usage, "{{.err}}", out.V{"err": err})
+		}
+	}
+
 	if driver.IsSSH(drvName) {
 		sshIPAddress := viper.GetString(sshIPAddress)
 		if sshIPAddress == "" {
@@ -1476,6 +1483,13 @@ func validateGPUsArch() error {
 	return errors.Errorf("The GPUs flag is only supported on amd64, arm64 & ppc64le, currently using %s", runtime.GOARCH)
 }
 
+func validateAutoPauseInterval(interval time.Duration) error {
+	if interval != interval.Abs() || interval.String() == "0s" {
+		return errors.New("auto-pause-interval must be greater than 0s")
+	}
+	return nil
+}
+
 func getContainerRuntime(old *config.ClusterConfig) string {
 	paramRuntime := viper.GetString(containerRuntime)
 
diff --git a/cmd/minikube/cmd/start_flags.go b/cmd/minikube/cmd/start_flags.go
index 5be215b85..7ba89f6c0 100644
--- a/cmd/minikube/cmd/start_flags.go
+++ b/cmd/minikube/cmd/start_flags.go
@@ -142,6 +142,7 @@ const (
 	socketVMnetPath         = "socket-vmnet-path"
 	staticIP                = "static-ip"
 	gpus                    = "gpus"
+	autoPauseInterval       = "auto-pause-interval"
 )
 
 var (
@@ -204,6 +205,7 @@ func initMinikubeFlags() {
 	startCmd.Flags().Bool(disableMetrics, false, "If set, disables metrics reporting (CPU and memory usage), this can improve CPU usage. Defaults to false.")
 	startCmd.Flags().String(staticIP, "", "Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only)")
 	startCmd.Flags().StringP(gpus, "g", "", "Allow pods to use your NVIDIA GPUs. Options include: [all,nvidia] (Docker driver with Docker container-runtime only)")
+	startCmd.Flags().Duration(autoPauseInterval, time.Minute*1, "Duration of inactivity before the minikube VM is paused (default 1m0s)")
 }
 
 // initKubernetesFlags inits the commandline flags for Kubernetes related options
@@ -603,6 +605,7 @@ func generateNewConfigFromFlags(cmd *cobra.Command, k8sVersion string, rtime str
 		},
 		MultiNodeRequested: viper.GetInt(nodes) > 1,
 		GPUs:               viper.GetString(gpus),
+		AutoPauseInterval:  viper.GetDuration(autoPauseInterval),
 	}
 	cc.VerifyComponents = interpretWaitFlag(*cmd)
 	if viper.GetBool(createMount) && driver.IsKIC(drvName) {
@@ -817,6 +820,7 @@ func updateExistingConfigFromFlags(cmd *cobra.Command, existing *config.ClusterC
 	updateStringFromFlag(cmd, &cc.CustomQemuFirmwarePath, qemuFirmwarePath)
 	updateStringFromFlag(cmd, &cc.SocketVMnetClientPath, socketVMnetClientPath)
 	updateStringFromFlag(cmd, &cc.SocketVMnetPath, socketVMnetPath)
+	updateDurationFromFlag(cmd, &cc.AutoPauseInterval, autoPauseInterval)
 
 	if cmd.Flags().Changed(kubernetesVersion) {
 		kubeVer, err := getKubernetesVersion(existing)
diff --git a/deploy/addons/auto-pause/auto-pause.service.tmpl b/deploy/addons/auto-pause/auto-pause.service.tmpl
index 0a5260a7b..5e52966b1 100644
--- a/deploy/addons/auto-pause/auto-pause.service.tmpl
+++ b/deploy/addons/auto-pause/auto-pause.service.tmpl
@@ -3,7 +3,7 @@ Description=Auto Pause Service
 
 [Service]
 Type=simple
-ExecStart=/bin/auto-pause --container-runtime={{.ContainerRuntime}}
+ExecStart=/bin/auto-pause --container-runtime={{.ContainerRuntime}} --interval={{.AutoPauseInterval}}
 Restart=always
 
 [Install]
diff --git a/pkg/drivers/kic/types.go b/pkg/drivers/kic/types.go
index f4b3de8c6..cdcb82428 100644
--- a/pkg/drivers/kic/types.go
+++ b/pkg/drivers/kic/types.go
@@ -24,10 +24,10 @@ import (
 
 const (
 	// Version is the current version of kic
-	Version = "v0.0.42-1704759386-17866"
+	Version = "v0.0.42-1708008208-17936"
 
 	// SHA of the kic base image
-	baseImageSHA = "8c3c33047f9bc285e1f5f2a5aa14744a2fe04c58478f02f77b06169dea8dd3f0"
+	baseImageSHA = "4ea1136332ba1476cda33a97bf12e2f96995cc120674fbafd3ade22d1118ecdf"
 	// The name of the GCR kicbase repository
 	gcrRepo = "gcr.io/k8s-minikube/kicbase-builds"
 	// The name of the Dockerhub kicbase repository
diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go
index de8c41d1b..d0d5f51f3 100644
--- a/pkg/minikube/assets/addons.go
+++ b/pkg/minikube/assets/addons.go
@@ -21,6 +21,7 @@ import (
 	"os"
 	"runtime"
 	"strings"
+	"time"
 
 	semver "github.com/blang/semver/v4"
 	"github.com/pkg/errors"
@@ -937,6 +938,7 @@ func GenerateTemplateData(addon *Addon, cc *config.ClusterConfig, netInfo Networ
 		Environment             map[string]string
 		LegacyPodSecurityPolicy bool
 		LegacyRuntimeClass      bool
+		AutoPauseInterval       time.Duration
 	}{
 		KubernetesVersion:      make(map[string]uint64),
 		PreOneTwentyKubernetes: false,
@@ -958,6 +960,7 @@ func GenerateTemplateData(addon *Addon, cc *config.ClusterConfig, netInfo Networ
 		},
 		LegacyPodSecurityPolicy: v.LT(semver.Version{Major: 1, Minor: 25}),
 		LegacyRuntimeClass:      v.LT(semver.Version{Major: 1, Minor: 25}),
+		AutoPauseInterval:       cc.AutoPauseInterval,
 	}
 	if opts.ImageRepository != "" && !strings.HasSuffix(opts.ImageRepository, "/") {
 		opts.ImageRepository += "/"
diff --git a/pkg/minikube/config/types.go b/pkg/minikube/config/types.go
index 3a3e96212..f9e3e8225 100644
--- a/pkg/minikube/config/types.go
+++ b/pkg/minikube/config/types.go
@@ -108,6 +108,7 @@ type ClusterConfig struct {
 	SSHAuthSock             string
 	SSHAgentPID             int
 	GPUs                    string
+	AutoPauseInterval       time.Duration // Specifies interval of time to wait before checking if cluster should be paused
 }
 
 // KubernetesConfig contains the parameters used to configure the VM Kubernetes.
diff --git a/pkg/minikube/download/iso.go b/pkg/minikube/download/iso.go
index 315e9254e..04ee2bad8 100644
--- a/pkg/minikube/download/iso.go
+++ b/pkg/minikube/download/iso.go
@@ -41,7 +41,7 @@ const fileScheme = "file"
 // DefaultISOURLs returns a list of ISO URL's to consult by default, in priority order
 func DefaultISOURLs() []string {
 	v := version.GetISOVersion()
-	isoBucket := "minikube-builds/iso/17866"
+	isoBucket := "minikube-builds/iso/17936"
 
 	return []string{
 		fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s-%s.iso", isoBucket, v, runtime.GOARCH),
diff --git a/site/content/en/docs/commands/start.md b/site/content/en/docs/commands/start.md
index c3b6043a1..f4cbf83d4 100644
--- a/site/content/en/docs/commands/start.md
+++ b/site/content/en/docs/commands/start.md
@@ -25,8 +25,9 @@ minikube start [flags]
       --apiserver-name string             The authoritative apiserver hostname for apiserver certificates and connectivity. This can be used if you want to make the apiserver available from outside the machine (default "minikubeCA")
       --apiserver-names strings           A set of apiserver names which are used in the generated certificate for kubernetes.  This can be used if you want to make the apiserver available from outside the machine
       --apiserver-port int                The apiserver listening port (default 8443)
+      --auto-pause-interval duration      Duration of inactivity before the minikube VM is paused (default 1m0s) (default 1m0s)
       --auto-update-drivers               If set, automatically updates drivers to the latest version. Defaults to true. (default true)
-      --base-image string                 The base image to use for docker/podman drivers. Intended for local development. (default "gcr.io/k8s-minikube/kicbase-builds:v0.0.42-1704759386-17866@sha256:8c3c33047f9bc285e1f5f2a5aa14744a2fe04c58478f02f77b06169dea8dd3f0")
+      --base-image string                 The base image to use for docker/podman drivers. Intended for local development. (default "gcr.io/k8s-minikube/kicbase-builds:v0.0.42-1708008208-17936@sha256:4ea1136332ba1476cda33a97bf12e2f96995cc120674fbafd3ade22d1118ecdf")
       --binary-mirror string              Location to fetch kubectl, kubelet, & kubeadm binaries from.
       --cache-images                      If true, cache docker images for the current bootstrapper and load them into the machine. Always false with --driver=none. (default true)
       --cert-expiration duration          Duration until minikube certificate expiration, defaults to three years (26280h). (default 26280h0m0s)
diff --git a/translations/de.json b/translations/de.json
index ce812b9e1..0246b4c93 100644
--- a/translations/de.json
+++ b/translations/de.json
@@ -183,6 +183,7 @@
 	"Downloading driver {{.driver}}:": "Lade Treiber {{.driver}} herunter:",
 	"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "Aufgrund von DNS-Problemen könnte der Cluster Probleme beim Starten haben und möglicherweise nicht in der Lage sein Images zu laden.\nWeitere Informationen finden sich unter: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues",
 	"Due to changes in macOS 13+ minikube doesn't currently support VirtualBox. You can use alternative drivers such as docker or {{.driver}}.\n    https://minikube.sigs.k8s.io/docs/drivers/docker/\n    https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}/\n\n    For more details on the issue see: https://github.com/kubernetes/minikube/issues/15274\n": "Aufgrund von Änderungen in macOS 13+ unterstützt Minikube derzeit VirtualBox nicht. Sie können alternative Treiber verwenden, wie z.B. Docker oder {{.driver}}.\nhttps://minikube.sigs.k8s.io/docs/drivers/docker/\n    https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}/\n\n    Weitere Informationen finden sich in folgendem Issue: https://github.com/kubernetes/minikube/issues/15274\n",
+	"Duration of inactivity before the minikube VM is paused (default 1m0s)": "",
 	"Duration of inactivity before the minikube VM is paused (default 1m0s).  To disable, set to 0s": "Dauer von Inaktivität bevor Minikube VMs pausiert werden (default 1m0s). Zum deaktivieren, den Wert auf 0s setzen",
 	"Duration until minikube certificate expiration, defaults to three years (26280h).": "Dauer bis das Minikube-Zertifikat abläuft, Default ist drei Jahre (26280 Stunden).",
 	"ERROR creating `registry-creds-acr` secret": "Fehler beim Erstellen des `registry-creds-acr` Secrets",
@@ -261,6 +262,7 @@
 	"Failed to cache kubectl": "Cachen von kubectl fehlgeschlagen",
 	"Failed to change permissions for {{.minikube_dir_path}}: {{.error}}": "Fehler beim Ändern der Berechtigungen für {{.minikube_dir_path}}: {{.error}}",
 	"Failed to check main repository and mirrors for images": "Prüfen des Haupt-Repositories und der Mirrors für Images fehlgeschlagen",
+	"Failed to configure auto-pause {{.profile}}": "",
 	"Failed to configure metallb IP {{.profile}}": "Konfiguration der metallb IP {{.profile}} fehlgeschlagen",
 	"Failed to configure registry-aliases {{.profile}}": "Konfigurieren von registry-aliases fehlgeschlagen {{.profile}}",
 	"Failed to create file": "Erstellen der Datei fehlgeschlagen",
@@ -393,6 +395,8 @@
 	"Insecure Docker registries to pass to the Docker daemon. The default service CIDR range will automatically be added.": "Unsichere Docker-Registrys, die an den Docker-Daemon übergeben werden. Der CIDR-Bereich des Standarddienstes wird automatisch hinzugefügt.",
 	"Install VirtualBox and ensure it is in the path, or select an alternative value for --driver": "Installieren Sie VirtualBox und stellen Sie sicher, dass es im Pfad ist. Alternativ verwenden Sie einen anderen --driver",
 	"Install the latest hyperkit binary, and run 'minikube delete'": "Installieren Sie das aktuellste hyperkit-Binary und führen Sie 'minikube delete' aus",
+	"Interval is an invalid duration: {{.error}}": "",
+	"Interval must be greater than 0s": "",
 	"Invalid port": "Falscher Port",
 	"Istio needs {{.minCPUs}} CPUs -- your configuration only allocates {{.cpus}} CPUs": "Istio benötigt {{.minCPUs}} CPUs -- Ihre Konfiguration reserviert nur {{.cpus}} CPUs",
 	"Istio needs {{.minMem}}MB of memory -- your configuration only allocates {{.memory}}MB": "Istio benötigt {{.minMem}}MB Speicher -- Ihre Konfiguration reserviert nur {{.memory}}MB",
diff --git a/translations/es.json b/translations/es.json
index 12a767c14..fa4aca027 100644
--- a/translations/es.json
+++ b/translations/es.json
@@ -77,7 +77,6 @@
 	"Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "Otro programa está usando un archivo requerido por minikube. Si estas usando Hyper-V, intenta detener la máquina virtual de minikube desde el administrador de Hyper-V",
 	"Another tunnel process is already running, terminate the existing instance to start a new one": "",
 	"At least needs control plane nodes to enable addon": "Al menos se necesita un nodo de plano de control para habilitar el addon",
-	"Auto-pause is already enabled.": "",
 	"Automatically selected the {{.driver}} driver": "Controlador {{.driver}} seleccionado automáticamente",
 	"Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "Controlador {{.driver}} seleccionado automáticamente. Otras opciones: {{.alternates}}",
 	"Automatically selected the {{.network}} network": "",
@@ -191,6 +190,7 @@
 	"Due to issues with CRI-O post v1.17.3, we need to restart your cluster.": "Debido a problemas con CRI-O post v1.17.3, necesitamos reiniciar tu cluster.",
 	"Due to networking limitations of driver {{.driver_name}} on {{.os_name}}, {{.addon_name}} addon is not supported.\nAlternatively to use this addon you can use a vm-based driver:\n\n\t'minikube start --vm=true'\n\nTo track the update on this work in progress feature please check:\nhttps://github.com/kubernetes/minikube/issues/7332": "Debido a las limitaciones de red del controlador {{.driver_name}} en {{.os_name}}, el complemento \"{{.addon_name}}\" no está soportado.\nPara usar este complemento, puedes utilizar un controlador basado en vm\n\n\t'minikube start --vm=true'\n\nPara realizar un seguimiento de las actualizaciones de esta función consulte:\nhttps://github.com/kubernetes/minikube/issues/7332",
 	"Due to networking limitations of driver {{.driver_name}}, {{.addon_name}} addon is not supported. Try using a different driver.": "Debido a limitaciones de red del controlador {{.driver_name}}, el complemento \"{{.addon_name}}\" no está soportado. Intenta usar un controlador diferente.",
+	"Duration of inactivity before the minikube VM is paused (default 1m0s)": "",
 	"Duration until minikube certificate expiration, defaults to three years (26280h).": "",
 	"ERROR creating `registry-creds-acr` secret": "ERROR creando el secreto `registry-creds-acr`",
 	"ERROR creating `registry-creds-dpr` secret": "ERROR creando el secreto `registry-creds-dpr`",
@@ -268,6 +268,7 @@
 	"Failed to cache kubectl": "",
 	"Failed to change permissions for {{.minikube_dir_path}}: {{.error}}": "No se han podido cambiar los permisos de {{.minikube_dir_path}}: {{.error}}",
 	"Failed to check main repository and mirrors for images": "",
+	"Failed to configure auto-pause {{.profile}}": "",
 	"Failed to configure metallb IP {{.profile}}": "",
 	"Failed to configure registry-aliases {{.profile}}": "",
 	"Failed to create file": "No se pudo crear el fichero",
@@ -394,6 +395,8 @@
 	"Insecure Docker registries to pass to the Docker daemon. The default service CIDR range will automatically be added.": "Registros de Docker que no son seguros y que se transferirán al daemon de Docker. Se añadirá automáticamente el intervalo CIDR de servicio predeterminado.",
 	"Install VirtualBox and ensure it is in the path, or select an alternative value for --driver": "",
 	"Install the latest hyperkit binary, and run 'minikube delete'": "",
+	"Interval is an invalid duration: {{.error}}": "",
+	"Interval must be greater than 0s": "",
 	"Invalid port": "",
 	"Istio needs {{.minCPUs}} CPUs -- your configuration only allocates {{.cpus}} CPUs": "",
 	"Istio needs {{.minMem}}MB of memory -- your configuration only allocates {{.memory}}MB": "",
@@ -960,7 +963,6 @@
 	"cannot specify --kubernetes-version with --no-kubernetes,\nto unset a global config run:\n\n$ minikube config unset kubernetes-version": "",
 	"config modifies minikube config files using subcommands like \"minikube config set driver kvm2\"\nConfigurable fields: \n\n": "",
 	"config view failed": "",
-	"containers paused status: {{.paused}}": "",
 	"dashboard": "",
 	"dashboard service is not running: {{.error}}": "",
 	"delete ctx": "",
diff --git a/translations/fr.json b/translations/fr.json
index 12070c29f..48facdac8 100644
--- a/translations/fr.json
+++ b/translations/fr.json
@@ -186,6 +186,7 @@
 	"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "En raison de problèmes DNS, votre cluster peut avoir des problèmes de démarrage et vous ne pourrez peut-être pas extraire d'images\nPlus de détails disponibles sur : https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues",
 	"Due to changes in macOS 13+ minikube doesn't currently support VirtualBox. You can use alternative drivers such as docker or {{.driver}}.\n    https://minikube.sigs.k8s.io/docs/drivers/docker/\n    https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}/\n\n    For more details on the issue see: https://github.com/kubernetes/minikube/issues/15274\n": "En raison de changements dans macOS 13+, minikube ne prend actuellement pas en charge VirtualBox. Vous pouvez utiliser des pilotes alternatifs tels que docker ou {{.driver}}.\n    https://minikube.sigs.k8s.io/docs/drivers/docker/\n    https://minikube.sigs.k8s.io/ docs/drivers/{{.driver}}/\n\n    Pour plus de détails sur le problème, voir : https://github.com/kubernetes/minikube/issues/15274\n",
 	"Due to security improvements to minikube the VMware driver is currently not supported. Available workarounds are to use a different driver or downgrade minikube to v1.29.0.\n\n    We are accepting community contributions to fix this, for more details on the issue see: https://github.com/kubernetes/minikube/issues/16221\n": "En raison des améliorations de sécurité apportées à minikube, le pilote VMware n'est actuellement pas pris en charge. Les solutions de contournement disponibles consistent à utiliser un pilote différent ou à rétrograder minikube vers la v1.29.0.\n\n Nous acceptons les contributions de la communauté pour résoudre ce problème, pour plus de détails sur le problème, consultez : https://github.com/kubernetes/minikube/issues /16221\n",
+	"Duration of inactivity before the minikube VM is paused (default 1m0s)": "",
 	"Duration of inactivity before the minikube VM is paused (default 1m0s).  To disable, set to 0s": "Durée d'inactivité avant la mise en pause de la VM minikube (par défaut 1m0s). Pour désactiver, réglez sur 0s",
 	"Duration until minikube certificate expiration, defaults to three years (26280h).": "Durée jusqu'à l'expiration du certificat minikube, par défaut à trois ans (26280h).",
 	"ERROR creating `registry-creds-acr` secret": "ERREUR lors de la création du secret `registry-creds-acr`",
@@ -258,6 +259,7 @@
 	"Failed to cache kubectl": "Échec de la mise en cache de kubectl",
 	"Failed to change permissions for {{.minikube_dir_path}}: {{.error}}": "Échec de la modification des autorisations pour {{.minikube_dir_path}} : {{.error}}",
 	"Failed to check main repository and mirrors for images": "Échec de la vérification du référentiel principal et des miroirs pour les images",
+	"Failed to configure auto-pause {{.profile}}": "",
 	"Failed to configure metallb IP {{.profile}}": "Échec de la configuration de metallb IP {{.profile}}",
 	"Failed to configure network plugin": "Échec de la configuration du plug-in réseau",
 	"Failed to configure registry-aliases {{.profile}}": "Échec de la configuration des alias de registre {{.profile}}",
@@ -388,6 +390,8 @@
 	"Install VirtualBox and ensure it is in the path, or select an alternative value for --driver": "Installez VirtualBox et assurez-vous qu'il est dans le chemin, ou sélectionnez une valeur alternative pour --driver",
 	"Install the latest hyperkit binary, and run 'minikube delete'": "Installez le dernier binaire hyperkit et exécutez 'minikube delete'",
 	"Installing the NVIDIA Container Toolkit...": "Installation de NVIDIA Container Toolkit...",
+	"Interval is an invalid duration: {{.error}}": "",
+	"Interval must be greater than 0s": "",
 	"Invalid port": "Port invalide",
 	"Istio needs {{.minCPUs}} CPUs -- your configuration only allocates {{.cpus}} CPUs": "Istio a besoin de {{.minCPUs}} processeurs -- votre configuration n'alloue que {{.cpus}} processeurs",
 	"Istio needs {{.minMem}}MB of memory -- your configuration only allocates {{.memory}}MB": "Istio a besoin de {{.minMem}}Mo de mémoire -- votre configuration n'alloue que {{.memory}}Mo",
diff --git a/translations/ja.json b/translations/ja.json
index 3f8584ce0..e1ad7f9b2 100644
--- a/translations/ja.json
+++ b/translations/ja.json
@@ -175,6 +175,7 @@
 	"Downloading driver {{.driver}}:": "{{.driver}} ドライバーをダウンロードしています:",
 	"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "DNS の問題により、クラスターの起動に問題が発生し、イメージを取得できない場合があります\n詳細については、https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues を参照してください",
 	"Due to changes in macOS 13+ minikube doesn't currently support VirtualBox. You can use alternative drivers such as docker or {{.driver}}.\n    https://minikube.sigs.k8s.io/docs/drivers/docker/\n    https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}/\n\n    For more details on the issue see: https://github.com/kubernetes/minikube/issues/15274\n": "",
+	"Duration of inactivity before the minikube VM is paused (default 1m0s)": "",
 	"Duration until minikube certificate expiration, defaults to three years (26280h).": "minikube 証明書の有効期限。デフォルトは 3 年間 (26280h)。",
 	"ERROR creating `registry-creds-acr` secret": "`registry-creds-acr` シークレット作成中にエラーが発生しました",
 	"ERROR creating `registry-creds-dpr` secret": "`registry-creds-dpr` シークレット作成中にエラーが発生しました",
@@ -246,6 +247,7 @@
 	"Failed to cache kubectl": "kubectl のキャッシュに失敗しました",
 	"Failed to change permissions for {{.minikube_dir_path}}: {{.error}}": "{{.minikube_dir_path}} に対する権限の変更に失敗しました: {{.error}}",
 	"Failed to check main repository and mirrors for images": "メインリポジトリーとミラーのイメージのチェックに失敗しました",
+	"Failed to configure auto-pause {{.profile}}": "",
 	"Failed to configure metallb IP {{.profile}}": "metallb IP {{.profile}} の設定に失敗しました",
 	"Failed to configure network plugin": "ネットワークプラグインの設定に失敗しました",
 	"Failed to configure registry-aliases {{.profile}}": "registry-aliases {{.profile}} の設定に失敗しました",
@@ -370,6 +372,8 @@
 	"Insecure Docker registries to pass to the Docker daemon.  The default service CIDR range will automatically be added.": "Docker デーモンに渡す安全でない Docker レジストリー。デフォルトのサービス CIDR 範囲が自動的に追加されます。",
 	"Install VirtualBox and ensure it is in the path, or select an alternative value for --driver": "VritualBox をインストールして、VirtualBox がパス中にあることを確認するか、--driver に別の値を指定してください",
 	"Install the latest hyperkit binary, and run 'minikube delete'": "最新の hyperkit バイナリーをインストールして、'minikube delete' を実行してください",
+	"Interval is an invalid duration: {{.error}}": "",
+	"Interval must be greater than 0s": "",
 	"Invalid port": "無効なポート",
 	"Istio needs {{.minCPUs}} CPUs -- your configuration only allocates {{.cpus}} CPUs": "Istio は {{.minCPUs}} 個の CPU を必要とします -- あなたの設定では {{.cpus}} 個の CPU しか割り当てていません",
 	"Istio needs {{.minMem}}MB of memory -- your configuration only allocates {{.memory}}MB": "Istio は {{.minMem}}MB のメモリーを必要とします -- あなたの設定では、{{.memory}}MB しか割り当てていません",
diff --git a/translations/ko.json b/translations/ko.json
index 5e9686ae8..1dc938b6c 100644
--- a/translations/ko.json
+++ b/translations/ko.json
@@ -191,6 +191,7 @@
 	"Downloading {{.name}} {{.version}}": "{{.name}} {{.version}} 다운로드 중",
 	"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
 	"Due to changes in macOS 13+ minikube doesn't currently support VirtualBox. You can use alternative drivers such as docker or {{.driver}}.\n    https://minikube.sigs.k8s.io/docs/drivers/docker/\n    https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}/\n\n    For more details on the issue see: https://github.com/kubernetes/minikube/issues/15274\n": "",
+	"Duration of inactivity before the minikube VM is paused (default 1m0s)": "",
 	"Duration until minikube certificate expiration, defaults to three years (26280h).": "",
 	"ERROR creating `registry-creds-acr` secret": "registry-creds-acr` secret 생성 오류",
 	"ERROR creating `registry-creds-dpr` secret": "`registry-creds-dpr` secret 생성 오류",
@@ -277,6 +278,7 @@
 	"Failed to change permissions for {{.minikube_dir_path}}: {{.error}}": "{{.minikube_dir_path}} 의 권한 변경에 실패하였습니다: {{.error}}",
 	"Failed to check if machine exists": "머신이 존재하는지 확인하는 데 실패하였습니다",
 	"Failed to check main repository and mirrors for images": "",
+	"Failed to configure auto-pause {{.profile}}": "",
 	"Failed to configure metallb IP {{.profile}}": "",
 	"Failed to configure registry-aliases {{.profile}}": "",
 	"Failed to create file": "",
@@ -408,6 +410,8 @@
 	"Insecure Docker registries to pass to the Docker daemon.  The default service CIDR range will automatically be added.": "",
 	"Install VirtualBox and ensure it is in the path, or select an alternative value for --driver": "",
 	"Install the latest hyperkit binary, and run 'minikube delete'": "",
+	"Interval is an invalid duration: {{.error}}": "",
+	"Interval must be greater than 0s": "",
 	"Invalid port": "",
 	"Istio needs {{.minCPUs}} CPUs -- your configuration only allocates {{.cpus}} CPUs": "",
 	"Istio needs {{.minMem}}MB of memory -- your configuration only allocates {{.memory}}MB": "",
@@ -962,7 +966,6 @@
 	"cannot specify --kubernetes-version with --no-kubernetes,\nto unset a global config run:\n\n$ minikube config unset kubernetes-version": "",
 	"config modifies minikube config files using subcommands like \"minikube config set driver kvm2\"\nConfigurable fields: \n\n": "",
 	"config view failed": "config view 가 실패하였습니다",
-	"containers paused status: {{.paused}}": "",
 	"creating api client": "api 클라이언트 생성 중",
 	"dashboard": "",
 	"dashboard service is not running: {{.error}}": "대시보드 서비스가 실행 중이지 않습니다: {{.error}}",
diff --git a/translations/pl.json b/translations/pl.json
index 2f7ef9828..03de5dad4 100644
--- a/translations/pl.json
+++ b/translations/pl.json
@@ -76,7 +76,6 @@
 	"Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "Inny program używa pliku wymaganego przez minikube. Jeśli używasz Hyper-V, spróbuj zatrzymać maszynę wirtualną minikube z poziomu managera Hyper-V",
 	"Another tunnel process is already running, terminate the existing instance to start a new one": "",
 	"At least needs control plane nodes to enable addon": "Wymaga węzłów z płaszczyzny kontrolnej do włączenia addona",
-	"Auto-pause is already enabled.": "",
 	"Automatically selected the {{.driver}} driver": "Automatycznie wybrano sterownik {{.driver}}",
 	"Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "Automatycznie wybrano sterownik {{.driver}}. Inne możliwe sterowniki: {{.alternates}}",
 	"Automatically selected the {{.network}} network": "",
@@ -191,6 +190,7 @@
 	"Downloading {{.name}} {{.version}}": "Pobieranie {{.name}} {{.version}}",
 	"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
 	"Due to changes in macOS 13+ minikube doesn't currently support VirtualBox. You can use alternative drivers such as docker or {{.driver}}.\n    https://minikube.sigs.k8s.io/docs/drivers/docker/\n    https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}/\n\n    For more details on the issue see: https://github.com/kubernetes/minikube/issues/15274\n": "",
+	"Duration of inactivity before the minikube VM is paused (default 1m0s)": "",
 	"Duration until minikube certificate expiration, defaults to three years (26280h).": "",
 	"ERROR creating `registry-creds-acr` secret": "",
 	"ERROR creating `registry-creds-dpr` secret": "",
@@ -266,6 +266,7 @@
 	"Failed to cache kubectl": "",
 	"Failed to change permissions for {{.minikube_dir_path}}: {{.error}}": "Nie udało się zmienić uprawnień pliku {{.minikube_dir_path}}: {{.error}}",
 	"Failed to check main repository and mirrors for images": "",
+	"Failed to configure auto-pause {{.profile}}": "",
 	"Failed to configure metallb IP {{.profile}}": "",
 	"Failed to configure registry-aliases {{.profile}}": "",
 	"Failed to create file": "",
@@ -393,6 +394,8 @@
 	"Insecure Docker registries to pass to the Docker daemon.  The default service CIDR range will automatically be added.": "",
 	"Install VirtualBox and ensure it is in the path, or select an alternative value for --driver": "",
 	"Install the latest hyperkit binary, and run 'minikube delete'": "",
+	"Interval is an invalid duration: {{.error}}": "",
+	"Interval must be greater than 0s": "",
 	"Invalid port": "",
 	"Invalid size passed in argument: {{.error}}": "Nieprawidłowy rozmiar przekazany w argumencie: {{.error}}",
 	"Istio needs {{.minCPUs}} CPUs -- your configuration only allocates {{.cpus}} CPUs": "",
@@ -970,7 +973,6 @@
 	"cannot specify --kubernetes-version with --no-kubernetes,\nto unset a global config run:\n\n$ minikube config unset kubernetes-version": "",
 	"config modifies minikube config files using subcommands like \"minikube config set driver kvm2\"\nConfigurable fields: \n\n": "",
 	"config view failed": "",
-	"containers paused status: {{.paused}}": "",
 	"dashboard": "",
 	"dashboard service is not running: {{.error}}": "",
 	"delete ctx": "",
diff --git a/translations/ru.json b/translations/ru.json
index 9dec753f3..be326db47 100644
--- a/translations/ru.json
+++ b/translations/ru.json
@@ -68,7 +68,6 @@
 	"Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "",
 	"Another tunnel process is already running, terminate the existing instance to start a new one": "",
 	"At least needs control plane nodes to enable addon": "",
-	"Auto-pause is already enabled.": "",
 	"Automatically selected the {{.driver}} driver": "",
 	"Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "",
 	"Automatically selected the {{.network}} network": "",
@@ -169,6 +168,7 @@
 	"Downloading driver {{.driver}}:": "",
 	"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
 	"Due to changes in macOS 13+ minikube doesn't currently support VirtualBox. You can use alternative drivers such as docker or {{.driver}}.\n    https://minikube.sigs.k8s.io/docs/drivers/docker/\n    https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}/\n\n    For more details on the issue see: https://github.com/kubernetes/minikube/issues/15274\n": "",
+	"Duration of inactivity before the minikube VM is paused (default 1m0s)": "",
 	"Duration until minikube certificate expiration, defaults to three years (26280h).": "",
 	"ERROR creating `registry-creds-acr` secret": "",
 	"ERROR creating `registry-creds-dpr` secret": "",
@@ -239,6 +239,7 @@
 	"Failed to cache kubectl": "",
 	"Failed to change permissions for {{.minikube_dir_path}}: {{.error}}": "",
 	"Failed to check main repository and mirrors for images": "",
+	"Failed to configure auto-pause {{.profile}}": "",
 	"Failed to configure metallb IP {{.profile}}": "",
 	"Failed to configure registry-aliases {{.profile}}": "",
 	"Failed to create file": "",
@@ -358,6 +359,8 @@
 	"Insecure Docker registries to pass to the Docker daemon.  The default service CIDR range will automatically be added.": "",
 	"Install VirtualBox and ensure it is in the path, or select an alternative value for --driver": "",
 	"Install the latest hyperkit binary, and run 'minikube delete'": "",
+	"Interval is an invalid duration: {{.error}}": "",
+	"Interval must be greater than 0s": "",
 	"Invalid port": "",
 	"Istio needs {{.minCPUs}} CPUs -- your configuration only allocates {{.cpus}} CPUs": "",
 	"Istio needs {{.minMem}}MB of memory -- your configuration only allocates {{.memory}}MB": "",
@@ -890,7 +893,6 @@
 	"cannot specify --kubernetes-version with --no-kubernetes,\nto unset a global config run:\n\n$ minikube config unset kubernetes-version": "",
 	"config modifies minikube config files using subcommands like \"minikube config set driver kvm2\"\nConfigurable fields: \n\n": "",
 	"config view failed": "",
-	"containers paused status: {{.paused}}": "",
 	"dashboard": "",
 	"dashboard service is not running: {{.error}}": "",
 	"delete ctx": "",
diff --git a/translations/strings.txt b/translations/strings.txt
index dd2aa55d2..e58232a6e 100644
--- a/translations/strings.txt
+++ b/translations/strings.txt
@@ -68,7 +68,6 @@
 	"Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "",
 	"Another tunnel process is already running, terminate the existing instance to start a new one": "",
 	"At least needs control plane nodes to enable addon": "",
-	"Auto-pause is already enabled.": "",
 	"Automatically selected the {{.driver}} driver": "",
 	"Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "",
 	"Automatically selected the {{.network}} network": "",
@@ -169,6 +168,7 @@
 	"Downloading driver {{.driver}}:": "",
 	"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
 	"Due to changes in macOS 13+ minikube doesn't currently support VirtualBox. You can use alternative drivers such as docker or {{.driver}}.\n    https://minikube.sigs.k8s.io/docs/drivers/docker/\n    https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}/\n\n    For more details on the issue see: https://github.com/kubernetes/minikube/issues/15274\n": "",
+	"Duration of inactivity before the minikube VM is paused (default 1m0s)": "",
 	"Duration until minikube certificate expiration, defaults to three years (26280h).": "",
 	"ERROR creating `registry-creds-acr` secret": "",
 	"ERROR creating `registry-creds-dpr` secret": "",
@@ -239,6 +239,7 @@
 	"Failed to cache kubectl": "",
 	"Failed to change permissions for {{.minikube_dir_path}}: {{.error}}": "",
 	"Failed to check main repository and mirrors for images": "",
+	"Failed to configure auto-pause {{.profile}}": "",
 	"Failed to configure metallb IP {{.profile}}": "",
 	"Failed to configure registry-aliases {{.profile}}": "",
 	"Failed to create file": "",
@@ -358,6 +359,8 @@
 	"Insecure Docker registries to pass to the Docker daemon.  The default service CIDR range will automatically be added.": "",
 	"Install VirtualBox and ensure it is in the path, or select an alternative value for --driver": "",
 	"Install the latest hyperkit binary, and run 'minikube delete'": "",
+	"Interval is an invalid duration: {{.error}}": "",
+	"Interval must be greater than 0s": "",
 	"Invalid port": "",
 	"Istio needs {{.minCPUs}} CPUs -- your configuration only allocates {{.cpus}} CPUs": "",
 	"Istio needs {{.minMem}}MB of memory -- your configuration only allocates {{.memory}}MB": "",
@@ -889,7 +892,6 @@
 	"cannot specify --kubernetes-version with --no-kubernetes,\nto unset a global config run:\n\n$ minikube config unset kubernetes-version": "",
 	"config modifies minikube config files using subcommands like \"minikube config set driver kvm2\"\nConfigurable fields: \n\n": "",
 	"config view failed": "",
-	"containers paused status: {{.paused}}": "",
 	"dashboard": "",
 	"dashboard service is not running: {{.error}}": "",
 	"delete ctx": "",
diff --git a/translations/zh-CN.json b/translations/zh-CN.json
index 2305a29d5..3fee118aa 100644
--- a/translations/zh-CN.json
+++ b/translations/zh-CN.json
@@ -219,6 +219,7 @@
 	"Downloading {{.name}} {{.version}}": "正在下载 {{.name}} {{.version}}",
 	"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "由于 DNS 问题，你的集群可能在启动时遇到问题，你可能无法拉取镜像\n更多详细信息请参阅：https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues",
 	"Due to changes in macOS 13+ minikube doesn't currently support VirtualBox. You can use alternative drivers such as docker or {{.driver}}.\n    https://minikube.sigs.k8s.io/docs/drivers/docker/\n    https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}/\n\n    For more details on the issue see: https://github.com/kubernetes/minikube/issues/15274\n": "由于 macOS 13+ 的变化，minikube 目前不支持 VirtualBox。你可以使用 docker 或 {{.driver}} 等替代驱动程序。\n    https://minikube.sigs.k8s.io/docs/drivers/docker/\n    https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}/\n\n    有关此问题的更多详细信息，请参阅：https://github.com/kubernetes/minikube/issues/15274\n",
+	"Duration of inactivity before the minikube VM is paused (default 1m0s)": "",
 	"Duration of inactivity before the minikube VM is paused (default 1m0s).  To disable, set to 0s": "在minikube虚拟机暂停之前的不活动时间（默认为1分钟）。要禁用，请设置为0秒。",
 	"Duration until minikube certificate expiration, defaults to three years (26280h).": "minikube 证书有效期，默认为三年（26280小时）。",
 	"ERROR creating `registry-creds-acr` secret": "创建 `registry-creds-acr` secret 时出错",
@@ -331,6 +332,7 @@
 	"Failed to check if machine exists": "无法检测机器是否存在",
 	"Failed to check main repository and mirrors for images": "无法检查主仓库和镜像的图像",
 	"Failed to check main repository and mirrors for images for images": "无法检测主仓库和镜像仓库中的镜像",
+	"Failed to configure auto-pause {{.profile}}": "",
 	"Failed to configure metallb IP {{.profile}}": "配置 metallb IP {{.profile}} 失败",
 	"Failed to configure registry-aliases {{.profile}}": "配置 registry-aliases {{.profile}} 失败",
 	"Failed to create file": "文件创建失败",
@@ -476,6 +478,8 @@
 	"Insecure Docker registries to pass to the Docker daemon. The default service CIDR range will automatically be added.": "传递给 Docker 守护进程的不安全 Docker 注册表。系统会自动添加默认服务 CIDR 范围。",
 	"Install VirtualBox and ensure it is in the path, or select an alternative value for --driver": "安装 VirtualBox 并确保它在路径中，或选择一个替代的值作为 --driver。",
 	"Install the latest hyperkit binary, and run 'minikube delete'": "安装最新的 hyperkit 二进制文件，然后运行 'minikube delete'",
+	"Interval is an invalid duration: {{.error}}": "",
+	"Interval must be greater than 0s": "",
 	"Invalid port": "无效的端口",
 	"Istio needs {{.minCPUs}} CPUs -- your configuration only allocates {{.cpus}} CPUs": "Istio 需要 {{.minCPUs}} 个CPU核心，但您的配置只分配了 {{.cpus}} 个CPU核心。",
 	"Istio needs {{.minMem}}MB of memory -- your configuration only allocates {{.memory}}MB": "Istio 需要 {{.minMem}}MB 内存，而你的配置只分配了 {{.memory}}MB",
@@ -1090,7 +1094,6 @@
 	"cannot specify --kubernetes-version with --no-kubernetes,\nto unset a global config run:\n\n$ minikube config unset kubernetes-version": "不能同时指定 --kubernetes-version 和 --no-kubernetes，要取消全局配置，请运行：$ minikube config unset kubernetes-version",
 	"config modifies minikube config files using subcommands like \"minikube config set driver kvm2\"\nConfigurable fields: \n\n": "config 使用子命令（如 \"minikube config set driver kvm2\"）修改 minikube 配置文件。\n可配置字段：",
 	"config view failed": "配置查看失败",
-	"containers paused status: {{.paused}}": "",
 	"dashboard": "仪表盘",
 	"dashboard service is not running: {{.error}}": "",
 	"delete ctx": "删除上下文",


Test patch:
diff --git a/cmd/minikube/cmd/start_test.go b/cmd/minikube/cmd/start_test.go
index 4b7e997eb..7f11deaef 100644
--- a/cmd/minikube/cmd/start_test.go
+++ b/cmd/minikube/cmd/start_test.go
@@ -20,6 +20,7 @@ import (
 	"fmt"
 	"strings"
 	"testing"
+	"time"
 
 	"github.com/blang/semver/v4"
 	"github.com/spf13/cobra"
@@ -886,3 +887,29 @@ func TestValidateGPUs(t *testing.T) {
 		}
 	}
 }
+
+func TestValidateAutoPause(t *testing.T) {
+	tests := []struct {
+		interval    string
+		shouldError bool
+	}{
+		{"1m0s", false},
+		{"5m", false},
+		{"1s", false},
+		{"0s", true},
+		{"-2m", true},
+	}
+	for _, tc := range tests {
+		input, err := time.ParseDuration(tc.interval)
+		if err != nil {
+			t.Fatalf("test has an invalid input duration of %q", tc.interval)
+		}
+		err = validateAutoPauseInterval(input)
+		if err != nil && !tc.shouldError {
+			t.Errorf("interval of %q failed validation; expected it to pass: %v", input, err)
+		}
+		if err == nil && tc.shouldError {
+			t.Errorf("interval of %q passed validataion; expected it to fail: %v", input, err)
+		}
+	}
+}