5 ms·
Asking as someone who has only tipped his toes into devops lately and is looking to learn K8, what is considered a reasonable "lightweight" alternative to Kuber
by dusanh 4y ago
Asking as someone who has only tipped his toes into devops lately and is looking to learn K8, what is considered a reasonable "lightweight" alternative to Kubernetes these days?
- jstream67 4y agoIf you are on AWS you should check out ECS Fargate (serverless). It is really really good. Probably one of their more polished products. If you want to stay on the Kubernetes route check out k3s. Super easy to setup and usable for small production workloads
- jeffwask 4y agoI second this. There are a few limitations in Fargate that are annoying but overall it's solid and easy to use.
- Sohcahtoa82 4y agoAs a security engineer, I always cringe when anything involving containers is referred to as "serverless". I always thought that one of the advantages of going serverless was that you didn't have to worry about keeping the underlying operating system up-to-date. No needing to do a monthly "sudo apt update && apt upgrade" or whatever. But containers throw that all away when container images enter the world. Instead of updating your operating system, you're updating your images...and it's basically the same thing.
- OJFord 4y agoIs anyone's goal of 'serverless' that they no longer have to deal with updating the OS? Most would say even a server-ful system (k8s, or whatever) should be considered 'cattle not pets' with immutable nodes replaced as needed anyway. No update, just replace. Just like building a new image and having new pods (or serverless whatevers) pull it.
- Sohcahtoa82 4y agoFrom a purely security standpoint, "updating your OS" and "updating your image" are equivalent. What matters to the security people are that you're running the latest OpenSSL that isn't vulnerable to the newest branded vulnerability. If you're truly "serverless" by my interpretation of it, then you wouldn't care. Your cloud provider will have updated their infrastructure, and that's all that matters.
- OJFord 4y agoYeah I see what you're saying, that's a fair enough interpretation of it I just don't think it's the only one. In fact almost nothing is serverless (well, the truth comes out! ;)) by that definition, since even Lambda has runtime versions to choose/upgrade, Managed-Acme has Acme versions, etc. SES, SNS, SQS, etc. sure, but I suppose no compute, since you need libraries, and libraries have versions, and you can't have them (significantly/major versions) changing under your feet. (Or if they don't have versions they're of course destined to have known security holes.) (Or it's not even about libraries if you want to say no you don't need libraries - it's just about having to interface with anything.)
- thakoppno 4y agoThe cattle not pets abstraction always struck me as wildly bizarre. Whoever came up with that phrase, did they grow up on a farm? I’ve never cordoned off an individual head of cattle and lobotomized it, which is kinda what we do when debugging issues. We take the pod out of rotation, flip a bunch of configs, then give it some traffic to see the new debugging statements.
- deleted 4y ago[deleted]
- kuschku 4y agoAppEngine was the original serverless platform
- netfortius 4y agoHow does k3s compare with MicroK8s, for the purpose of this topic?
- dewey 4y ago> what is considered a reasonable "lightweight" alternative to Kubernetes these days Before I used Kubernetes for my side projects and only at work I always thought it's hard to operate and very tricky. If you start with an empty "default" cluster and then just add bits when you need them it's actually not that complicated and doesn't feel too heavyweight. I'd suggest to just play around with a simple example and then see how it goes. There's things that are used in "production" clusters that you don't need at the beginning, like rbac rules, Prometheus annotations etc.
- everfrustrated 4y agoDefinitely check out all the aws offerings under ECS There's now even onprem ECS variants which means not having to pay aws very much and still get the benefit of them running and maintaining the control plane
- digianarchist 4y agoHashiCorp Nomad is a good alternative.
- jhillyerd 4y agoI've started running Nomad in my homelab, and it is a great piece of software. Although I feel like the question is sort of flawed, if you want to learn Kubernetes, you are going to need to run Kubernetes - or one of the downsized versions of it. If you want to learn about containers, distributed workloads, etc, then Nomad is a great option that is easy to learn/adopt piecemeal.
- horlux 4y agoif you only use Services, Deployments and ConfigMaps then k8s can be simple too
- dosethree 4y agoK8s ate everyone else. The alternative is to use a heroku like sass
- mastazi 4y agoIn my particular market sector it seems everyone is using some form of cloud functions (SAM, Serverless Framework etc), and migrating away from K8S/containers. Regarding PaaS stuff like Heroku, the only people I know that are still using that are solo hackers.
- subsection1h 4y agoThat's interesting. In the latest Who Is Hiring discussion, there seems to be more than 10 times as many references to Kubernetes compared to serverless. https://news.ycombinator.com/item?id=31582796 https://news.ycombinator.com/item?id=31582796
- deleted 4y ago[deleted]
- mastazi 4y agoInteresting, you're right, I see 3 occurrences for "lambda" and 26 for "kubernetes". It's probably just the paritcular "bubble" I live in.
- dublin 4y agoNot an alternative, but if you want to get a feel for Kubernetes and managing various kinds of servers, check out KubeSail and their options for K8s/K3s It's ridiculous overkill, but I'm looking at a NextCloud server on one of their PiBox hardware servers for the house. (You don't need a PiBox - their stuff will run fine on little instances from AWS/DigitalOcean/Hertzner, etc., or a spare PC you have lying around...)
- jpgvm 4y agoYou may think you want an alternative but you don't. The API is the main drawcard of k8s in the first place, if you are off in ECS land all you are doing is wasting a bunch of time on a dead-end. I would instead focus on getting to understand the basics of the API by using a hosted k8s service like GKE or EKS. Stick with some basic manifests, i.e deployments, services, ingress. Once you have some stuff running you can start learning how it really works and goes together, i.e what are pods, why are pods immutable, why is a replicaset, how does a deployment orchestrate multiple replicasets, what are endpoints, what is the difference between pod readiness/liveliness. Don't cheat yourself this early in the game, just learn things the right way from the start and save yourself a bunch of work.
- mmcnl 4y agoI agree. I'd say the appeal of Kubernetes is the declarative configuration of your workloads. It's a language on its own that's incredibly versatile and exhaustive. This infrastructure abstraction layer is here to stay.