Convert Figma logo to code with AI

kubernetes logominikube

Run Kubernetes locally

29,143
4,863
29,143
695

Top Related Projects

5,336

Little helper to run CNCF's k3s in Docker

13,281

Kubernetes IN Docker - local clusters for testing Kubernetes

22,991

Podman: A tool for managing OCI containers and pods.

:warning: This repository is deprecated and will be archived (Docker CE itself is NOT deprecated) see the https://github.com/docker/docker-ce/blob/master/README.md :warning:

MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge.

Quick Overview

Minikube is a tool that makes it easy to run Kubernetes locally. It creates a single-node Kubernetes cluster inside a virtual machine (VM) on your personal computer, allowing you to develop and test your applications on Kubernetes without the need for a full-fledged Kubernetes cluster.

Pros

  • Easy Local Kubernetes Development: Minikube provides a simple and straightforward way to set up a Kubernetes environment on your local machine, making it easier to develop and test Kubernetes-based applications.
  • Supports Multiple Hypervisors: Minikube supports various hypervisors, including VirtualBox, VMware, Hyper-V, and Docker, allowing you to choose the one that best fits your development environment.
  • Extensive Feature Set: Minikube comes with a wide range of features, including support for addons, container runtimes, and Kubernetes versions, making it a versatile tool for Kubernetes development and testing.
  • Cross-Platform Compatibility: Minikube can be used on Windows, macOS, and Linux, making it accessible to developers across different operating systems.

Cons

  • Limited Scalability: Minikube is designed for local development and testing, and it may not be suitable for running large-scale, production-ready Kubernetes clusters.
  • Potential Performance Issues: Depending on the hardware of your local machine, Minikube may experience performance issues, especially when running resource-intensive applications.
  • Dependency on Hypervisors: Minikube requires a hypervisor to be installed on your local machine, which can add an extra layer of complexity for some users.
  • Limited Customization: While Minikube provides a wide range of features, the level of customization available may be limited compared to setting up a full-fledged Kubernetes cluster.

Getting Started

To get started with Minikube, follow these steps:

  1. Install a hypervisor on your local machine. Minikube supports VirtualBox, VMware, Hyper-V, and Docker.
  2. Install Minikube on your system. You can download the latest version from the Minikube GitHub repository.
  3. Start Minikube with the following command:
minikube start
  1. Once Minikube is running, you can interact with the Kubernetes cluster using the kubectl command-line tool. For example, to view the nodes in your cluster:
kubectl get nodes
  1. You can also enable and use various addons provided by Minikube, such as the Kubernetes dashboard, by running:
minikube addons enable dashboard
  1. To stop Minikube, use the following command:
minikube stop

That's it! You now have a local Kubernetes cluster set up using Minikube, which you can use for developing and testing your Kubernetes-based applications.

Competitor Comparisons

5,336

Little helper to run CNCF's k3s in Docker

Pros of k3d

  • Lightweight and faster to set up compared to Minikube
  • Supports multi-node clusters out of the box
  • Better integration with container registries

Cons of k3d

  • Less mature and smaller community than Minikube
  • Fewer built-in addons and integrations
  • Limited support for non-Docker runtimes

Code Comparison

k3d cluster creation:

k3d cluster create mycluster --servers 1 --agents 2

Minikube cluster creation:

minikube start --nodes 3 -p mycluster

Both k3d and Minikube are tools for running local Kubernetes clusters, but they have different approaches. k3d is built on top of k3s, a lightweight Kubernetes distribution, while Minikube is a more feature-rich solution that supports multiple drivers and configurations.

k3d excels in simplicity and speed, making it ideal for quick development and testing scenarios. It leverages Docker to create lightweight cluster nodes, resulting in faster startup times and lower resource consumption.

Minikube, on the other hand, offers a more comprehensive Kubernetes experience with a wider range of features and addons. It supports multiple hypervisors and container runtimes, making it more versatile across different environments.

The choice between k3d and Minikube depends on specific requirements, such as cluster complexity, resource constraints, and desired features. k3d is great for rapid development and CI/CD pipelines, while Minikube is better suited for more complex setups and environments that closely mimic production clusters.

13,281

Kubernetes IN Docker - local clusters for testing Kubernetes

Pros of kind

  • Faster cluster creation and teardown times
  • Supports multi-node clusters out of the box
  • Lighter on system resources, especially for multiple clusters

Cons of kind

  • Less extensive driver support (primarily focused on Docker)
  • Fewer built-in addons and plugins
  • Limited persistent storage options

Code Comparison

kind configuration:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker

minikube configuration:

minikube start --nodes 3 -p multinode-demo

Both kind and minikube are tools for running local Kubernetes clusters, primarily for development and testing purposes. kind (Kubernetes IN Docker) uses Docker containers as nodes, while minikube supports various drivers including VirtualBox, HyperKit, and Docker.

kind excels in speed and efficiency, making it ideal for CI/CD pipelines and scenarios requiring frequent cluster creation. It's also more suitable for testing multi-node setups.

minikube offers a more feature-rich experience with extensive driver support and a wider range of addons. It's generally easier for beginners and provides better persistent storage options, making it more suitable for certain development workflows.

The choice between kind and minikube depends on specific use cases, with kind being preferable for quick, lightweight clusters, and minikube offering a more comprehensive local Kubernetes experience.

22,991

Podman: A tool for managing OCI containers and pods.

Pros of Podman

  • Daemonless architecture, improving security and resource usage
  • Rootless containers by default, enhancing security
  • OCI-compliant, offering better compatibility with Docker

Cons of Podman

  • Less mature ecosystem compared to Kubernetes
  • Limited support for complex orchestration scenarios
  • Steeper learning curve for users familiar with Docker

Code Comparison

Minikube start command:

minikube start --driver=virtualbox

Podman run command:

podman run -it --name mycontainer alpine /bin/sh

Key Differences

Minikube is designed to run a local Kubernetes cluster, while Podman focuses on running individual containers without a daemon. Minikube is better suited for testing and developing Kubernetes applications, whereas Podman is ideal for running containers in production environments with enhanced security.

Minikube provides a full Kubernetes environment, including features like service discovery and load balancing. Podman, on the other hand, offers a more lightweight solution for running containers without the overhead of a full orchestration platform.

Both projects aim to simplify container management, but they target different use cases. Minikube is tailored for Kubernetes development, while Podman provides a more secure and efficient alternative to traditional container runtimes like Docker.

:warning: This repository is deprecated and will be archived (Docker CE itself is NOT deprecated) see the https://github.com/docker/docker-ce/blob/master/README.md :warning:

Pros of docker-ce

  • Provides a full Docker environment for local development and testing
  • Offers broader compatibility with various Docker features and tools
  • Supports a wider range of operating systems and architectures

Cons of docker-ce

  • Heavier resource usage compared to Minikube
  • Lacks built-in Kubernetes support, requiring additional setup for Kubernetes development
  • May have a steeper learning curve for those primarily focused on Kubernetes

Code Comparison

Minikube startup:

minikube start

docker-ce container run:

docker run -d --name my-container nginx

Key Differences

  • Purpose: Minikube is specifically designed for local Kubernetes development, while docker-ce provides a full Docker environment.
  • Resource Usage: Minikube is generally lighter on system resources compared to docker-ce.
  • Kubernetes Integration: Minikube offers out-of-the-box Kubernetes support, while docker-ce requires additional setup for Kubernetes.
  • Learning Curve: Minikube may be easier for those focused on Kubernetes, while docker-ce provides a broader Docker ecosystem experience.

Use Cases

  • Choose Minikube for: Kubernetes-specific development and testing, lightweight local clusters
  • Choose docker-ce for: General Docker development, broader compatibility with Docker tools and features, non-Kubernetes container workflows

MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge.

Pros of MicroK8s

  • Lightweight and fast installation process
  • Supports multiple architectures (x86, ARM)
  • Built-in add-ons for easy feature expansion

Cons of MicroK8s

  • Limited to Ubuntu and snap-supported systems
  • Less extensive documentation compared to Minikube

Code Comparison

MicroK8s installation:

sudo snap install microk8s --classic
microk8s status --wait-ready
microk8s kubectl get all --all-namespaces

Minikube installation:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start
kubectl get po -A

Both MicroK8s and Minikube are popular tools for running Kubernetes locally, but they have different approaches. MicroK8s is designed to be a lightweight, fast-starting Kubernetes environment, particularly well-suited for Ubuntu systems. It offers easy installation through snap and provides built-in add-ons for quick feature expansion.

On the other hand, Minikube is more versatile in terms of supported operating systems and offers a more extensive ecosystem of documentation and community support. It simulates a full Kubernetes cluster, which can be beneficial for testing more complex deployments.

The choice between MicroK8s and Minikube often depends on the specific use case, development environment, and personal preferences of the user.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

minikube

Actions Status GoReport Widget GitHub All Releases Latest Release OpenSSF Best Practices OpenSSF Scorecard

minikube logo

minikube implements a local Kubernetes cluster on macOS, Linux, and Windows. minikube's primary goals are to be the best tool for local Kubernetes application development and to support all Kubernetes features that fit.

screenshot

Features

minikube runs the latest stable release of Kubernetes, with support for standard Kubernetes features like:

As well as developer-friendly features:

For more information, see the official minikube website

Installation

See the Getting Started Guide

:mega: Please fill out our fast 5-question survey so that we can learn how & why you use minikube, and what improvements we should make. Thank you! :dancers:

Documentation

See https://minikube.sigs.k8s.io/docs/

More Examples

See minikube in action here

Governance

Kubernetes project is governed by a framework of principles, values, policies and processes to help our community and constituents towards our shared goals.

The Kubernetes Community is the launching point for learning about how we organize ourselves.

The Kubernetes Steering community repo is used by the Kubernetes Steering Committee, which oversees governance of the Kubernetes project.

Community

minikube is a Kubernetes #sig-cluster-lifecycle project.

Join our community meetings: