kind VS minikube

Compare kind vs minikube and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
kind minikube
182 76
12,663 28,207
1.5% 1.1%
8.8 9.9
3 days ago 6 days ago
Go Go
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

kind

Posts with mentions or reviews of kind. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-26.
  • How to distribute workloads using Open Cluster Management
    3 projects | dev.to | 26 Jan 2024
    To get started, you'll need to install clusteradm and kubectl and start up three Kubernetes clusters. To simplify cluster administration, this article starts up three kind clusters with the following names and purposes:
  • 15 Options To Build A Kubernetes Playground (with Pros and Cons)
    4 projects | dev.to | 25 Jan 2024
    Kind: is a tool for running local Kubernetes clusters using Docker container "nodes." It was primarily designed for testing Kubernetes itself but can also be used for local development or continuous integration.
  • Exploring OpenShift with CRC
    2 projects | dev.to | 13 Jan 2024
    Fortunately, just as projects like kind and Minikube enable developers to spin up a local Kubernetes environment in no time, CRC, also known as OpenShift Local and a recursive acronym for "CRC - Runs Containers", offers developers a local OpenShift environment by means of a pre-configured VM similar to how Minikube works under the hood.
  • K3s Traefik Ingress - configured for your homelab!
    3 projects | dev.to | 15 Dec 2023
    I recently purchased a used Lenovo M900 Think Centre (i7 with 32GB RAM) from eBay to expand my mini-homelab, which was just a single Synology DS218+ plugged into my ISP's router (yuck!). Since I've been spending a big chunk of time at work playing around with Kubernetes, I figured that I'd put my skills to the test and run a k3s node on the new server. While I was familiar with k3s before starting this project, I'd never actually run it before, opting for tools like kind (and minikube before that) to run small test clusters for my local development work.
  • Mykube - simple cli for single node K8S creatiom
    2 projects | /r/devops | 7 Dec 2023
    Features compared to https://kind.sigs.k8s.io/
  • Hacking in kind (Kubernetes in Docker)
    2 projects | dev.to | 18 Nov 2023
    Kind allows you to run a Kubernetes cluster inside Docker. This is incredibly useful for developing Helm charts, Operators, or even just testing out different k8s features in a safe way.
  • K3s – Lightweight Kubernetes
    17 projects | news.ycombinator.com | 11 Oct 2023
    If you're just messing around, just use kind (https://kind.sigs.k8s.io) or minikube if you want VMs (https://minikube.sigs.k8s.io). Both work on ARM-based platforms.

    You can also use k3s; it's hella easy to get started with and it works great.

  • Two approaches to make your APIs more secure
    3 projects | dev.to | 29 Aug 2023
    We'll install APIClarity into a Kubernetes cluster to test our API documentation. We're using a Kind cluster for demonstration purposes. Of course, if you have another Kubernetes cluster up and running elsewhere, all steps also work there.
  • observing logs from Kubernetes pods without headaches
    2 projects | /r/kubernetes | 26 Aug 2023
    yes I know there is lens, but it does not allow me to see logs of multiple pods at same time and what is even more important it is not friendly for ephemeral clusters - in my case with help of kind I am recreating whole cluster each time from scratch
  • We moved our Cloud operations to a Kubernetes Operator
    3 projects | dev.to | 15 Aug 2023
    Unit tests were written against an in-memory Kubernetes API server using the controller-runtime/pkg/envtest library. Envtest allowed us to iterate quickly since we could run tests against a fresh API cluster that started up in around 5 seconds instead of having to spin up a new cluster every time we wanted to run a test suite. Even existing micro-cluster tools like Kind could not get us that level of performance. Since envtest is also not packaged with any controllers, we could also set our test cluster to a specific state and be sure that this state would not be modified unless we explicitly did so in our test code. This allowed us to fully test specific edge-cases without having to worry about control plane-level controllers modifying various objects out from underneath us.

minikube

