Whenever a `kubectl apply` fails while enabling an addon, it is retried with exponential backoff. The command (type `*exec.Cmd`) that this retry function runs in created outside the function - which means that it is reused on every retry. This is a problem because `exec.Cmd` (https://godoc.org/github.com/pkg/exec#Cmd) states that "... Cmd cannot be reused after calling its Run or Start methods." This retry is a common case due to, say, a CRD and its resource being present in the same YAML file of the addon which causes a race condition where the resource is created before its CRD is created in the cluster - this race is fixed by subsequent retries. I've noticed this in the dashboard and the ambassador addon. Due to the above mentioned bug, minikube throws errors like `exec: already started` in every retry and the retry is never successful, manifests are never deployed and addon creation errors out. Related to #8138 #8119 #8372 |
||
|---|---|---|
| .github | ||
| cmd | ||
| deploy | ||
| enhancements | ||
| hack | ||
| images/logo | ||
| installers | ||
| pkg | ||
| site | ||
| test/integration | ||
| third_party/go9p | ||
| translations | ||
| .codecov.yml | ||
| .dockerignore | ||
| .gitignore | ||
| .gitmodules | ||
| .markdownlint.json | ||
| .travis.yml | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| Makefile | ||
| OWNERS | ||
| README.md | ||
| SECURITY_CONTACTS | ||
| code-of-conduct.md | ||
| default.profraw | ||
| go.mod | ||
| go.sum | ||
| netlify.toml | ||
| test.sh | ||
README.md
minikube
minikube implements a local Kubernetes cluster on macOS, Linux, and Windows. minikube's primary goals are to be the best tool for local Kubernetes application development and to support all Kubernetes features that fit.
Features
minikube runs the latest stable release of Kubernetes, with support for standard Kubernetes features like:
- LoadBalancer - using
minikube tunnel - Multi-cluster - using
minikube start -p <name> - NodePorts - using
minikube service - Persistent Volumes
- Ingress
- Dashboard -
minikube dashboard - Container runtimes -
start --container-runtime - Configure apiserver and kubelet options via command-line flags
As well as developer-friendly features:
- Addons - a marketplace for developers to share configurations for running services on minikube
- NVIDIA GPU support - for machine learning
- Filesystem mounts
For more information, see the official minikube website
Installation
See the Getting Started Guide
📣 Please fill out our fast 5-question survey so that we can learn how & why you use minikube, and what improvements we should make. Thank you! 👯
Documentation
See https://minikube.sigs.k8s.io/docs/
More Examples
See minikube in action here
Community
minikube is a Kubernetes #sig-cluster-lifecycle project.
-
#minikube on Kubernetes Slack - Live chat with minikube developers!
Join our meetings: