Files
oam/knowledge base/kubernetes/minikube.md

4.2 KiB

Minikube

  1. TL;DR
  2. Troubleshooting
    1. What happens if one uses the LoadBalancer type with Services
    2. Use custom certificates
  3. Further readings
    1. Sources

TL;DR

Installation and configuration
# Install minikube.
sudo pacman -S 'minikube'
brew install 'docker' 'minikube'

# Shell completion.
source <(minikube completion "$(basename $SHELL)")

User configuration options are overridden by command flags.

# See defaults for individual configuration values.
minikube config defaults 'disk-size'
minikube config defaults 'container-runtime'

# Get individual user configuration values.
minikube config get 'cache'
minikube config get 'driver'
minikube config get 'kubernetes-version'

# Set individual user configuration values.
minikube config set 'cpus' '4'
minikube config set 'profile' 'awx-cluster'
minikube config set 'rootless' true

# View the current user configuration.
minikube config view

# Unset user configuration values.
minikube config unset 'memory'
Usage
# Start clusters.
minikube start
minikube -p 'profile' start --cpus '4' --memory '8192' --vm --addons 'ingress'
minikube start --driver='docker' --kubernetes-version='v1.29.0'

# Browse the addons catalog, with their current status.
minikube addons list

# Enable addons.
minikube addons enable 'dashboard'
minikube --profile 'profile' addons enable 'dashboard'

# Get IP and port of services of type NodePort.
minikube service --url 'nextcloud'
minikube service --url 'nextcloud' --namespace 'nextcloud'

# Use the equipped 'kubectl' executable.
minikube kubectl -- get pods

# Log into the minikube environment (for debugging).
minikube ssh

# Pause clusters without impacting deployed applications.
minikube pause
minikube -p 'profile' pause -A

# Halt clusters.
minikube stop

# Delete all the clusters.
minikube delete --all --purge
Real world use cases
# Permanently increase the default memory limit.
# Requires the cluster to restart.
minikube config set 'memory' '16384'

# Disable new update notifications.
minikube config set 'WantUpdateNotification' false

# Disable emojis in the commands.
export MINIKUBE_IN_STYLE=false

# Create (other) clusters running specific Kubernetes versions.
minikube start -p 'old-k8s' --kubernetes-version='v1.27.1'

Troubleshooting

What happens if one uses the LoadBalancer type with Services

On cloud providers that support load balancers, an external IP address would be provisioned to access the Service; on minikube, the LoadBalancer type makes the Service accessible through the minikube service command.

Use custom certificates

Minikibe's certificates are available in the ~/.minikube/certs folder.

Further readings

Sources