Posts with mentions or reviews of minikube. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-11.
  • K3s – Lightweight Kubernetes
    17 projects | news.ycombinator.com | 11 Oct 2023
    If you're just messing around, just use kind (https://kind.sigs.k8s.io) or minikube if you want VMs (https://minikube.sigs.k8s.io). Both work on ARM-based platforms.

    You can also use k3s; it's hella easy to get started with and it works great.

  • Developer’s Guide to Building Kubernetes Cloud Apps ☁️🚀
    2 projects | dev.to | 10 Oct 2023
    $ minikube addons enable dashboard 💡 dashboard is an addon maintained by Kubernetes. For any concerns contact minikube on GitHub. You can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS ▪ Using image docker.io/kubernetesui/dashboard:v2.7.0 ▪ Using image docker.io/kubernetesui/metrics-scraper:v1.0.8 🌟 The 'dashboard' addon is enabled $ minikube addons enable metrics-server 💡 metrics-server is an addon maintained by Kubernetes. For any concerns contact minikube on GitHub. You can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS ▪ Using image registry.k8s.io/metrics-server/metrics-server:v0.6.4 🌟 The 'metrics-server' addon is enabled $ minikube addons enable ingress 💡 ingress is an addon maintained by Kubernetes. For any concerns contact minikube on GitHub. You can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS 💡 After the addon is enabled, please run "minikube tunnel" and your ingress resources would be available at "127.0.0.1" ▪ Using image registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20230407 ▪ Using image registry.k8s.io/ingress-nginx/controller:v1.8.1 ▪ Using image registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20230407 🔎 Verifying ingress addon... 🌟 The 'ingress' addon is enabled
  • Implementing TLS in Kubernetes
    13 projects | dev.to | 1 Aug 2023
    A Kubernetes distribution: You need to install a Kubernetes distribution to create the Kubernetes cluster and other necessary resources, such as deployments and services. This tutorial uses kind (v0.18.0), but you can use any other Kubernetes distribution, including minikube or K3s.
  • Kube-bench and Popeye: A Power Duo for AKS Security Compliance
    3 projects | dev.to | 23 Jan 2023
    > minikube start 😄 minikube v1.22.0 on Darwin 12.6.2 ✨ Using the hyperkit driver based on existing profile 👍 Starting control plane node minikube in cluster minikube 🏃 Updating the running hyperkit "minikube" VM ... 🎉 minikube 1.28.0 is available! Download it: https://github.com/kubernetes/minikube/releases/tag/v1.28.0 💡 To disable this notice, run: 'minikube config set WantUpdateNotification false' 🐳 Preparing Kubernetes v1.21.2 on Docker 20.10.6 ... 🔎 Verifying Kubernetes components... ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5 🌟 Enabled addons: storage-provisioner, default-storageclass ❗ /usr/local/bin/kubectl is version 1.25.2, which may have incompatibilites with Kubernetes 1.21.2. ▪ Want kubectl v1.21.2? Try 'minikube kubectl -- get pods -A' 🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default # Download the job.yaml file > curl https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml > job.yaml > kubectl apply -f job.yaml job.batch/kube-bench created > kubectl get pods -A  ✔  at minikube ⎈ NAMESPACE NAME READY STATUS RESTARTS AGE default kube-bench-t2fgh 0/1 ContainerCreating 0 5s > kubectl get pods -A  ✔  at minikube ⎈ NAMESPACE NAME READY STATUS RESTARTS AGE default kube-bench-t2fgh 0/1 Completed 0 32s
  • Best way to install and use kubernetes for learning
    19 projects | /r/kubernetes | 12 Nov 2022
    minikube (https://github.com/kubernetes/minikube) - based off of docker machine, uses driver for backend, so can use KVM, Vagrant, or Docker itself to bootstrap K8S cluster.
  • Running Kubernetes locally on M1 Mac
    2 projects | /r/codehunter | 23 Sep 2022
    When I run minikube start --driver=docker (having installed the tech preview of Docker Desktop for M1), an initialization error occurs. It seems to me that this is being tracked here https://github.com/kubernetes/minikube/issues/9224.
  • Kubernetes' minikube uses my Go Lang Project!
    2 projects | dev.to | 6 Aug 2022
    I am very honored to announce that my Go Language Project Box CLI Maker which makes Highly Customized Boxes for CLI is being used in Kubernetes's minikube which implements a local Kubernetes cluster for Mac OS, Linux and Windows, according to the description.
  • kubelet does not have ClusterDNS IP configured in Microk8s
    2 projects | /r/codehunter | 28 Jul 2022
    apiVersion: v1kind: Servicemetadata: name: kube-dns namespace: kube-system labels: k8s-app: kube-dns kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "KubeDNS"spec: selector: k8s-app: kube-dns clusterIP: 10.152.183.10 ports: - name: dns port: 53 protocol: UDP - name: dns-tcp port: 53 protocol: TCP---apiVersion: v1kind: ServiceAccountmetadata: name: kube-dns namespace: kube-system labels: kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile---apiVersion: v1kind: ConfigMapmetadata: name: kube-dns namespace: kube-system labels: addonmanager.kubernetes.io/mode: EnsureExistsdata: upstreamNameservers: |- ["8.8.8.8", "8.8.4.4"]# Why set upstream ns: https://github.com/kubernetes/minikube/issues/2027---apiVersion: apps/v1kind: Deploymentmetadata: name: kube-dns namespace: kube-system labels: k8s-app: kube-dns kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcilespec: # replicas: not specified here: # 1. In order to make Addon Manager do not reconcile this replicas parameter. # 2. Default is 1. # 3. Will be tuned in real time if DNS horizontal auto-scaling is turned on. strategy: rollingUpdate: maxSurge: 10% maxUnavailable: 0 selector: matchLabels: k8s-app: kube-dns template: metadata: labels: k8s-app: kube-dns annotations: scheduler.alpha.kubernetes.io/critical-pod: '' spec: tolerations: - key: "CriticalAddonsOnly" operator: "Exists" volumes: - name: kube-dns-config configMap: name: kube-dns optional: true containers: - name: kubedns image: gcr.io/google-containers/k8s-dns-kube-dns:1.15.8 resources: # TODO: Set memory limits when we've profiled the container for large # clusters, then set request = limit to keep this container in # guaranteed class. Currently, this container falls into the # "burstable" category so the kubelet doesn't backoff from restarting it. limits: memory: 170Mi requests: cpu: 100m memory: 70Mi livenessProbe: httpGet: path: /healthcheck/kubedns port: 10054 scheme: HTTP initialDelaySeconds: 60 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 readinessProbe: httpGet: path: /readiness port: 8081 scheme: HTTP # we poll on pod startup for the Kubernetes master service and # only setup the /readiness HTTP server once that's available. initialDelaySeconds: 3 timeoutSeconds: 5 args: - --domain=cluster.local. - --dns-port=10053 - --config-dir=/kube-dns-config - --v=2 env: - name: PROMETHEUS\_PORT value: "10055" ports: - containerPort: 10053 name: dns-local protocol: UDP - containerPort: 10053 name: dns-tcp-local protocol: TCP - containerPort: 10055 name: metrics protocol: TCP volumeMounts: - name: kube-dns-config mountPath: /kube-dns-config - name: dnsmasq image: gcr.io/google-containers/k8s-dns-dnsmasq-nanny:1.15.8 livenessProbe: httpGet: path: /healthcheck/dnsmasq port: 10054 scheme: HTTP initialDelaySeconds: 60 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 args: - -v=2 - -logtostderr - -configDir=/etc/k8s/dns/dnsmasq-nanny - -restartDnsmasq=true - -- - -k - --cache-size=1000 - --no-negcache - --log-facility=- - --server=/cluster.local/127.0.0.1#10053 - --server=/in-addr.arpa/127.0.0.1#10053 - --server=/ip6.arpa/127.0.0.1#10053 ports: - containerPort: 53 name: dns protocol: UDP - containerPort: 53 name: dns-tcp protocol: TCP # see: https://github.com/kubernetes/kubernetes/issues/29055 for details resources: requests: cpu: 150m memory: 20Mi volumeMounts: - name: kube-dns-config mountPath: /etc/k8s/dns/dnsmasq-nanny - name: sidecar image: gcr.io/google-containers/k8s-dns-sidecar:1.15.8 livenessProbe: httpGet: path: /metrics port: 10054 scheme: HTTP initialDelaySeconds: 60 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 args: - --v=2 - --logtostderr - --probe=kubedns,127.0.0.1:10053,kubernetes.default.svc.cluster.local,5,SRV - --probe=dnsmasq,127.0.0.1:53,kubernetes.default.svc.cluster.local,5,SRV ports: - containerPort: 10054 name: metrics protocol: TCP resources: requests: memory: 20Mi cpu: 10m dnsPolicy: Default # Don't use cluster DNS. serviceAccountName: kube-dns Please let me know what I'm missing.
  • Kubernetes Series (Part 1) : Basics of Kubernetes & its architecture
    2 projects | dev.to | 12 Jul 2022
    If you are a Docker toolbox user on Windows, install minikube & then install kubectl
  • Deploy Kubernetes Resources in Minikube cluster using Terraform
    2 projects | dev.to | 25 Jun 2022
    $ minikube start 😄 minikube v1.24.0 on Ubuntu 21.04 ▪ KUBECONFIG=$USERHOME/.kube/config 🎉 minikube 1.26.0 is available! Download it: https://github.com/kubernetes/minikube/releases/tag/v1.26.0 💡 To disable this notice, run: 'minikube config set WantUpdateNotification false' ✨ Using the docker driver based on existing profile 👍 Starting control plane node minikube in cluster minikube 🚜 Pulling base image ... 🔄 Restarting existing docker container for "minikube" ... 🐳 Preparing Kubernetes v1.22.3 on Docker 20.10.8 ... 🔎 Verifying Kubernetes components... ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5 🌟 Enabled addons: default-storageclass, storage-provisioner ❗ /snap/bin/kubectl is version 1.24.2, which may have incompatibilites with Kubernetes 1.22.3. ▪ Want kubectl v1.22.3? Try 'minikube kubectl -- get pods -A' 🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

What are some alternatives?

When comparing kind and minikube you can also consider the following projects:

colima - Container runtimes on macOS (and Linux) with minimal setup

lima - Linux virtual machines, with a focus on running containers

kubespray - Deploy a Production Ready Kubernetes Cluster

k9s - 🐶 Kubernetes CLI To Manage Your Clusters In Style!

k3d - Little helper to run CNCF's k3s in Docker

vcluster - vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.

nerdctl - contaiNERD CTL - Docker-compatible CLI for containerd, with support for Compose, Rootless, eStargz, OCIcrypt, IPFS, ...

k3s - Lightweight Kubernetes

kubetest2 - Kubetest2 is the framework for launching and running end-to-end tests on Kubernetes.

k0s - k0s - The Zero Friction Kubernetes