### Minikube startup output Source: https://minikube.sigs.k8s.io/docs/tutorials/ai-playground Example output from the minikube start command. ```text 😄 minikube v1.37.0 on Darwin 15.6.1 (arm64) ✨ Using the krunkit (experimental) driver based on user configuration 👍 Starting "minikube" primary control-plane node in "minikube" cluster 🔥 Creating krunkit VM (CPUs=2, Memory=6144MB, Disk=20000MB) ... 🐳 Preparing Kubernetes v1.34.0 on Docker 28.4.0 ... 🔗 Configuring bridge CNI (Container Networking Interface) ... 🔎 Verifying Kubernetes components... ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5 🌟 Enabled addons: storage-provisioner, default-storageclass 🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default ``` -------------------------------- ### Install and Check Minikube Version Source: https://minikube.sigs.k8s.io/docs/tutorials/kubernetes_101/module1 Install minikube and verify its installation by checking the version. This is the first step before starting a cluster. ```bash minikube version ``` -------------------------------- ### Start minikube in GitHub Actions Source: https://minikube.sigs.k8s.io/docs/tutorials/setup_minikube_in_github_actions Add this step to your GitHub Actions workflow to install and start a minikube cluster. It uses the setup-minikube action. ```yaml steps: - name: start minikube id: minikube uses: medyagh/setup-minikube@latest ``` -------------------------------- ### Start Minikube Source: https://minikube.sigs.k8s.io/docs/handbook/addons/registry-aliases Starts a Minikube instance with the profile name 'demo'. ```bash minikube start -p demo ``` -------------------------------- ### Start Minikube with Increased Resources for Knative Source: https://minikube.sigs.k8s.io/docs/faq Allocate specific CPU and memory resources when starting minikube, recommended for setups like Knative. ```bash minikube start --cpus 3 --memory 3072 ``` -------------------------------- ### Start Minikube with Specific Resources Source: https://minikube.sigs.k8s.io/docs/handbook/addons/istio Ensure Minikube is started with sufficient memory and CPU resources before enabling Istio. Refer to official Platform Setup documentation for details. ```bash minikube start --memory=8192mb --cpus=4 ``` -------------------------------- ### Enable dashboard addon example Source: https://minikube.sigs.k8s.io/docs/commands/addons Example command to enable the Kubernetes dashboard addon. ```bash minikube addons enable dashboard ``` -------------------------------- ### Start Minikube with QEMU Driver Source: https://minikube.sigs.k8s.io/docs/drivers/qemu2 Use this command to start Minikube utilizing the QEMU driver for VM creation. ```bash minikube start --driver=qemu ``` -------------------------------- ### Load image examples Source: https://minikube.sigs.k8s.io/docs/commands/image Examples of loading a local image or a tar archive into minikube. ```bash minikube image load image minikube image load image.tar ``` -------------------------------- ### Build container image example Source: https://minikube.sigs.k8s.io/docs/commands/image Example command to build an image from the current directory. ```bash minikube image build . ``` -------------------------------- ### Start minikube with 'none' driver Source: https://minikube.sigs.k8s.io/docs/tutorials/nvidia Start minikube with the 'none' driver, specifying the API server IP and name. Requires prior setup of NVIDIA drivers and Docker. ```bash minikube start --driver=none --apiserver-ips 127.0.0.1 --apiserver-name localhost ``` -------------------------------- ### List images example Source: https://minikube.sigs.k8s.io/docs/commands/image Example command to list images in the current minikube profile. ```bash $ minikube image ls ``` -------------------------------- ### Common kubectl examples Source: https://minikube.sigs.k8s.io/docs/commands/kubectl Examples of passing arguments to kubectl through the minikube wrapper. ```bash minikube kubectl -- --help minikube kubectl -- get pods --namespace kube-system ``` -------------------------------- ### Start a Minikube Cluster with 2 Nodes Source: https://minikube.sigs.k8s.io/docs/tutorials/multi_node Initiates a Minikube cluster with a specified number of nodes and a chosen driver. Ensure Minikube is installed and configured. ```bash minikube start --nodes 2 -p multinode-demo ``` -------------------------------- ### Start Minikube Cluster with KVM2 Driver Source: https://minikube.sigs.k8s.io/docs/drivers/kvm2 Use this command to start a Minikube cluster specifically using the KVM2 driver. Ensure KVM and libvirt are installed and configured beforehand. ```bash minikube start --driver=kvm2 ``` -------------------------------- ### Install vmnet-helper Source: https://minikube.sigs.k8s.io/docs/drivers/krunkit Download and install the required vmnet-helper utility for networking. ```bash curl -fsSL https://github.com/minikube-machine/vmnet-helper/releases/latest/download/install.sh | bash ``` -------------------------------- ### Start Minikube Cluster with VMware Driver Source: https://minikube.sigs.k8s.io/docs/drivers/vmware Use this command to start a Minikube cluster utilizing the vmware driver. Ensure VMware Fusion or Workstation is installed and configured. ```bash minikube start --driver=vmware ``` ```bash minikube start --driver vmware ``` -------------------------------- ### Start minikube with a specific container runtime Source: https://minikube.sigs.k8s.io/docs/handbook/config Explicitly select the container runtime for minikube using the `--container-runtime` flag with the `minikube start` command. This example sets the runtime to Docker. ```bash minikube start --container-runtime=docker ``` -------------------------------- ### Install socket_vmnet from Source Source: https://minikube.sigs.k8s.io/docs/drivers/qemu2 Installs the socket_vmnet component from its source repository using make. Requires Go to be installed. ```bash git clone https://github.com/lima-vm/socket_vmnet.git && cd socket_vmnet sudo make install ``` -------------------------------- ### Start Minikube Cluster with Docker Driver Source: https://minikube.sigs.k8s.io/docs/drivers/docker Use this command to start a Minikube cluster using the standard Docker driver. Ensure Docker is installed and meets the version requirements. ```bash minikube start --driver=docker ``` -------------------------------- ### Allow Kubernetes on unsupported Docker release Source: https://minikube.sigs.k8s.io/docs/handbook/config Use the `--extra-config` flag with `minikube start` to configure the kubeadm bootstrapper. This example ignores the SystemVerification preflight error to allow Kubernetes on an unsupported Docker release. ```bash minikube start --extra-config=kubeadm.ignore-preflight-errors=SystemVerification ``` -------------------------------- ### Start Minikube with Rootless Podman and Containerd Source: https://minikube.sigs.k8s.io/docs/drivers/podman Recommended command for starting Minikube with Rootless Podman and the Containerd runtime. Ensure `rootless` is set to `true` beforehand. ```bash minikube start --driver=podman --container-runtime=containerd ``` -------------------------------- ### Configure and Start Minikube for KubeVirt Source: https://minikube.sigs.k8s.io/docs/handbook/addons/kubevirt Configure Minikube with specific settings for KubeVirt, such as memory allocation and VM driver, before starting the Minikube instance. Ensure the KVM2 driver is installed. ```bash minikube config -p kubevirt set memory 4096 minikube config -p kubevirt set vm-driver kvm2 minikube start -p kubevirt ``` -------------------------------- ### Start Minikube Cluster with Parallels Driver Source: https://minikube.sigs.k8s.io/docs/drivers/parallels Use this command to start a Minikube cluster using the Parallels driver. Ensure Parallels Desktop 11.0.0+ Pro or Business edition is installed. ```bash minikube start --driver=parallels ``` -------------------------------- ### Example of Minikube JSON Output Source: https://minikube.sigs.k8s.io/docs/contrib/json_output This is an example of the JSON output generated by `minikube start --output json`, showing Cloud Events compatible messages for each step of the process. ```json {"data":{"currentstep":"0","message":"minikube v1.12.1 on Darwin 10.14.6\n","name":"Initial Minikube Setup","totalsteps":"10"},"datacontenttype":"application/json","id":"68ff70ae-202b-4b13-8351-e9f060e8c56e","source":"https://minikube.sigs.k8s.io/","specversion":"1.0","type":"io.k8s.sigs.minikube.step"} ``` ```json {"data":{"currentstep":"1","message":"Automatically selected the hyperkit driver\n","name":"Selecting Driver","totalsteps":"10"},"datacontenttype":"application/json","id":"39bed8e9-3c1a-444e-997c-2ec19bdb1ca1","source":"https://minikube.sigs.k8s.io/","specversion":"1.0","type":"io.k8s.sigs.minikube.step"} ``` ```json {"data":{"currentstep":"3","message":"Starting control plane node minikube in cluster minikube\n","name":"Starting Node","totalsteps":"10"},"datacontenttype":"application/json","id":"7c80bc53-3ac4-4a42-a493-92e269cc56c9","source":"https://minikube.sigs.k8s.io/","specversion":"1.0","type":"io.k8s.sigs.minikube.step"} ``` ```json {"data":{"currentstep":"6","message":"Creating hyperkit VM (CPUs=2, Memory=6000MB, Disk=20000MB) ...\n","name":"Creating VM","totalsteps":"10"},"datacontenttype":"application/json","id":"7f5f23a4-9a09-4954-8abc-d29bda2cc569","source":"https://minikube.sigs.k8s.io/","specversion":"1.0","type":"io.k8s.sigs.minikube.step"} ``` -------------------------------- ### Save image examples Source: https://minikube.sigs.k8s.io/docs/commands/image Examples showing how to save an image to the default location or a specific tar file. ```bash minikube image save image minikube image save image image.tar ``` -------------------------------- ### minikube node start command syntax Source: https://minikube.sigs.k8s.io/docs/commands/node Basic command structure for starting a stopped node. ```bash minikube node start [flags] ``` -------------------------------- ### Install Latest Beta Minikube (Linux, x86-64, Binary) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest beta release of minikube for x86-64 Linux using a binary download. It dynamically fetches the beta download URL. Requires root privileges for installation. ```bash r=https://api.github.com/repos/kubernetes/minikube/releases curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-linux-amd64' | head -n1) sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64 ``` -------------------------------- ### minikube node start options Source: https://minikube.sigs.k8s.io/docs/commands/node Configuration flags specific to the node start operation. ```bash --delete-on-failure If set, delete the current cluster if start fails and try again. Defaults to false. ``` -------------------------------- ### Start Minikube with QEMU and socket_vmnet Source: https://minikube.sigs.k8s.io/docs/drivers/qemu2 Starts Minikube using the QEMU driver with the socket_vmnet networking option for full Minikube networking functionality. ```bash minikube start --driver qemu --network socket_vmnet ``` -------------------------------- ### Start Minikube with Containerd for gVisor Source: https://minikube.sigs.k8s.io/docs/handbook/addons/gvisor When starting Minikube, specify the containerd runtime and its socket path to ensure compatibility with gVisor. ```bash $ minikube start --container-runtime=containerd \ --docker-opt containerd=/var/run/containerd/containerd.sock ``` -------------------------------- ### Apply Ingress Example and Verify Source: https://minikube.sigs.k8s.io/docs/start Applies the Ingress example configuration and retrieves the ingress address. Use `curl` to test routing to different paths. ```bash kubectl apply -f https://storage.googleapis.com/minikube-site-examples/ingress-example.yaml ``` ```bash kubectl get ingress ``` ```bash $ curl /foo Request served by foo-app ... $ curl /bar Request served by bar-app ... ``` -------------------------------- ### Start minikube using a source-built binary Source: https://minikube.sigs.k8s.io/docs/contrib/building/binaries Start your minikube cluster using the binary you compiled from source. The binary is located in the './out/' directory. ```bash ./out/minikube start ``` -------------------------------- ### View minikube start command flags Source: https://minikube.sigs.k8s.io/docs/handbook/config Run this command to see all available flags for the `minikube start` command, which allows for various configuration options. ```bash minikube start --help ``` -------------------------------- ### Install Latest Beta Minikube (Linux, ARM64, Binary) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest beta release of minikube for ARM64 Linux using a binary download. It dynamically fetches the beta download URL. Requires root privileges for installation. ```bash r=https://api.github.com/repos/kubernetes/minikube/releases curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-linux-arm64' | head -n1) sudo install minikube-linux-arm64 /usr/local/bin/minikube && rm minikube-linux-arm64 ``` -------------------------------- ### Start Minikube with Hyper-V Driver Source: https://minikube.sigs.k8s.io/docs/drivers/hyperv Use this command to start a Minikube instance using the Hyper-V driver. Ensure Hyper-V is enabled and configured. ```bash minikube start --driver=hyperv ``` -------------------------------- ### Install Latest Beta Minikube (Linux, x86-64, RPM Package) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest beta release of minikube for x86-64 Linux using an RPM package. It dynamically fetches the beta download URL. Requires root privileges for installation. ```bash r=https://api.github.com/repos/kubernetes/minikube/releases u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-.*.x86_64.rpm' | head -n1) curl -L $u > minikube-beta.x86_64.rpm && sudo rpm -Uvh minikube-beta.x86_64.rpm ``` -------------------------------- ### Start minikube with vmnet-shared Source: https://minikube.sigs.k8s.io/docs/drivers/vfkit Starts a minikube cluster using the vfkit driver with the vmnet-shared network. ```bash minikube start --driver vfkit --network vmnet-shared ``` -------------------------------- ### Start Minikube with VM Driver Source: https://minikube.sigs.k8s.io/docs/tutorials/ebpf_tools_in_minikube Ensure Minikube is started using a VM driver, which is a prerequisite for running eBPF tools. ```bash $ minikube start --vm=true ``` -------------------------------- ### Install Latest Beta Minikube (Linux, ARM64, RPM Package) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest beta release of minikube for ARM64 Linux using an RPM package. It dynamically fetches the beta download URL. Requires root privileges for installation. ```bash r=https://api.github.com/repos/kubernetes/minikube/releases u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-.*.aarch64.rpm' | head -n1) curl -L $u > minikube-beta.aarch64.rpm && sudo rpm -Uvh minikube-beta.aarch64.rpm ``` -------------------------------- ### Install socket_vmnet via Homebrew Source: https://minikube.sigs.k8s.io/docs/drivers/qemu2 Installs the socket_vmnet component using Homebrew and starts the service. This is required for the socket_vmnet networking option. ```bash brew install socket_vmnet HOMEBREW=$(which brew) && sudo ${HOMEBREW} services start socket_vmnet ``` -------------------------------- ### Start Minikube with Podman and CRI-O Source: https://minikube.sigs.k8s.io/docs/drivers/podman Use this command to start Minikube with the Podman driver and the CRI-O container runtime. This is recommended for most Podman users. ```bash minikube start --driver=podman --container-runtime=cri-o ``` -------------------------------- ### Build Local Documentation Site Source: https://minikube.sigs.k8s.io/docs/contrib/documentation Run this command to serve the minikube documentation pages locally. Ensure you have the latest Go version installed. ```bash make site ``` -------------------------------- ### Start Minikube Source: https://minikube.sigs.k8s.io/docs/tutorials/custom_cert_ingress Initiates the minikube environment. This is the first step before configuring any addons or resources. ```bash $ minikube start ``` -------------------------------- ### Start Minikube with QEMU and builtin network Source: https://minikube.sigs.k8s.io/docs/drivers/qemu2 Starts Minikube using the QEMU driver with the builtin networking option. Note that this option limits networking functionality. ```bash minikube start --driver qemu --network builtin ``` -------------------------------- ### Enable Addons at minikube Start-up Source: https://minikube.sigs.k8s.io/docs/handbook/deploying Specify multiple addons to be enabled when minikube starts. ```bash minikube start --addons --addons ``` -------------------------------- ### Apply example ingress-dns addon Source: https://minikube.sigs.k8s.io/docs/handbook/addons/ingress-dns Apply the example ingress-dns addon configuration using kubectl. This requires Kubernetes version 1.19 or higher. ```bash kubectl apply -f https://raw.githubusercontent.com/kubernetes/minikube/master/deploy/addons/ingress-dns/example/example.yaml ``` -------------------------------- ### Start minikube with default network Source: https://minikube.sigs.k8s.io/docs/drivers/vfkit Starts a minikube cluster using the vfkit driver with the default nat network. ```bash minikube start --driver vfkit [--network nat] ``` -------------------------------- ### Start minikube with VirtualBox Source: https://minikube.sigs.k8s.io/docs/drivers/virtualbox Initializes a minikube cluster using the VirtualBox driver. ```bash minikube start --driver=virtualbox ``` -------------------------------- ### Use a local ISO image Source: https://minikube.sigs.k8s.io/docs/contrib/building/iso Start minikube using a custom ISO file from the local filesystem. ```bash $ ./out/minikube start --iso-url=file://$(pwd)/out/minikube-.iso ``` -------------------------------- ### Example of Setting Registry Step in Minikube Source: https://minikube.sigs.k8s.io/docs/contrib/json_output This Go code snippet demonstrates how to set the registry step to `register.PreparingKubernetes` before outputting a log message using `out.Step`. This is an example of how to integrate new logs into the registry. ```go register.Reg.SetStep(register.PreparingKubernetes) out.Step(cr.Style(), "Preparing Kubernetes {{.k8sVersion}} on {{.runtime}} {{.runtimeVersion}} ...", out.V{"k8sVersion": k8sVersion, "runtime": cr.Name(), "runtimeVersion": version}) ``` -------------------------------- ### Install Minikube (Linux s390x, Binary Download, Stable) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest stable Minikube binary for Linux s390x. Requires `curl` and `sudo` privileges. ```bash curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-s390x sudo install minikube-linux-s390x /usr/local/bin/minikube && rm minikube-linux-s390x ``` -------------------------------- ### Basic minikube start usage Source: https://minikube.sigs.k8s.io/docs/commands/start The standard command syntax to initiate a local Kubernetes cluster. ```bash minikube start [flags] ``` -------------------------------- ### Start Minikube with SSH Driver Source: https://minikube.sigs.k8s.io/docs/drivers/ssh Use this command to start Minikube on a user-supplied VM via SSH. Ensure the VM meets the specified requirements and provide its IP address. ```bash minikube start --driver=ssh --ssh-ip-address=vm.example.com ``` -------------------------------- ### Start Minikube with Podman Driver Only Source: https://minikube.sigs.k8s.io/docs/drivers/podman Start Minikube using only the Podman driver without specifying a container runtime. This is an alternative if CRI-O is not desired. ```bash minikube start --driver=podman ``` -------------------------------- ### Initialize and Start Podman Machine Source: https://minikube.sigs.k8s.io/docs/drivers/podman Commands to initialize, start, and configure the default connection for the Podman machine on non-Linux systems. This is necessary for Podman to function correctly. ```bash podman machine init --cpus 2 --memory 2048 --disk-size 20 podman machine start podman system connection default podman-machine-default-root podman info ``` -------------------------------- ### Install Minikube (Linux ppc64le, Binary Download, Stable) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest stable Minikube binary for Linux ppc64le. Ensure you have `curl` and `sudo` privileges. ```bash curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-ppc64le sudo install minikube-linux-ppc64le /usr/local/bin/minikube && rm minikube-linux-ppc64le ``` -------------------------------- ### Start minikube with krunkit Source: https://minikube.sigs.k8s.io/docs/drivers/krunkit Initialize a minikube cluster using the krunkit driver. ```bash minikube start --driver krunkit ``` -------------------------------- ### Enable KubeVirt Addon on Minikube Source: https://minikube.sigs.k8s.io/docs/handbook/addons/kubevirt Enable the KubeVirt addon on an existing Minikube cluster. This command installs KubeVirt's default components. Monitor installation progress using `kubectl get pods -n kubevirt`. ```bash minikube addons enable kubevirt ``` -------------------------------- ### Install Minikube and Kubectl in CI Source: https://minikube.sigs.k8s.io/docs/tutorials/continuous_integration This script downloads and installs the latest stable Minikube and kubectl binaries for Linux AMD64. It configures Minikube to disable update notifications and starts it using the Docker driver. Ensure you have the Docker daemon available in your CI environment. ```bash curl -LO \ https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ && install minikube-linux-amd64 /tmp/ kv=$(curl -sSL https://dl.k8s.io/release/stable.txt) curl -LO \ https://dl.k8s.io/$kv/bin/linux/amd64/kubectl \ && install kubectl /tmp/ /tmp/minikube-linux-amd64 config set WantUpdateNotification false /tmp/minikube-linux-amd64 start --driver=docker ``` -------------------------------- ### Manually set a KVM/libvirt network to autostart Source: https://minikube.sigs.k8s.io/docs/drivers/kvm2 Configure a libvirt network to automatically start on system boot. Replace `` with the desired network name. ```bash sudo virsh net-autostart ``` -------------------------------- ### Start minikube with NVIDIA Container Toolkit (docker driver) Source: https://minikube.sigs.k8s.io/docs/tutorials/nvidia Start minikube using the docker driver and specify all GPUs for use with the NVIDIA Container Toolkit. ```bash minikube start --driver docker --container-runtime docker --gpus all ``` -------------------------------- ### Get Pods using Minikube's Kubectl Wrapper Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Lists all pods across all namespaces using the `kubectl` binary bundled with minikube. Useful if `kubectl` is not installed separately. ```bash minikube kubectl -- get po -A ``` -------------------------------- ### Start Minikube with Pod Security Policy Addon Enabled Source: https://minikube.sigs.k8s.io/docs/handbook/addons/pod-security-policy Use this command to start minikube with the `PodSecurityPolicy` admission controller and the `pod-security-policy` addon enabled. This is the recommended approach for newer minikube versions. ```bash minikube start --extra-config=apiserver.enable-admission-plugins=PodSecurityPolicy --addons=pod-security-policy ``` -------------------------------- ### Enable JSON Output for Minikube Start Source: https://minikube.sigs.k8s.io/docs/contrib/json_output Use the `--output json` flag with the `minikube start` command to enable Cloud Events compatible JSON output. ```bash minikube start --output json ``` -------------------------------- ### Modify Kubernetes component defaults Source: https://minikube.sigs.k8s.io/docs/handbook/config Configure Kubernetes components like apiserver or kubelet using the `--extra-config` flag with `minikube start`. The format is `component.key=value`. This example sets apiserver verbosity and kubelet max pods. ```bash minikube start --extra-config=apiserver.v=10 --extra-config=kubelet.max-pods=100 ``` -------------------------------- ### Enable Kubernetes feature gates Source: https://minikube.sigs.k8s.io/docs/handbook/config Enable or disable Kubernetes alpha/experimental features using the `--feature-gates` flag with `minikube start`. The format is `key=value`, where `key` is the component name and `value` is its status. This example enables EphemeralContainers. ```bash minikube start --feature-gates=EphemeralContainers=true ``` -------------------------------- ### Install Minikube (Linux s390x, Binary Download, Beta) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest beta Minikube binary for Linux s390x. This command dynamically fetches the beta release URL. Requires `curl` and `sudo`. ```bash r=https://api.github.com/repos/kubernetes/minikube/releases curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-linux-s390x' | head -n1) sudo install minikube-linux-s390x /usr/local/bin/minikube && rm minikube-linux-s390x ``` -------------------------------- ### Install CNI Plugins Source: https://minikube.sigs.k8s.io/docs/faq Download and install the CNI (Container Network Interface) plugins. Ensure you replace `` with the desired version and adjust the architecture if not using amd64. ```bash CNI_PLUGIN_VERSION="" CNI_PLUGIN_TAR="cni-plugins-linux-amd64-$CNI_PLUGIN_VERSION.tgz" # change arch if not on amd64 CNI_PLUGIN_INSTALL_DIR="/opt/cni/bin" curl -LO "https://github.com/containernetworking/plugins/releases/download/$CNI_PLUGIN_VERSION/$CNI_PLUGIN_TAR" sudo mkdir -p "$CNI_PLUGIN_INSTALL_DIR" sudo tar -xf "$CNI_PLUGIN_TAR" -C "$CNI_PLUGIN_INSTALL_DIR" rm "$CNI_PLUGIN_TAR" ``` -------------------------------- ### Install Minikube (Linux ppc64le, Binary Download, Beta) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest beta Minikube binary for Linux ppc64le. This command fetches the beta release URL dynamically. Requires `curl` and `sudo`. ```bash r=https://api.github.com/repos/kubernetes/minikube/releases curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-linux-ppc64le' | head -n1) sudo install minikube-linux-ppc64le /usr/local/bin/minikube && rm minikube-linux-ppc64le ``` -------------------------------- ### Expected curl results for example server Source: https://minikube.sigs.k8s.io/docs/handbook/addons/ingress-dns Example output from curling the example server, showing the response from the application running within the cluster. ```text Hello, world! Version: 1.0.0 Hostname: hello-world-app-557ff7dbd8-64mtv ``` ```text Hello, world! Version: 1.0.0 Hostname: hello-world-app-557ff7dbd8-64mtv ``` -------------------------------- ### Check Cloud Spanner Installation Source: https://minikube.sigs.k8s.io/docs/handbook/addons/cloud-spanner Verify the Cloud Spanner installation by checking the status of its pods within the Minikube cluster. No errors indicate a successful installation. ```bash kubectl get pods -n cloud-spanner-emulator ``` -------------------------------- ### Start minikube with HyperKit Source: https://minikube.sigs.k8s.io/docs/drivers/hyperkit Initialize a minikube cluster using the HyperKit driver. ```bash minikube start --driver=hyperkit ``` -------------------------------- ### Create and Expose Deployment with NodePort Source: https://minikube.sigs.k8s.io/docs/start Creates a sample deployment and exposes it using a NodePort service. Access the service via `minikube service` or `kubectl port-forward`. ```bash kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0 kubectl expose deployment hello-minikube --type=NodePort --port=8080 ``` ```bash kubectl get services hello-minikube ``` ```bash minikube service hello-minikube ``` ```bash kubectl port-forward service/hello-minikube 7080:8080 ``` -------------------------------- ### Install Minikube (macOS x86-64, Homebrew, Stable) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest stable Minikube on macOS x86-64 using the Homebrew package manager. Ensure Homebrew is installed. ```bash brew install minikube ``` -------------------------------- ### Install Minikube (Linux s390x, RPM Package, Beta) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest beta Minikube using an RPM package for Linux s390x. It dynamically fetches the beta package URL. Requires `curl` and `sudo`. ```bash r=https://api.github.com/repos/kubernetes/minikube/releases u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-.*.s390x.rpm' | head -n1) curl -L $u > minikube-beta.s390x.rpm && sudo rpm -Uvh minikube-beta.s390x.rpm ``` -------------------------------- ### Install Minikube (Linux ppc64le, RPM Package, Beta) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest beta Minikube using an RPM package for Linux ppc64le. It dynamically fetches the beta package URL. Requires `curl` and `sudo`. ```bash r=https://api.github.com/repos/kubernetes/minikube/releases u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-.*.ppc64el.rpm' | head -n1) curl -L $u > minikube-beta.ppc64el.rpm && sudo rpm -Uvh minikube-beta.ppc64el.rpm ``` -------------------------------- ### Enable NVIDIA driver installer addon Source: https://minikube.sigs.k8s.io/docs/tutorials/nvidia Enable the NVIDIA driver installer addon for minikube when using the KVM driver. This installs the necessary NVIDIA drivers within the minikube VM. ```bash minikube addons enable nvidia-driver-installer ``` -------------------------------- ### Install Latest Stable Minikube (Linux, ARM64, Binary) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest stable release of minikube for ARM64 Linux using a binary download. Requires root privileges for installation. ```bash curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-arm64 sudo install minikube-linux-arm64 /usr/local/bin/minikube && rm minikube-linux-arm64 ``` -------------------------------- ### Install Latest Stable Minikube (Linux, x86-64, Binary) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest stable release of minikube for x86-64 Linux using a binary download. Requires root privileges for installation. ```bash curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64 ``` -------------------------------- ### Push image example Source: https://minikube.sigs.k8s.io/docs/commands/image Example of pushing a specific image named busybox. ```bash $ minikube image push busybox ``` -------------------------------- ### Enable Istio Addon in Minikube Source: https://minikube.sigs.k8s.io/docs/handbook/addons/istio Enable the Istio provisioner and Istio addon using the minikube addons command. Installation of default Istio components will begin. ```bash minikube addons enable istio-provisioner minikube addons enable istio ``` -------------------------------- ### Install Latest Stable Minikube (Linux, ARM64, RPM Package) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest stable release of minikube for ARM64 Linux using an RPM package. Requires root privileges for installation. ```bash curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.aarch64.rpm sudo rpm -Uvh minikube-latest.aarch64.rpm ``` -------------------------------- ### Install Latest Stable Minikube (Linux, ARM64, Debian Package) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest stable release of minikube for ARM64 Linux using a Debian package. Requires root privileges for installation. ```bash curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_arm64.deb sudo dpkg -i minikube_latest_arm64.deb ``` -------------------------------- ### Install Latest Stable Minikube (Linux, x86-64, RPM Package) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest stable release of minikube for x86-64 Linux using an RPM package. Requires root privileges for installation. ```bash curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm sudo rpm -Uvh minikube-latest.x86_64.rpm ``` -------------------------------- ### Install Latest Stable Minikube (Linux, x86-64, Debian Package) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest stable release of minikube for x86-64 Linux using a Debian package. Requires root privileges for installation. ```bash curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb sudo dpkg -i minikube_latest_amd64.deb ``` -------------------------------- ### Tag an image example Source: https://minikube.sigs.k8s.io/docs/commands/image Example command to tag a source image to a target image. ```bash $ minikube image tag source target ``` -------------------------------- ### Start Minikube Cluster Source: https://minikube.sigs.k8s.io/docs/handbook/addons/gcp-auth Initiates a Minikube cluster. This is the first step before enabling any addons. ```bash minikube start ``` -------------------------------- ### Start minikube with Docker Runtime Source: https://minikube.sigs.k8s.io/docs/tutorials/docker_desktop_replacement Start minikube using a VM driver and specifying the 'docker' container runtime. Ensure 'true' is used for the --vm flag if a VM is required. ```bash minikube start --container-runtime=docker --vm=true ``` -------------------------------- ### Deploy Hello World Application Source: https://minikube.sigs.k8s.io/docs/tutorials/multi_node Applies a Kubernetes deployment configuration from a YAML file. This command is used to create or update resources in the cluster. ```bash kubectl apply -f hello-deployment.yaml ``` -------------------------------- ### Install ping and netcat on older Minikube versions Source: https://minikube.sigs.k8s.io/docs/handbook/host-access For older Minikube versions, you may need to manually install `ping` and `netcat` within the Minikube VM. This command uses `apt` to install the necessary packages. ```bash sudo apt install iputils-ping netcat-openbsd ``` -------------------------------- ### Get help for minikube addons Source: https://minikube.sigs.k8s.io/docs/commands/addons Displays the usage syntax for the addons command. ```bash minikube addons help [command] [flags] ``` -------------------------------- ### Install Docker CLI with Homebrew Source: https://minikube.sigs.k8s.io/docs/tutorials/docker_desktop_replacement Use this command to install the Docker CLI on macOS using Homebrew. ```bash brew install docker ``` -------------------------------- ### minikube start configuration options Source: https://minikube.sigs.k8s.io/docs/commands/start A comprehensive list of flags available for configuring the minikube cluster environment, including resource limits, drivers, and networking settings. ```bash --addons minikube addons list Enable one or more addons, in a comma-separated format. See minikube addons list for a list of valid addon names. --apiserver-ips ipSlice A set of apiserver IP Addresses which are used in the generated certificate for kubernetes. This can be used if you want to make the apiserver available from outside the machine (default []) --apiserver-name string The authoritative apiserver hostname for apiserver certificates and connectivity. This can be used if you want to make the apiserver available from outside the machine (default "minikubeCA") --apiserver-names strings A set of apiserver names which are used in the generated certificate for kubernetes. This can be used if you want to make the apiserver available from outside the machine --apiserver-port int The apiserver listening port (default 8443) --auto-pause-interval duration Duration of inactivity before the minikube VM is paused (default 1m0s) (default 1m0s) --auto-update-drivers If set, automatically updates drivers to the latest version. Defaults to true. (default true) --base-image string The base image to use for docker/podman drivers. Intended for local development. (default "gcr.io/k8s-minikube/kicbase-builds:v0.0.50-1783334091-23308@sha256:31fdafc281382cc578379f4a45008c952c6ff047968569071842c5c762470768") --binary-mirror string Location to fetch kubectl, kubelet, & kubeadm binaries from. --cache-images If true, cache docker images for the current bootstrapper and load them into the machine. Always false with --driver=none. (default true) --cert-expiration duration Duration until minikube certificate expiration, defaults to three years (26280h). (default 26280h0m0s) --cni string CNI plug-in to use. Valid options: auto, bridge, calico, cilium, flannel, kindnet, or path to a CNI manifest (default: auto) -c, --container-runtime string The container runtime to be used. Valid options: docker, cri-o, containerd (default: auto) --cpus string Number of CPUs allocated to Kubernetes. Use "max" to use the maximum number of CPUs. Use "no-limit" to not specify a limit (Docker/Podman only) (default "2") --cri-socket string The cri socket path to be used. --delete-on-failure If set, delete the current cluster if start fails and try again. Defaults to false. --disable-coredns-log If set, disable CoreDNS verbose logging. Defaults to false. --disable-driver-mounts Disables the filesystem mounts provided by the hypervisors --disable-metrics If set, disables metrics reporting (CPU and memory usage), this can improve CPU usage. Defaults to false. --disable-optimizations If set, disables optimizations that are set for local Kubernetes. Including decreasing CoreDNS replicas from 2 to 1. Defaults to false. --disk-size string Disk size allocated to the minikube VM (format: [], where unit = b, k, m or g). (default "20000mb") --dns-domain string The cluster dns domain name used in the Kubernetes cluster (default "cluster.local") --dns-proxy Enable proxy for NAT DNS requests (virtualbox driver only) --dns-servers strings Static DNS server IP addresses for the VM (VM drivers only) --docker-env stringArray Environment variables to pass to the Docker daemon. (format: key=value) --docker-opt stringArray Specify arbitrary flags to pass to the Docker daemon. (format: key=value) --download-only If true, only download and cache files for later use - don't install or start anything. -d, --driver string Used to specify the driver to run Kubernetes in. The list of available drivers depends on operating system. --dry-run dry-run mode. Validates configuration, but does not mutate system state --embed-certs if true, will embed the certs in kubeconfig. --extra-config ExtraOption A set of key=value pairs that describe configuration that may be passed to different components. The key should be '.' separated, and the first part before the dot is the component to apply the configuration to. Valid components are: kubelet, kubeadm, apiserver, controller-manager, etcd, proxy, scheduler ``` -------------------------------- ### Install krunkit via Homebrew Source: https://minikube.sigs.k8s.io/docs/drivers/krunkit Use these commands to tap the repository and install the krunkit driver on macOS. ```bash brew tap libkrun/krun brew trust libkrun/krun # trust the tap only required if using Homebrew 6.0 or later brew install krunkit ``` -------------------------------- ### Apply Ingress Example Configuration Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Applies the Kubernetes Ingress and associated resources defined in a YAML file to the cluster. ```bash kubectl apply -f https://storage.googleapis.com/minikube-site-examples/ingress-example.yaml ``` -------------------------------- ### Enable Ambassador Addon Source: https://minikube.sigs.k8s.io/docs/handbook/addons/ambassador Install the Ambassador addon in Minikube. This command installs Ambassador into the `ambassador` namespace. ```bash minikube addons enable ambassador ``` -------------------------------- ### View minikube config help Source: https://minikube.sigs.k8s.io/docs/commands/config Displays help information for the config command. ```bash minikube config help [command] [flags] ``` -------------------------------- ### Deploy Application with Skaffold Source: https://minikube.sigs.k8s.io/docs/handbook/addons/registry-aliases Deploys the sample application using Skaffold, which will build and push images to the Minikube registry using the configured aliases. ```bash skaffold dev --port-forward ``` -------------------------------- ### Build and Enable Helm Addon Source: https://minikube.sigs.k8s.io/docs/contrib/helm-addons Builds the Minikube binary and enables the newly created Helm-based addon. This is a testing step after defining and registering the addon. ```bash make && ./out/minikube addons enable my-helm-addon ``` -------------------------------- ### Install Latest Beta Minikube (Linux, ARM64, Debian Package) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest beta release of minikube for ARM64 Linux using a Debian package. It dynamically fetches the beta download URL. Requires root privileges for installation. ```bash r=https://api.github.com/repos/kubernetes/minikube/releases u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube_.*_arm64.deb' | head -n1) curl -L $u > minikube_beta_arm64.deb && sudo dpkg -i minikube_beta_arm64.deb ``` -------------------------------- ### Start minikube with vmnet offloading Source: https://minikube.sigs.k8s.io/docs/drivers/krunkit Enable vmnet checksum and TSO offloading to improve network throughput. ```bash minikube start --driver krunkit --vmnet-offloading ``` -------------------------------- ### Install Latest Beta Minikube (Linux, x86-64, Debian Package) Source: https://minikube.sigs.k8s.io/docs/start?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download Installs the latest beta release of minikube for x86-64 Linux using a Debian package. It dynamically fetches the beta download URL. Requires root privileges for installation. ```bash r=https://api.github.com/repos/kubernetes/minikube/releases u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube_.*_amd64.deb' | head -n1) curl -L $u > minikube_beta_amd64.deb && sudo dpkg -i minikube_beta_amd64.deb ``` -------------------------------- ### Install HyperKit via Homebrew Source: https://minikube.sigs.k8s.io/docs/drivers/hyperkit Use this command to install the HyperKit package if it is not already provided by Docker Desktop. ```bash brew install hyperkit ``` -------------------------------- ### Install shell completion Source: https://minikube.sigs.k8s.io/docs/commands/completion Installation commands for bash, zsh, fish, and powershell across different operating systems. ```bash OS X: $ brew install bash-completion $ source $(brew --prefix)/etc/bash_completion $ minikube completion bash > ~/.minikube-completion # for bash users $ minikube completion zsh > ~/.minikube-completion # for zsh users $ source ~/.minikube-completion $ minikube completion fish > ~/.config/fish/completions/minikube.fish # for fish users Ubuntu: $ apt-get install bash-completion $ source /etc/bash_completion $ source <(minikube completion bash) # for bash users $ source <(minikube completion zsh) # for zsh users $ minikube completion fish > ~/.config/fish/completions/minikube.fish # for fish users ``` ```powershell ## Save completion code to a script and execute in the profile PS> minikube completion powershell > $HOME\.minikube-completion.ps1 PS> Add-Content $PROFILE '. $HOME\.minikube-completion.ps1' ## Execute completion code in the profile PS> Add-Content $PROFILE 'if (Get-Command minikube -ErrorAction SilentlyContinue) { minikube completion powershell | Out-String | Invoke-Expression }' ``` -------------------------------- ### Install libvirt-devel for Fedora Source: https://minikube.sigs.k8s.io/docs/contrib/testing Install the libvirt-devel package on Fedora systems to enable the kvm2 driver for unit tests. ```shell dnf install libvirt-devel ``` -------------------------------- ### Install libvirt-devel for CentOS Source: https://minikube.sigs.k8s.io/docs/contrib/testing Install the libvirt-devel package on CentOS systems to support the kvm2 driver for unit tests. ```shell yum install libvirt-devel ``` -------------------------------- ### View minikube options synopsis Source: https://minikube.sigs.k8s.io/docs/commands/options Displays the basic usage syntax for the options command. ```bash minikube options [flags] ```