Live data from Hacker News

MicroK8s – Low-ops, minimal Kubernetes, for cloud, clusters, Edge and IoT

microk8s.io

91–100 of 138 posts

Re: MicroK8s – Low-ops, minimal Kubernetes, for cloud, clusters, Edge and IoT

#91

Deploying k8s has gotten a lot easier these days -- some alternatives in this space: - https://docs.k0sproject.io ( https://github.com/k0sproject/k0s ) - https://k3s.io ( https://github.com/k3s-io/k3s/ ) k0s is my personal favorite and what I run, the decisions they have made align very well with how I want to run my clusters versus k3s which is similar but slightly different. Of course you also can't go wrong with k…

k3s is brilliant. we run production clusters on it. The problem with k3s is that the architecture level libraries are a bit outdated. Early on, it was for a particular reason - ARM64 (raspberry pi) support. But today, like everyone is on ARM - even AWS. For example the network library is Flannel. Almost everyone switches to Calico for any real work stuff on k3s. it is not even a packaged alternative. Go-do-it-urself.…

> For example the network library is Flannel. Almost everyone switches to Calico for any real work stuff on k3s.

What's the tradeoff? Why not flannel for Real Work™?

Re: MicroK8s – Low-ops, minimal Kubernetes, for cloud, clusters, Edge and IoT

#92

Deploying k8s has gotten a lot easier these days -- some alternatives in this space: - https://docs.k0sproject.io ( https://github.com/k0sproject/k0s ) - https://k3s.io ( https://github.com/k3s-io/k3s/ ) k0s is my personal favorite and what I run, the decisions they have made align very well with how I want to run my clusters versus k3s which is similar but slightly different. Of course you also can't go wrong with k…

Is developing locally with one of these k8s implementations a good option? My current workflow is to develop locally with a combination of bare (non-containerized) servers and Docker containers, but all of my deployment is to a hosted k8s cluster. If developing locally with k8s would likely be a better workflow, are any of these options better than the others for that?

