[HN Gopher] Minikube quickly sets up a local Kubernetes cluster ...
       ___________________________________________________________________
        
       Minikube quickly sets up a local Kubernetes cluster on macOS,
       Linux, and Windows
        
       Author : gjvc
       Score  : 87 points
       Date   : 2022-05-25 19:00 UTC (3 hours ago)
        
 (HTM) web link (minikube.sigs.k8s.io)
 (TXT) w3m dump (minikube.sigs.k8s.io)
        
       | _verandaguy wrote:
       | I'm not particularly involved with Kubernetes, but last I heard
       | (about 2 years ago), Minikube was on the way out (because it was
       | going into maintenance mode or something like that), and
       | Rancher's k3s was taking the mantle of "tiny local Kubernetes
       | server."
       | 
       | What happened? Was active maintenance on Minikube resumed?
        
         | encryptluks2 wrote:
         | Where did you hear that? Minikube never ceases development.
        
         | pojzon wrote:
         | K3s started being super inefficient. Using up to 20% of cpu for
         | idle cluster.
         | 
         | A lot of ppl decided to ditch it due to that.
        
           | skrtskrt wrote:
           | It's peaking at 8% CPU time on my 1-shared-vCPU digital ocean
           | droplet, spending most of its time below about 3% - I can't
           | imagine any modern laptop would blink at that usage.
        
             | pojzon wrote:
             | Search for Rasbian github issues. Raspberry community was
             | and is a big share in kubernetes lightwaight installations.
        
               | ClumsyPilot wrote:
               | Keep in mind that Pi is like an intel atom in
               | performance,and an old one to boot.
               | 
               | If you have anything with a 'real' cpu from the last 5
               | years, this problem is not going to exist for you
        
       | de6u99er wrote:
       | My preferred installation method on Linux is via brew [1] opposed
       | to the official installation instructions [2]. Additionally brew
       | contains formulaes for kubectl, k9s, helm, and many other
       | kubernetes related tools. It's the easiest way of keeping
       | everything up2date on a developer machine.
       | 
       | [1] https://formulae.brew.sh/formula/minikube [2]
       | https://minikube.sigs.k8s.io/docs/start/
        
         | nicce wrote:
         | Wow, I did not realise that you can use brew outside of Mac.
         | Thanks.
        
           | solarkraft wrote:
           | I knew, but am surprised anyone actually uses it. Are there
           | more of you?
        
             | jimmcslim wrote:
             | I have been using it on an WSL/Ubuntu instance just over
             | the last few days... for some things its pretty handy (e.g.
             | in the context of k8s I get a more up to date version of
             | the excellent kubectx utility via brew than apt). But for
             | others its bit of a pain, e.g. building Python through
             | pyenv and using OpenSSL in brew, etc.
        
             | qbasic_forever wrote:
             | Absolutely use and love homebrew on linux. All of the fun
             | rust-based tools that get posted here on hackernews (exa,
             | fd, ripgrep, fzf, etc.) are all there and much more up to
             | date than apt. Heck, I find brew is more up to date than
             | nix in some cases.
        
         | purerandomness wrote:
         | Why not use your distribution's native package installer?
        
           | qbasic_forever wrote:
           | k8s ecosystem tools are fast changing and native package
           | repos are woefully out of date. Minikube in particular has a
           | habit of just straight up breaking and requires a lot of
           | reading long github issues only to realize there's a fix in a
           | version just pushed 24 hours ago.
        
       | abdusco wrote:
       | I usually opt for k3d, because it gives you a cluster (or
       | multiple) that runs inside a docker container. If you already
       | have docker running, it's a quick and easy solution for setting
       | up and destroying local clusters.
       | 
       | https://k3d.io/
        
       | xenophonf wrote:
       | Anyone else experiencing DNS lookup failures on Minikube-managed
       | clusters running under VirtualBox? The host O/S or host DNS
       | server doesn't seem to matter. I've noticed this when trying to
       | build Alpine Linux-based images, an issue I reported here:
       | 
       | https://github.com/kubernetes/minikube/issues/13968
       | 
       | I'm really at a loss as to how to troubleshoot this as I'm still
       | learning how to use Kubernetes.
        
       | chrisweekly wrote:
       | There was a "use minikube as a drop-in replacement for Socker
       | Desktop" post not too long ago... which is a pretty nice look if
       | it works OOB.
        
         | rckrd wrote:
         | That was my post. I'm one of the ex-maintainers of minikube and
         | skaffold as well.
         | 
         | [0] https://matt-rickard.com/docker-desktop-alternatives/
        
       | erulabs wrote:
       | I run a startup that lets folks attach clusters and I'll just
       | say, for development or on windows/OSX, I highly recommend k3s
       | and Rancher Desktop (which wraps k3s). Dramatically fewer issues
       | and cpu usage compared to minikube.
       | 
       | Minikube does try to be more "correct", so it's possibly better
       | strictly for learning kubernetes or hacking on k8s itself.
        
         | LoveGracePeace wrote:
         | I've tried several of the kubes and k3s for my personal
         | projects works well. I'd use it for work too if I had different
         | options. I think Rancher Desktop might cost though so I use
         | kubectl to do everything.
        
       | claudiulodro wrote:
       | I'm late to the distributed system game, and I have a handful of
       | old PCs which I've been wanting to connect into some sort of
       | "supercomputer" or cluster as a learning exercise. Looking at the
       | docs, it seems to me like I could accomplish that in theory using
       | minikube, by treating the PCs as a local environment and managing
       | them all with k8s. Does that sound reasonable, am I way off base,
       | or is there a simpler method?
        
         | CraigJPerry wrote:
         | >> is there a simpler method?
         | 
         | I think kind wins the simplest but microk8s might be a close
         | second
         | 
         | https://ubuntu.com/tutorials/install-a-local-kubernetes-with...
        
         | thinkmassive wrote:
         | Avoid minikube for anything long-lived.
         | 
         | If part of your objective is to learn how to build a k8s
         | cluster then I'd recommend building it with kubeadm. If you
         | just want to get something working, k3s or microk8s could
         | fulfill your needs.
        
         | nojito wrote:
         | I do the exact same thing with some mini pcs as a hobby.
        
         | killingtime74 wrote:
         | I would use K3s to set it up
        
           | ClumsyPilot wrote:
           | K3s and microK8S are both decent choices, K3S appear more
           | well-adopted and 'production grade'
        
       | mc4ndr3 wrote:
       | minikube is the best kept secret in the container industry. Use
       | minikube to match closer to prod on your local development
       | machine.
        
         | gofreddygo wrote:
         | Yes and being decoupled from Docker Machine is super
         | underestimated in the community IMHO. I switched seamlessly
         | between VirtualBox based and Docker Machine based clusters in
         | no time when Docker went rogue with their licensing.
         | 
         | EDIT: we're talking dev environments only. Not prod. DO NOT put
         | minikube in prod.
        
           | dvtrn wrote:
           | _DO NOT put minikube in prod._
           | 
           | I'm watching this happen in real time at the current gig. I
           | brought up my concerns to the senior in charge of this. He's
           | doing it anyway.
           | 
           | Let you know how that goes.
        
             | solarkraft wrote:
             | What are the concerns? I keep hearing the same "don't use
             | it in prod" about docker, yet I know quite a few (small-
             | ish) operations successfully running on it.
        
               | deepsun wrote:
               | Hm, never heard against Docker in cloud (since early
               | times of Docker). Only about keeping your database in
               | Docker -- yes, that was arecommentadion some 5+ years ago
               | and maybe now as well.
        
               | thinkmassive wrote:
               | Minikube isn't intended to run production services.
               | You'll encounter a lot of constraints that don't exist on
               | a real cluster, and you'll likely lose important data if
               | you use it very long.
               | 
               | Docker made sense to use in production because people
               | wanted to run containers.
               | 
               | What could possibly be the justification for running
               | production workloads on minikube?
        
         | mt42or wrote:
         | Totally agree.
        
         | de6u99er wrote:
         | What do you mean by "best kept secret"?
        
           | skrtskrt wrote:
           | It's secretly used in almost every kubernetes tutorial on the
           | internet
        
       | mongol wrote:
       | What I have not understood with running K8S locally. Do I need to
       | run a separate container registry? Or can it read my containers
       | from disk?
        
         | swozey wrote:
         | You can run minikube image load image:tag to pull images from
         | your container runtime:
         | https://minikube.sigs.k8s.io/docs/handbook/pushing/#7-loadin...
        
         | ozarker wrote:
         | Not sure here but the local k8s setup included with docker
         | desktop uses your local registry. The downside is you have to
         | use docker desktop......
        
         | EdwardDiego wrote:
         | You can push images into it, or use it as your docker/podman
         | daemon, so the images are built directly in there, at least
         | with minikube. This command does the trick for the current
         | shell session:                 eval $(minikube docker-env)
        
       | ewuhic wrote:
       | How does one automate the minikube (or any other flavor)
       | provisioning and setting up the dev environment matched to prod
       | so there would be as little friction as possible?
       | 
       | Talking of something, which idempotently installs minikube if
       | necessary, pulls images from the remote registry, sets up the
       | network with DNS... Is there such a tool?
        
         | hhh wrote:
         | Rancher Desktop, wonderful tool on OS X and Windows when i've
         | used it.
        
       | baq wrote:
       | as someone late to the party, what's the local development auto-
       | reload, auto-deployment, etc. story in k8s? i can set up a k8s
       | instance with that or k3s or microk8s or whatever relatively
       | easily, but how do i get my code into there without having to
       | build and push images after the smallest change? short googling
       | points to skaffold[0], but is that state of the art?
       | 
       | [0] https://skaffold.dev/
        
         | rdli wrote:
         | (Note: I work on Telepresence)
         | 
         | There's a bunch of semi-opinionated tools like Skaffold:
         | Garden, Tilt (just bought by Docker), Docker Compose, and of
         | course, the trusty ol' shell script powered by kustomize.
         | 
         | We wrote Telepresence because we found that everyone has their
         | own snowflake-ish workflow once you get beyond the base case of
         | "build container, kubectl apply", so we decided to focus just
         | on the inner dev loop, and then integrate with your preferred
         | workflow. YMMV.
        
         | mrj wrote:
         | I'm currently working on creating a local dev with
         | https://tilt.dev/ and having a good time
        
           | godtoldmetodoit wrote:
           | +1 on Tilt. It just works.
        
           | ClumsyPilot wrote:
           | Tilt is excellent, and unlike other fools it does not ise
           | YAML, it uses python - real programming language- so you can
           | deal with any strange scoping, pathing,or arbitrary logic
           | like 'look for this file in this folder, but only on second
           | tuesday after full moon'
           | 
           | And it is declarative. Try it, and you will never look back
        
             | sound1 wrote:
             | enjoyed your comment!
        
         | stusmall wrote:
         | I appreciate the comments on this because its confirming my own
         | experience with k8s local dev best practices. As I write this
         | there are 5 comments with 4 different technologies.
         | 
         | For a less cheeky answer, I'm currently using skaffold but I'm
         | not in love with it. It does the job but has some rough edges
        
         | qbasic_forever wrote:
         | Skaffold is in my experience the best tool in this space, but
         | there are ton of promising options. There's a really nice VS
         | Code plugin from google that basically adds a whole workflow
         | based on skaffold to the IDE:
         | https://cloud.google.com/code/docs/vscode or
         | https://marketplace.visualstudio.com/items?itemName=GoogleCl...
         | Despite a lot of focus on Google's hosted k8s offersings, the
         | cloud code extension happily works with minikube and other
         | local clusters.
        
         | skinnyarms wrote:
         | Skaffold is great, I'm hearing good things about Tilt though so
         | I was planning on giving it a whirl soon.
        
         | scottm01 wrote:
         | Check out Devspace: https://devspace.sh/
         | 
         | Gives you a fairly slick "hot reload" experience in k8s
         | (minikube-created or not).
        
         | ranger207 wrote:
         | For webdev, my team has the build output directory mounted as
         | hostPath volumes, so you change the files on your disk and the
         | changes are reflected in the pod
        
         | yrro wrote:
         | odo, perhaps?
         | 
         | https://developers.redhat.com/products/odo/overview
        
       | jdoliner wrote:
       | I used minikube for a long time, it's pretty good but I found
       | kind to be a lot nicer of an experience and eventually switched.
       | 
       | https://kind.sigs.k8s.io/
        
         | nimbius wrote:
         | not a bad tool but you get ~90% of the same functionality with
         | podman, it doesnt need to run as root, and it supports user
         | scoped service definitions and control in systemd.
        
           | pitacracker wrote:
           | You're comparing apples and oranges.
        
           | thinkmassive wrote:
           | You can use kind with podman, and also rootless
           | 
           | https://kind.sigs.k8s.io/docs/user/rootless/
        
         | spockz wrote:
         | I can second this. Kind seems so much nicer. With minikube I
         | was somehow constantly messing with virtualisation frameworks.
         | Kind just works.
        
           | thinkmassive wrote:
           | Agree, Minikibe occupies a strange middle ground of being
           | ephemeral but heavyweight. It's slow enough to make it seem
           | worth maintaining the same cluster over time, but that was a
           | bad approach when I tried it.
           | 
           | Kind is very clearly ephemeral, and it starts up quickly
           | enough that it's not annoying to deal with frequent restarts
           | while developing setup scripts.
        
         | outime wrote:
         | Yep, _kind_ is IMHO the way to go for most of the use cases.
         | Really fast to set up new clusters and low resource consumption
         | due to its nature.
        
       | semitones wrote:
       | We use minikube for local development, very useful.
        
       | TruthWillHurt wrote:
       | What's the point of this post other than to rake points?
        
         | glitchcrab wrote:
         | Yeah, I really don't see why this belongs here - anyone who is
         | remotely involved with kubernetes knows about minikube, kind
         | etc. This isn't news.
        
       | CSDude wrote:
       | I've noticed that minikube can also setup multi node cluster
       | which can be nice to simulate some things.
       | 
       | https://minikube.sigs.k8s.io/docs/tutorials/multi_node/
        
       | deepsun wrote:
       | Long time ago I remember Minikube destroyed your hard drive (too
       | many small writes bad for SSDs). Is it fixed now?
        
       | executive wrote:
       | For Win10 Pro users, Minikube can run directly on Hyper-V.
        
       ___________________________________________________________________
       (page generated 2022-05-25 23:00 UTC)