The minikube-support tools are intended to automate and simplifies
common tasks which you need to do every time you set up a new minikube
cluster. For this they combine some cluster internal and external tools
to provide a better interaction between minikube and the developers
local os. The main entry point to run everything on the current minikube
instance, is the minikube-support
command. For this it installs,
configures and provides the following:
- A local CoreDNS to access the services and
ingresses using a domain name
*.minikube
. - mkcert to set up an own CA for generating certificates for the domain names served by CoreDNS.
- The Cert-Manager to manage that certificate generation within the cluster.
- A Nginx Ingress Controller to provide access to the ingresses deployed in minikube.
- A dashboard that shows the status of Ingresses,
LoadBalancer
-Services, served DNS entries and theminikube tunnel
status.
- Install
minikube
:-
Download the latest release and place it somewhere into your
$PATH
. -
Or using Brew:
brew install qaware/minikube-support/minikube-support
-
- Start your cluster
minikube start
- Install internal and external components with
minikube-support install -l
- If you don't want to install the external components (mkcert,
CoreDNS) just run
minikube-support install
.
- If you don't want to install the external components (mkcert,
CoreDNS) just run
- Run the dashboard:
minikube-support run
For more information about using please take a look into the documentation:
The minikube-support
-Tools requires a supported and preinstalled
package manager on the system. This allows the tools to install the
additional helper tools directly using the system's package manger.
Currently, the following package managers are supported:
brew install qaware/minikube-support/minikube-support
git clone https://github.com/qaware/minikube-support.git
make build
Then the built binary is located under bin
.
Take a look under
Releases and
download the prebuilt image for your operating system. To use it just
place the minikube-support
binary into your $PATH
. For example into
/usr/local/bin
.
The minikube-support
tools do not have own configuration properties,
but requires to configure the dns resolver of the local os. For macOS
the minikube-support tools will do this automatically. Just ensure that
all your Ingresses uses the top level domain .minikube
.
For Windows and Linux systems there are no known interfaces or
configuration properties to configure conditional forwarding for DNS
requests to .minikube
programmatically. In this case you have to
configure your DNS resolving by your own.
It is possible to add additional top level domains to serve them using your minikube cluster. The following shows how to add the domain mk.local
to serve them using minikube-support tools.
- Create a file
mk.local
under/etc/resolver
with the following content:nameserver ::1
- Adjust the CoreDNS configuration in
/opt/mks/coredns/etc/corefile
and aftergrpc minikube 127.0.0.1:8053
the following line:grpc mk.local 127.0.0.1:8053
- Restart CoreDNS with the following command:
launchctl unload /Library/LaunchDaemons/de.chrfritz.minikube-support.coredns.plist launchctl load /Library/LaunchDaemons/de.chrfritz.minikube-support.coredns.plist
- Fork it
- Download your fork to your PC (
git clone https://github.com/your_username/minikube-support && cd minikube-support
) - Create your feature branch (
git checkout -b my-new-feature
) - Make changes and add them (
git add .
) - Commit your changes (
git commit -m 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new pull request
Minikube-Support is released under the MIT license. See LICENSE
Christian Fritz (@chrfritz)