minikube
colima
Our great sponsors
minikube | colima | |
---|---|---|
76 | 110 | |
28,207 | 16,369 | |
1.1% | - | |
9.9 | 8.2 | |
6 days ago | 10 days ago | |
Go | Go | |
Apache License 2.0 | MIT License |
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.
minikube
-
K3s β Lightweight Kubernetes
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 βοΈπ
$ 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
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
> 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
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
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!
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
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
If you are a Docker toolbox user on Windows, install minikube & then install kubectl
-
Deploy Kubernetes Resources in Minikube cluster using Terraform
$ 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
colima
-
Lcl.host: fast, easy HTTPS in your local dev environment
If you don't need a GUI, the following combo works pretty well:
-
Damn Small Linux 2024
You might look into CoLima as a way to get started.
https://github.com/abiosoft/colima?tab=readme-ov-file
Its user interface is Docker-like, using containers.
For full desktop, I've only used the commercial app "Parallels", which can set up an Ubuntu desktop for you. Also Fedora and Alpine and Debian I believe.
But
> I don't really have any resources to share. I just know how to boot a vmlinuz with an initramfs using QEMU, and decided to download the Linux kernel source code and try compiling it.
I highly recommend working through Linux from Scratch and possibly the Gentoo Handbook. It's a journey.
-
Howto: WASM runtimes in Docker / Colima
I could not find any guide how to add WASM container capability to Docker running on Colima. This guide provides a few Colima templates for exactly this, which adds WasmEdge, Wasmtime and Wasmer runtime types.
-
RamRamRamEveryoneSleepingOnDocker
Colima runs much faster on Macos: https://github.com/abiosoft/colima
-
Podman Desktop v1.5 with Compose onboarding and enhanced Kubernetes pod data
After docker desktop became unusable, I jumped to colima and never looked back. I still use the docker runtime in it (the non-proprietary part) but it also supports containerd. On Mac it's just a "brew install colima" and then "colima start"
I also install the compose and ecr credentials plug-ins (since I use ecr for my container registry.) It has the full functionality of docker desktop minus the UI, which I never used anyways.
-
K3s β Lightweight Kubernetes
On my M1 Pro system, I have nothing but positive things to say about the experience of using Colima (https://github.com/abiosoft/colima). Quick to set up and fast to use.
-
UTM β Virtual Machines for iOS and macOS
I'd say Lima and Colima should be enough for most use cases:
-
Lazydocker
The bash/zsh equivalent wouldn't be too hard, but I use fish.
[0] https://github.com/abiosoft/colima, https://hn.algolia.com/?q=https%3A%2F%2Fgithub.com%2Fabiosof...
[1] https://orbstack.dev [3], https://hn.algolia.com/?q=https%3A%2F%2Forbstack.dev
[2] https://github.com/abiosoft/colima#customizing-the-vm and https://github.com/abiosoft/colima/blob/main/docs/FAQ.md#edi...
[3] Iβm on OrbStack now, but it isnβt so much better at how I use Docker than Colima is that I think that itβs an instant buy, especially with the planned subscription model. If I used anything other than the Docker integration, I might think it's better, but as of right now, no.
I also have some issues with its insistence on asking for elevated permissions. I will never grant permission[4] to make a symlink to the "standard" Docker socket; context and `$DOCKER_HOST` work well enough. It should not ask if the permission hasn't been given once. I also worry about other "advanced" features that may need an elevated permissions helper[5].
[4] https://github.com/orbstack/orbstack/issues/281#issuecomment...
[5] https://github.com/orbstack/orbstack/issues/281#issuecomment... and following
- FLaNK Stack Weekly for 17 July 2023
-
Lima: A nice way to run Linux VMs on Mac
Also worth checking out is Colima, which uses Lima to give you a linux container environment without needing to install Docker Desktop:
What are some alternatives?
lima - Linux virtual machines, with a focus on running containers
Podman Desktop - Podman Desktop - A graphical tool for developing on containers and Kubernetes
kind - Kubernetes IN Docker - local clusters for testing Kubernetes
rd - Container Management and Kubernetes on the Desktop
kubespray - Deploy a Production Ready Kubernetes Cluster
podman - Podman: A tool for managing OCI containers and pods.
k9s - πΆ Kubernetes CLI To Manage Your Clusters In Style!
multipass - Multipass orchestrates virtual Ubuntu instances
docker-machine-for-mac - Docker Machine for Mac - an alternative to Docker for Mac
orbstack - Fast, light, simple Docker containers & Linux machines for macOS
macos-virtualbox - Push-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox on x86 CPUs for Windows, Linux, and macOS