After I’ve gotten podman running, I want to start using minikube:
rolfedh@rolfedh-HP-Z2-Mini-G3-Workstation:~$ minikube start 😄 minikube v1.23.0 on Linuxmint 20.3 ✨ Using the podman driver based on user configuration 💣 Exiting due to PROVIDER_PODMAN_NOT_RUNNING: "sudo -k -n podman version --format " exit status 1: sudo: a password is required 💡 Suggestion: Add your user to the 'sudoers' file: 'rolfedh ALL=(ALL) NOPASSWD: /usr/bin/podman' 📘 Documentation: https://podman.io
Looking at line 5, I see that starting minikube bombed. I must enable a non-root user like minikube to run podman. How do that?
From line 6, I copy the suggestion,
rolfedh ALL=(ALL) NOPASSWD: /usr/bin/podman and open
/etc/sudoers by using the
visudo command, which uses vim by default:
$ sudo visudo
If you prefer nano over vim, you can use `$ sudo EDITOR=nano visudo` instead:
/etc/sudoers open in the editor, I write the following comment for my future self, paste the suggestion, and save the changes:
# Added the following line so minikube can run podman rolfedh ALL=(ALL) NOPASSWD: /usr/bin/podman
I start minikube again:
$ minikube start 😄 minikube v1.23.0 on Linuxmint 20.3 ✨ Using the podman driver based on user configuration 👍 Starting control plane node minikube in cluster minikube 🚜 Pulling base image ... 💾 Downloading Kubernetes v1.22.1 preload ... > preloaded-images-k8s-v12-v1...: 515.04 MiB / 515.04 MiB 100.00% 4.25 MiB > gcr.io/k8s-minikube/kicbase: 355.82 MiB / 355.82 MiB 100.00% 2.75 MiB p/ E0501 20:01:53.791150 1379766 cache.go:200] Error downloading kic artifacts: not yet implemented, see issue #8426 🔥 Creating podman container (CPUs=2, Memory=7900MB) ... 🐳 Preparing Kubernetes v1.22.1 on Docker 20.10.8 ... ▪ Generating certificates and keys ... ▪ Booting up control plane ... ▪ Configuring RBAC rules ... 🔎 Verifying Kubernetes components... ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5 🌟 Enabled addons: storage-provisioner, default-storageclass 🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
And it works!
Some things I noted upon reviewing the cheery output, above:
- On line 6, I see minikube is running kubernetes v1.22. How do I get kubernetes v1.24, which is coming out next week? (topic for a future blog post)
- Reading TBD, I see minikube overwrote
.kube/configfile to make getting started easier. However, this overwrote the previous configuration, which I was using to connect to a kubernetes cluster I am running on Linode. No worries…I can easily get my hands on the
*kubeconfig.yamlfile for the Linode cluster. But I wonder, what’s the best way to manage multiple config files for multiple clusters? (topic for a future blog post)
To verify that things are running, I use kubectl to
get the names of running pods (
po) across all (
$ kubectl get po -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-78fcd69978-7bvgw 1/1 Running 0 42m kube-system etcd-minikube 1/1 Running 0 42m kube-system kube-apiserver-minikube 1/1 Running 0 42m kube-system kube-controller-manager-minikube 1/1 Running 0 42m kube-system kube-proxy-p6gqj 1/1 Running 0 42m kube-system kube-scheduler-minikube 1/1 Running 0 42m kube-system storage-provisioner 1/1 Running 1 (41m ago) 42m
Now, having accomplished my goals of getting minikube up and running, and having published this post, I can stop minikube and go hang out with my family.
$ minikube stop ✋ Stopping node "minikube" ... 🛑 Powering off "minikube" via SSH ... ✋ Stopping node "minikube" ... 🛑 Powering off "minikube" via SSH ... ✋ Stopping node "minikube" ... 🛑 Powering off "minikube" via SSH ... ✋ Stopping node "minikube" ...
I’m evaluating Nigel Poulton’s “Kubernetes Quick Start” for team training and want to establish alternatives to the tech stack in the book:
- Building images with podman and/or buildah instead of Docker Engine
- Running a cluster on my local machine by using minikube or microk8s instead of running one remotely on Linode.