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!
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.
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.
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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With