Live data from Hacker News

Bare-Metal Kubernetes with K3s

blog.alexellis.io

101–110 of 136 posts

Re: Bare-Metal Kubernetes with K3s

#101

Getting Kubernetes up and running isn't really the issue anymore, that's pretty easy to do. The tricky part is long term maintenance and storage. I'm not really sure what people expect gain from these kinds of article, they're great as notes, but it's not something I'd use as a starting point for installing a production Kubernetes cluster. The initial setup of a Kubernetes cluster is something most HN readers could d…

> Getting Kubernetes up and running isn't really the issue anymore, that's pretty easy to do. The tricky part is long term maintenance and storage. This times 100. Deploying basic clusters is easy. Keeping a test/dev-cluster running for a while? Sure. Keeping production clusters running (TLS cert TTLs expiring, anyone?), upgrading to new K8s versions, proper monitoring (the whole stack, not just your app or the contr…

first of all with k3s keeping a production cluster running is still pretty easy.

second you should always be ready to start from scratch, which is also pretty simple, because of terraform.

a lot of people are scared of k8s but they did not even try. they prefer to maintain their scary ansible/puppet whatever script that works only half as good as k8s.

Re: Bare-Metal Kubernetes with K3s

#102

Earlier quoted context omitted.

Wikipedia [0] doesn't agree with you (neither do I, but who am I anyway?): "A bare-metal server is a computer server that hosts one tenant, or consumer, only.[1] The term is used for distinguishing between servers that can host multiple tenants and which utilize virtualisation and cloud hosting.[2] Such servers are used by a single consumer and are not shared between consumers. Each server may run any amount of work…

See https://en.wikipedia.org/wiki/Bare_machine . Quoting the important part: > In computer science, bare machine (or bare metal) refers to a computer executing instructions directly on logic hardware without an intervening operating system. Bare-metal server has indeed been used to refer to non-virtualized servers, but it's a misnomer. The current terminology for this is "dedicated server".

A misnomer repeated a thousand times by a thousand different people becomes a/the new meaning. It's how human languages work and evolve or change over time.

Today when most tech people talk about bare metal they refer to a server that is not virtual.

Re: Bare-Metal Kubernetes with K3s

#103

Getting Kubernetes up and running isn't really the issue anymore, that's pretty easy to do. The tricky part is long term maintenance and storage. I'm not really sure what people expect gain from these kinds of article, they're great as notes, but it's not something I'd use as a starting point for installing a production Kubernetes cluster. The initial setup of a Kubernetes cluster is something most HN readers could d…

I was one of those backwards people who opposed containers, until late 2019.

My start was the official kubernetes docs, step by step. Try everything, write it down, make ansible playbooks. Even used some of their interactive training modules, but I quickly had my own cluster up in vagrant so didn't really need the online shell.

Now we have two clusters at work, I have ansible playbooks I'm really happy with that help me manage both our on-prem clusters and my managed LKE with the same playbooks.

I'm completely sold on this container thing. :)

Re: Bare-Metal Kubernetes with K3s

#104
post #99
post #2

I actually just got a NUC with 64gb ram. Alpine installed to encrypted NVMe zfs zpool. This runs KVM One of these guests is alpine with k3s (tried k3os, very limiting in a good way) that allows me to pass a host directory directly into the vm using p9 (tried nfs but lil heavy) So any storage needs get the benifit of regular snapshots, compression and sync to nas. Really wish it would be more know that k8 single node…

Can you explain what p9 is?

A network filesystem developed for the Plan 9 operating system https://en.wikipedia.org/wiki/9P_(protocol)

Re: Bare-Metal Kubernetes with K3s

#105

Earlier quoted context omitted.

It's still using the same old stack, just containerized. For example, you're no longer manually editing nginx conf, but instead writing the config as yaml annotation to tell the nginx ingress what to do. Instead of editing wp-config.php when deploying wordpress, you specify the db config as environmental variables in yaml file, etc.

>For example, you're no longer manually editing nginx conf, You now have to do the configuration in YAML, which is MUCH MUCH worse.

I don't get it, how do you configure nginx with a YAML file?

Re: Bare-Metal Kubernetes with K3s

#106

Earlier quoted context omitted.

Bare-metal refers to running on hardware directly (vs. running on VMs or the cloud). I'm interested to know what you thought it was.

https://en.wikipedia.org/wiki/Bare_machine > In computer science, bare machine (or bare metal) refers to a computer executing instructions directly on logic hardware without an intervening operating system.

https://en.wikipedia.org/wiki/Bare-metal_server

Re: Bare-Metal Kubernetes with K3s

#107

I don't entirely understand what's happening here. The title and the post talk a lot about "Bare-Metal", but it also seems to indicate that everything is hosted on servers running Ubuntu. Which, if accurate, seems to be Kubernetes running on Linux, not bare-metal?

Bare-metal refers to running on hardware directly (vs. running on VMs or the cloud). I'm interested to know what you thought it was.

Directly on the hardware. It's the only definition of the term that I'm familiar with. Like the difference between writing your application and managing lifecycle and peripheral access all yourself directly to your MCU vs. using an RTOS to provide you facilities for task scheduling and I/O primitives, etc.

I've never before encountered, "Includes a full feature-rich OS" as "bare-metal" before. Reading the title I assumed someone managed to get some flavor of Kubernetes running right on the hardware as the lowest-level software layer of the system. That would have meant bare-metal to me. What's described here is running Kubernetes on a physical host rather than a virtual host from what I can tell, but it's not running Kubernetes "bare-metal" because between Kubernetes and the "metal" is Linux.

Or at least that's what it would mean in my world, but the interpretation appears to be different for others. Outside of confusion, I was also just disappointed. This article is just basically setting up Kubernetes. That it's on a physical host is a lot less interesting and novel to me than if they'd managed to implement some shape of Kubernetes as the OS itself, which is what I'd originally interpreted the title to mean.

Re: Bare-Metal Kubernetes with K3s

#108
post #101

Earlier quoted context omitted.

> Getting Kubernetes up and running isn't really the issue anymore, that's pretty easy to do. The tricky part is long term maintenance and storage. This times 100. Deploying basic clusters is easy. Keeping a test/dev-cluster running for a while? Sure. Keeping production clusters running (TLS cert TTLs expiring, anyone?), upgrading to new K8s versions, proper monitoring (the whole stack, not just your app or the contr…

first of all with k3s keeping a production cluster running is still pretty easy. second you should always be ready to start from scratch, which is also pretty simple, because of terraform. a lot of people are scared of k8s but they did not even try. they prefer to maintain their scary ansible/puppet whatever script that works only half as good as k8s.

I've been using this terraform provider quite a lot lately. It has made it a cinch to templatize a full manifest and pass data to the template for a deploy. We now have a fully reproducible base EKS cluster deploy done with working cert-manager/letsencrypt, nginx ingress, weave-net, fluentd logging to elasticsearch service, etc. Our application-specific code lives in a different repo and deploys things using YTT. It's so much more elegant than our old method of copying and pasting manifests and crossing our fingers and hoping the cluster didn't fall down. A full migration to a new cluster and deploy of a whole new application stack takes under an hour now.

https://github.com/gavinbunney/terraform-provider-kubectl

Re: Bare-Metal Kubernetes with K3s

#109

Earlier quoted context omitted.

Can you explain why one would use Kubernetes? I know containerization but still haven’t figured out wtf Kubernetes is. Everyone and their mother keeps telling me it’s an orchestration tool for containers. It’s as helpful as saying a Pecan pie is an orchestration of flour, sugar and pecans.

Orchestration systems like Kubernetes, Amazon ECS, and (formerly, it’s pretty dead) Mesos run on a cluster of systems and coordinate over the network. What they’re coordinating is running your containerized services, for example your API server, micro services, etc. So you can tell the orchestration service “run 5 copies of this and listen externally on port 9000. When a request comes in on external_ip:9000, redirect…

Thank you.

Is there some sort of a PID-feedback-loop control that monitors the CPU/memory load and helps spin up more instances if it sees more traffic? If Kubernetes doesn't do that, what piece of software can help automatically scale if there is a huge traffic spike?

Load balance AFAIK doesn't do that. It just helps distribute the load.

Re: Bare-Metal Kubernetes with K3s

#110
post #81
post #76

Earlier quoted context omitted.

What does it mean, in your opinion?

https://wiki.c2.com/?CloseToTheMetal Think various boards bootloaders, not even BIOS to rely on, that's running on bare metal. Calling something running on a normal x64 OS launched with UEFI as such is silly and inaccurate.

I am a professional in the field for many years and your version of the term is not widely accepted. There is a wikipedia page which describes the accepted definition: https://en.wikipedia.org/wiki/Bare-metal_server
Post reply on HN