
Show HN: k3sup ('ketchup') – bootstrap Kubernetes with k3s over SSH - alexellisuk
https://github.com/alexellis/k3sup
======
lykr0n
If you need an automated tool to set something up, that's a problem in my
book.

From someone who understands k8s, but doesn't have much practical knowledge of
it, the amount of "getting started" and "quick start" articles and tools is a
major turnoff for me. If I can't easily read and understand the system and
deploy it, I'm using blackbox system that I need to manage but can't
understand.

I need an automated tool to deploy this thing, another tool to manage it, a
tool to manage my applications, another tool to do specialized CI/CD, and so
on and so on. Just seems insane to me.

~~~
shockinglytrue
Managing self-installed k8s is a pain in the ass right now, but not much more
than trying to manually install Linux without using e.g. the Ubuntu installer.
Would that put you off using Linux?

Speaking as a daily Linux user since 1996, there are so many parts of the
system I still don't understand, but it's not necessary for me to e.g.
understand exactly how the font catalog and text rendering works to write a
document. The same is true here.

There are quite a few companies in this space trying to improve the self-
hosted experience, just give it some time

As for all the tools you supposedly need, the only one you actually need is
kubectl, and it's more than enough to accomplish everything. New ecosystems
always endure this abundance of "helpful tools" before consolidating on a few
important choices.

~~~
yjftsjthsd-h
If GNU/Linux was unusable without various hacked-on helper frontends, none of
which was comprehensive and none of which even tried to standardize, then yes
that would be a red flag. In practice, you have things like Ubuntu putting a
nice frontend on, but you also have things like the Arch folks, who explicitly
refuse to provide an installer because the "manual" process is totally
reasonable. So as an outsider, my understanding is that there are plenty of
different k8s distros, and a lot of helper frontends (and no clear winners
among them); are there people who find vanilla/handcrafted k8s okay? Is there
an "Arch K8s" distro? Or even, is there an Ubuntu of k8s (successfully hides
away the details and produces a clean working system that never requires a
user to leave the comfort of the GUI)? Unfortunately, I don't have the domain
knowledge to tell whether any given helper scripts are going to bite me down
the road, so this is a genuine question from someone who'd like to get into
k8s but can't see which option is sane.

~~~
harpratap
> are there people who find vanilla/handcrafted k8s okay?

Yes, we do.

> Is there an "Arch K8s" distro?

Kubernetes the hard way is pretty much Arch

> is there an Ubuntu of k8s (successfully hides away the details and produces
> a clean working system that never requires a user to leave the comfort of
> the GUI)?

Kubespray etc.

> so this is a genuine question from someone who'd like to get into k8s but
> can't see which option is sane.

It completely depends on how much money your company is willing to spend on
it. The larger the organization, the more it makes sense to go for "the Arch
way". If you are a tiny start-up with single digit Devops folks, stick to
managed offerings like GKE.

------
choward
This is getting ridiculous. Ketchup is only 3 letters longer and where the
hell does the s come from? If you expect my to pronounce it ketchup then spell
it correctly. Otherwise I'm calling it k 3 sup.

~~~
MereInterest
Absolutely. I cannot stand these abbreviations, because they are optimizing
for ease of typing rather than ease of reading.

~~~
andyfleming
I don’t necessarily disagree, but it’s probably a lot easier to come up with
unique project names. So many names are taken in package registries or the
community in general.

Also in this project, if they didn’t say it was called “ketchup”, then k3sup
makes some sense. If we accept that k3s exists, k3sup sounds reasonable.

------
boomskats
“Yeah, but why is it k3sup? Shouldn’t it be k3hup if it’s ketchup?”

~~~
ebg13
Really k8sup would be closest in both theme and also pronunciation.

~~~
choward
What 8 letters are you replacing?

~~~
ebg13
ubernete!

This program is a kubernetes boostrap, AKA k8s bootstrap, AKA k8s "up",
something that _actually_ sounds like ketchup instead of kethreesup. The
author not seeing that makes me both sad and angry.

~~~
pas
but it bootstraps k3s, which is k8s .. but 5 lighter. (why 5? no idea.) so
it's "k3s up".

------
wiradikusuma
"light-weight utility to get from zero to KUBECONFIG" \-- what is kubeconfig?

Here I am a total n00b in Kubernetes, hoping to get a clear path for learning
it as an app dev. I heard K3S as "easier" K8S, but still confused how to get
started and be productive with it (as app dev).

~~~
oso2k
DISCLAIMER: I work for Red Hat Consulting as an OpenShift/Kubernetes
consultant.

You might want to try minikube [0], minishift [1], CDK [2] or CRC [3]. You'll
want to have a machine with a bit of resources available. 2 cores+, 8GB+ RAM,
20GB+ disk space for minikube, minishift, CDK. CRC is happier with 4 cores+,
16GB+ RAM, 40GB+ disk space.

kubeconfig (`~/.kube/config`) [4] is a little like your `~/.ssh` folder where
your Kubernetes clusters sessions, credentials, metadata are stored &
maintained.

[0]
[https://github.com/kubernetes/minikube](https://github.com/kubernetes/minikube)

[1] [https://www.okd.io/minishift/](https://www.okd.io/minishift/)

[2]
[https://developers.redhat.com/products/cdk/overview](https://developers.redhat.com/products/cdk/overview)

[3] [https://developers.redhat.com/products/codeready-
containers/...](https://developers.redhat.com/products/codeready-
containers/overview)

[4]
[https://kubernetes.io/docs/concepts/configuration/organize-c...](https://kubernetes.io/docs/concepts/configuration/organize-
cluster-access-kubeconfig/)

~~~
harpratap
I would recommend Kind instead of any of these tools. It's the best local k8s
evaluation tool I have found yet. We use it in our projects for local
development too.

------
dreamcompiler
Could this not be done -- perhaps more easily -- with Ansible?

