2.4 KiB
2.4 KiB
title | date | weight | description |
---|---|---|---|
Addons | 2019-07-31 | 4 | How to develop minikube addons |
Adding a New Addon
To add a new addon to minikube the following steps are required:
-
For the new addon's .yaml file(s):
- Put the required .yaml files for the addon in the
minikube/deploy/addons
directory. - Add the
kubernetes.io/minikube-addons: <NEW_ADDON_NAME>
label to each piece of the addon (ReplicationController, Service, etc.) - Also, the
addonmanager.kubernetes.io/mode
annotation is needed so that your resources are picked up by theaddon-manager
. - In order to have
minikube addons open <NEW_ADDON_NAME>
work properly, thekubernetes.io/minikube-addons-endpoint: <NEW_ADDON_NAME>
label must be added to the appropriate endpoint service (what the user would want to open/interact with). This service must be of type NodePort.
- Put the required .yaml files for the addon in the
-
To add the addon into minikube commands/VM:
- Add the addon with appropriate fields filled into the
Addon
dictionary, see this commit and example.
// cmd/minikube/cmd/config/config.go var settings = []Setting{ ..., // add other addon setting { name: "efk", set: SetBool, validations: []setFn{IsValidAddon}, callbacks: []setFn{EnableOrDisableAddon}, }, }
- Add the addon to settings list, see this commit and example.
// pkg/minikube/assets/addons.go var Addons = map[string]*Addon{ ..., // add other addon asset "efk": NewAddon([]*BinAsset{ MustBinAsset( "deploy/addons/efk/efk-configmap.yaml", guestAddonsDir, "efk-configmap.yaml", "0640", false), MustBinAsset( "deploy/addons/efk/efk-rc.yaml", guestAddonsDir, "efk-rc.yaml", "0640", false), MustBinAsset( "deploy/addons/efk/efk-svc.yaml", guestAddonsDir, "efk-svc.yaml", "0640", false), }, false, "efk"), }
- Add the addon with appropriate fields filled into the
-
Rebuild minikube using
make out/minikube
. This will put the addon's .yaml binary files into the minikube binary using go-bindata. -
Test addon using
minikube addons enable <NEW_ADDON_NAME>
command to start service.