Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Running Kubernetes locally on M1 Mac

I'm looking to see if it's currently possible to run Kubernetes locally on a 2020 M1 MacBook air.

The environment I need is relatively simple, just for going through some tutorials. As an example, this operator-sdk guide.

So far I've tried microk8s and minikube, as they're tools I've used before on other machines.

For both of these, I've installed them using brew after opening the terminal app "with Rosetta 2" (i.e like this). My progress is then:

Minikube

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.

Microk8s

microk8s install asks to install multipass, which then errors with An error occurred with the instance when trying to start with 'multipass': returned exit code 2. Ensure that 'multipass' is setup correctly and try again.. Multipass shows a microk8s-vm stuck in starting. I think this may relate to this issue https://github.com/canonical/multipass/issues/1857.

I'm aware I'd probably be better chasing up those issues for help on these particular errors. What would be great is any general advice on if it's currently possible/advisable to setup a basic Kubernetes env for playing with on an M1 mac. I'm not experienced with the underlying technologies here, so any additional context is welcome. :)

If anyone has suggestions for practising Kubernetes, alternative to setting up a local cluster, I'd also appreciate them. Thanks!

like image 936
James Cockbain Avatar asked Jan 23 '21 20:01

James Cockbain


People also ask

How do I run Kubernetes locally on Mac?

Click the Docker icon in the status bar, go to “Preferences”, and on the “Kubernetes” tab check “Enable Kubernetes” as shown in the figure below. This will start a single node Kubernetes cluster for you and install the kubectl command line utility as well.

Does Kubernetes run on M1 Mac?

Solution – kind Clusters Kind is a Kubernetes cluster that leverages Docker to run a cluster. Docker and Docker Desktop now fully supports M1 Macs, and by only needing Docker any system that supports it you will be able to run a kind cluster with ease.

Can I use Kubernetes locally?

You can download Kubernetes to deploy a Kubernetes cluster on a local machine, into the cloud, or for your own datacenter. Several Kubernetes components such as kube-apiserver or kube-proxy can also be deployed as container images within the cluster.


2 Answers

First, it is usually good to have Docker when working with containers. Docker now has a Tech Preview of Docker for Apple M1 based macs.

When you have a workin Docker on your machine, it should also work to use Kind - a way to run Kubernetes on Docker containers.

like image 118
Jonas Avatar answered Oct 23 '22 17:10

Jonas


Update (Jan 2022): I noticed that microk8s docs have published a tutorial for m1 installs. I followed this and it works fine on my machine now.

Additionally, I can also now setup a cluster on Minikube by following the instructions in the docs with ARM64 as my architecture.

like image 29
James Cockbain Avatar answered Oct 23 '22 17:10

James Cockbain