title: What is a minikube Add-On?
body: <p>I've worked through <a href="https://kubernetes.io/docs/tutorials/hello-minikube/" rel="nofollow noreferrer">my first Kubernetes tutorial</a>.</p>
  <p>Near the end, this tutorial introduced the concept of &quot;add-ons&quot; -- for example, you can install the <code>metrics-server</code> add-on by running</p>
  <pre><code>$ minikube addons enable metrics-server
  </code></pre>
  <p>What are these add-ons?  Are they a feature that's specifically related to minikube, or can they be used with any kubernetes cluster and <code>minikube addons</code> is just some syntactic sugar that points at some shell scripts that can do anything?</p>
  <p>Put another way -- what is happening behind the scenes when I run</p>
  <pre><code>$ minikube addons enable some-add-on
  </code></pre>
  <p>Are all add-ons enabled the same way (like, maybe they create a deployment?) -- or will different add-ons be installed in different ways depending on their functionality?</p>
  <p>I'm basically trying to understand <em>how</em> a programmer could extend kubernetes themselves. When I go looking for documentation on this I find either lists of add-ons <a href="https://kubernetes.io/docs/concepts/cluster-administration/addons/" rel="nofollow noreferrer">I can use</a> (which point to add-ons being more than a <code>minikube</code> thing), or <a href="https://kubernetes.io/docs/concepts/extend-kubernetes/" rel="nofollow noreferrer">very broad documentation on ways to extend kubernetes</a> that don't make any mention of &quot;add-ons&quot; by name.</p>