The simplest way to bring up a local k8s cluster on your machine for development is to use Kind (https://kind.sigs.k8s.io/).

Re: MicroK8s – Low-ops, minimal Kubernetes, for cloud, clusters, Edge and IoT

#93

Deploying k8s has gotten a lot easier these days -- some alternatives in this space: - https://docs.k0sproject.io ( https://github.com/k0sproject/k0s ) - https://k3s.io ( https://github.com/k3s-io/k3s/ ) k0s is my personal favorite and what I run, the decisions they have made align very well with how I want to run my clusters versus k3s which is similar but slightly different. Of course you also can't go wrong with k…

Is developing locally with one of these k8s implementations a good option? My current workflow is to develop locally with a combination of bare (non-containerized) servers and Docker containers, but all of my deployment is to a hosted k8s cluster. If developing locally with k8s would likely be a better workflow, are any of these options better than the others for that?

The best solution I have found for developing locally on k8s is k3d [0]. It quickly deploys k3s clusters inside docker. It comes with a few extras like adding a local docker registry and configuring the cluster(s) to use it. It makes it super easy to setup and tear down clusters.

I usually only reach for it when I am building out a helm charm for a project and want to test it. Otherwise docker-compose is usually enough and is less boilerplate to just get an app and a few supporting resources up and running.

One thing I have been wanting to experiment with more is using something like Tilt [1] for local development. I just have not had an app that required it yet.

[0] https://k3d.io/ [1] https://tilt.dev/

Re: MicroK8s – Low-ops, minimal Kubernetes, for cloud, clusters, Edge and IoT

#94
post #60

I tried a few incarnations of self-hosted k8s a few years ago, and the biggest problem I had was persistent storage. If you are using a cloud service they will integrate k8s into whatever persistent storage they offer, but if you are self-hosting you are left on your own, it seems most people end up using something like nfs or hostPath - but that ends up being a single point of failure. Have there been any developmen…

Distributed minio[1] maybe? Assuming you can get by with S3-like object storage.

[1] https://docs.min.io/docs/distributed-minio-quickstart-guide....

Re: MicroK8s – Low-ops, minimal Kubernetes, for cloud, clusters, Edge and IoT

#95
It hadn't occurred to me that there were multiple different kubernetes. I thought it was essentially just a single app, or rather collection of apps.

Are these essentially different choices available for people who wish to self host their k8s clusters?

Are there any good resources that summarise the different advantages of each choice? What is the same between all the choices, what are the differences?

Re: MicroK8s – Low-ops, minimal Kubernetes, for cloud, clusters, Edge and IoT

#96
post #95

It hadn't occurred to me that there were multiple different kubernetes. I thought it was essentially just a single app, or rather collection of apps. Are these essentially different choices available for people who wish to self host their k8s clusters? Are there any good resources that summarise the different advantages of each choice? What is the same between all the choices, what are the differences?

They're Kubernetes distributions. So think of Kubernetes like Linux, and kubeadm, OpenShift, k3s like Ubuntu, Red Hat etc.

Re: MicroK8s – Low-ops, minimal Kubernetes, for cloud, clusters, Edge and IoT

#97
I use MicroK8S for local testing of Kubernetes clusters on my laptop and it works pretty well. I like that I can just run microk8s reset to clear out the state so I can redeploy everything without fear of some lingering configuration laying behind. I have yet to deploy it to an actual server though, though I would definitely be interested if it could do what EKS can do to some capacity (mainly creating EBS volumes and load balancers).

Re: MicroK8s – Low-ops, minimal Kubernetes, for cloud, clusters, Edge and IoT

#98
post #95

It hadn't occurred to me that there were multiple different kubernetes. I thought it was essentially just a single app, or rather collection of apps. Are these essentially different choices available for people who wish to self host their k8s clusters? Are there any good resources that summarise the different advantages of each choice? What is the same between all the choices, what are the differences?

They're Kubernetes distributions. So think of Kubernetes like Linux, and kubeadm, OpenShift, k3s like Ubuntu, Red Hat etc.

What would be the equivalent of the kernel (the bit they all share)?

Re: MicroK8s – Low-ops, minimal Kubernetes, for cloud, clusters, Edge and IoT

#99
post #30

Earlier quoted context omitted.

Yes it's changed massively, but it's recent - only since 2019. I am the creator of the k3sup (k3s installer) tool that was mentioned and have a fair amount of experience with K3s on Raspberry Pi too. You might also like my video "Exploring K3s with K3sup" - https://www.youtube.com/watch?v=_1kEF-Jd9pw https://k3sup.dev/

What has been changed to improve k8s for applications with poor connectivity between workers on the edge and the control plane in the cloud?

Other than bugs around bad connections causing hangs (the kubelet is less vulnerable to pathological failures in networking causing it to stall), nothing significant.

Kube is designed for nodes to have continuous connectivity to the control plane. If connectivity is disrupted and the machine restarts, none of the workloads will be restarted until connectivity is restored.

I.e. if you can have up to 10m of network disruption then at worst a restart / reboot will take 10m to restore the apps on that node.

Many other components (networking, storage, per node workers) will likely also have issues if they aren’t tested in those scenarios (i’ve seen some networking plugins hang or otherwise fail).

That said, there are lots of people successfully running clusters like this as long as worst case network disruption is bounded, and it’s a solvable problem for many of them.

I doubt we’ll see a significant investment in local resilience in Kubelet from the core project (because it’s a lot of work), but I do think eventually it might get addressed in the community (lots of OpenShift customers have asked for that behavior). The easier way today is run edge single node clusters, but then you have to invent new distribution and rollout models on top (ie gitops / custom controllers) instead of being able to reuse daemonsets.

We are experimenting in various ecosystem projects with patterns would let you map a daemonset on one cluster to smaller / distributed daemonsets on other clusters (which gets you local resilience).

Re: MicroK8s – Low-ops, minimal Kubernetes, for cloud, clusters, Edge and IoT

#100

Can it replace Docker on my local dev machine?

The classic "it depends" answer applies here, along two axes: container assembly, and container execution.

If you mean "docker" the binary used to build container images, you don't even need that right now -- there are multiple projects that will build container images without involving docker or dockerd.

If you mean "dockerd" the container management engine that one controls via "docker" to start and stop containers, then yes microk8s will help as they appear to use containerd inside the snap (just like kind and likely all such "single binary kubernetes" setups do): https://github.com/ubuntu/microk8s/blob/master/docs/build.md...

Post reply on HN