News for hackers. Stuff that matters.
Re:Nomad vs. Kubernetes by jnsaff2 on Friday October 15, 2021 @07:10AM (#28876517)
I liked Mesos when I worked on it, and it's been replaced by more modern tools like Nomad, but every time I have to work on k8s it's .. well it's being promoted like a cult, has a cult following and I think the whole thing is set up to suck up complexity and layering.

How do you deploy a thing to run on k8s?

One would think you deploy a manifest to it and that's it. Like yaml or json or hcl or whatever.

No. The built in thing is not good so someone wrote Helm.

So you deploy helm manifests on there?

No. Helm is not good either, you need helmsman or helmfile to further abstract things.

How do you do networking?

Layer a service mesh with custom overlay networking that abstract upon k8s clusterip.

jeesh. why?

Re:Nomad vs. Kubernetes by q3k on Friday October 15, 2021 @07:22AM (#28876594)
> How do you deploy a thing to run on k8s?

kubectl apply -f ~/git/infra/secretproject/prod.{json,yaml}

One JSON/YAML file too uwieldy? Generate it using jsonnet/CUE/dhall/your favourite programming language. Or just talk directly to the Kubernetes API. You don't have to use Helm - in fact, you probably shouldn't be using Helm (as the whole idea of text templating YAML is... thoroughly ignorant in understanding what Kubernetes actually is).

> Layer a service mesh with custom overlay networking that abstract upon k8s clusterip.

You don't have to, and you probably don't need to. I'm happily running bare metal k8s production without anything more than Calico, Metallb and nginx-ingress-controller. That effectively gives me 'standard Kubernetes networking' ie. working Services and Ingresses which is plenty enough. And if you're using a cluster deployed by a cloud provider, you don't have to worry about any of this, all the hard decisions are made and the components are deployed and working.

Re:Nomad vs. Kubernetes by throwaway894345 on Friday October 15, 2021 @09:20AM (#28877386)
> kubectl apply -f ~/git/infra/secretproject/prod.{json,yaml}

This is fine for the first deploy, but if you delete a resource from your manifests then kubectl doesn’t try to delete it from the cluster, so in practice you need something like Terraform (or perhaps ArgoCD) which actually tracks state. And of course as you mention, you probably want to generate these manifests to DRY up your YAML so you can actually maintain the thing.

I would love to hear from others how they solve these problems.

> as the whole idea of text templating YAML is... thoroughly ignorant

1000%

Re:Nomad vs. Kubernetes by JelteF on Friday October 15, 2021 @12:37PM (#28879727)
I've been using the following command to great effect:

kubectl apply --kustomize manifests/ --prune --selector app=myapp

It cleans up old stuff from the cluster and also allows you to split your manifests across multiple files.

Re:Nomad vs. Kubernetes by throwaway894345 on Friday October 15, 2021 @01:37PM (#28880515)
Whoa. I never knew about --prune. <mind-blown emoji>
Re:Nomad vs. Kubernetes by welkie on Friday October 15, 2021 @08:55PM (#28884721)
Yeah... I'm not really sure where this idea of not being able to use the tools available out of the box to deploy apps and do networking comes from. I deploy YAML. If I feel like my YAML is too big, I DRY it using kustomize. I can use --prune if I'm worried about stuff sticking around in the cluster. For networking, I... don't do anything? We get DNS built in. Just use the service name. What else is there to do?
Re:Nomad vs. Kubernetes by throwaway894345 on Saturday October 16, 2021 @01:44PM (#28889731)
External DNS, certificate management, and a whole bunch of other stuff if you're not using a cloud provider's managed Kubernetes (e.g., network attached storage, load balancers, ingress controller, etc).
Re:Nomad vs. Kubernetes by GauntletWizard on Friday October 15, 2021 @10:27PM (#28885074)
Label selectors are hard. They might require knowledge as advanced as high-school geometry to understand. The ability to draw a Venn diagram isn't free, you know!
Re:Nomad vs. Kubernetes by hosh on Friday October 15, 2021 @11:55AM (#28879155)
Before there was Helm, I wrote my own tool and framework in Ruby (called Matsuri) to generate and manage manifests. I still use it. However, the source of truth is still on the kube api server. I did write in functionality to diff what is in the git repo and what is in the source of truth. There is an additional abstraction that bundles together resources so that a single command can converge them all together. The underlying mechanism is still kubectl, and the code merely generates the manifests to send it to kubectl via stdin.

I did not think about a “delete”, and I usually don’t want it to be automatically deleted. But that’s a great idea for that convergence mechanism if I have something that explicitly adds a deleted resource line to make sure it stays deleted until otherwise specified.

The Ruby code can access anything Ruby to generate the manifests, so I have a Turing-complete language and I can use class inheritance, mixins, method overrides. I was also able to write a suite of helpers to take a raw yaml manifest from an upstream project, and use a functional programming style to transform the manifest to something else. If I ever have time, I’d write the ability to import templates from Helm.

This was written for a one-person devops role, intended to be able to manage almost-similar things across different environments (dev, staging, prod), which works great for small, early stage startups, for our level of complexity. At this level, I don’t need it to track state.

When our team size grows, I’ll have to think up of some other patterns to make it easier for multiple people to work on this.

The other thing is that for much more complex things, I would just write operator code using Elixir, and bootstrap that into k8s with the Ruby framework.

Re:Nomad vs. Kubernetes by throwaway894345 on Friday October 15, 2021 @01:43PM (#28880618)
> Before there was Helm, I wrote my own tool and framework in Ruby (called Matsuri) to generate and manage manifests.

I've built these kinds of things too in Python (or Starlark). It's an improvement over YAML, but I often feel the pain of dynamic typing.

> The Ruby code can access anything Ruby to generate the manifests, so I have a Turing-complete language and I can use class inheritance, mixins, method overrides.

I actually don't want any of these things in a dynamic configuration language. I kind of just want something that can evaluate expressions (including functions, objects, arrays, scalars, and pattern matching). If it's Turing complete that's fine but unnecessary. I explicitly don't want I/O (not in your list) or inheritance, mixins, method overrides, etc--unnecessary complexity.

Dhall probably comes the closest, but it has a tragic syntax and I'm not a good enough salesman to persuade real software teams to learn it. I've also heard good things about Cue, but my experiences playing with it have only been painful (steep learning curve, don't really see the upsides).

Re:Nomad vs. Kubernetes by hosh on Tuesday October 19, 2021 @05:30PM (#28924004)
I don't really see this tooling as a dynamic configuration language so much as a manifest generator. That means I also have tooling for diffing, debugging, and converging manifests. If you are just focused on configuration, I can see why Turing-completeness will seem like unnessary complexity.

I use classes and mixins to be able to generate similar manifests with slight differences across different clusters or environments. I sometimes use imports (I/O) for manifests provided by an upstream (such as from AWS docs), do transforms to get manifest I want.

I modelled the design off of Chef, which will also declaritively define and converge a set of systems towards desired state. Well-known paths and conventions helps keep things organized.

I havn't had a problem with dynamic typing, but I have also been using Ruby in application development for over 10 years. You might see it as unneeded complexity, but I have been able to use the flexibility for years now. This tooling was designed for a team that uses Ruby as the primary language, and uses designs and idom that would be familiar for a Ruby dev team. It is definitely opinionated and I don't expect it to be universally useful for everyone.

Re:Nomad vs. Kubernetes by xyzzyz on Friday October 15, 2021 @10:32AM (#28878082)
You can use -prune flag to apply to delete resources removed from your configs.
Re:Nomad vs. Kubernetes by delta1 on Friday October 15, 2021 @11:35AM (#28878896)
Which is still in alpha
Re:Nomad vs. Kubernetes by Nullabillity on Friday October 15, 2021 @08:35AM (#28877039)
> kubectl apply -f ~/git/infra/secretproject/prod.{json,yaml} > > One JSON/YAML file too uwieldy? Generate it using jsonnet/CUE/dhall/your favourite programming language. Or just talk directly to the Kubernetes API. You don't have to use Helm - in fact, you probably shouldn't be using Helm (as the whole idea of text templating YAML is... thoroughly ignorant in understanding what Kubernetes actually is).

Agreed 99%, but there is one useful thing that Helm provides over Kubectl+structured templating (Nix/dhall/whatever): pruning objects that are no longer defined in your manifest.

However, that's solvable without taking on all of Helm's complexity. For example, Thruster[0] (disclaimer: an old prototype of mine) provides a pruning variant of kubectl apply.

[0]: https://gitlab.com/teozkr/thruster

Re:Nomad vs. Kubernetes by cogman10 on Friday October 15, 2021 @11:21AM (#28878699)
I really struggle with seeing the value add of helm. I use it, but mostly with a "less is more" approach. It is semi handy in a dev/staging/prod sort of environment, but really not all that much.

What I don't get is some people in my company thought it was a good idea to make a "docker helm chart"... That is, a helm chart capable of deploying arbitrary containers, ingresses, etc... Like, a true WTF, since the values file ends up looking awfully similar to a k8s manifest :D.

Re:Nomad vs. Kubernetes by LambdaComplex on Friday October 15, 2021 @11:13AM (#28878602)
> the whole idea of text templating YAML is... thoroughly ignorant in understanding what Kubernetes actually is

Could you expand on that? It sounds like an interesting position (bordering on the philosophical), but I don't know enough about Kubernetes to gauge its accuracy for myself.

Re:Nomad vs. Kubernetes by q3k on Friday October 15, 2021 @11:49AM (#28879060)
There's two things:

1) Text templating YAML is just bad. It's the serialized format of some structured data - instead of templating its text representation (and dealing with quoting, nindent, stringly-typed variables, and general YAML badness), just manipulate the structures directly before serializing them. For example, write some Python code that composes these structures in memory and then just serializes them to YAML before passing it over to kubectl. You can also use ready made tooling that uses domain-specific languages well suited to manipulating and emitting such structured configuration, like jsonnet/kubecfg (or CUE/Dhall/Nix combined with kubectl apply -f). Eschewing text templating is not only more productive by letting you build abstractions (eg. to deal with Kuberenetes' verbosity with labels/selectors, etc.), it also allows you to actually compose more complex deployments together, like 'this wordpress library uses this mariadb library' or 'this mariadb library can take a list of objects that will be upserted as users on startup'.

2) Those YAML/JSON manifests aren't even that native to Kubernetes. A lot of things go behind the scenes to actually upsert a manifest, as Kubernetes' resource/object model isn't nearly as straightforward as 'apply this YAML document full of stuff' would indicate (there's state to mix in, API/schema changes, optional/default fields, changes/annotations by other systems...). With k8s' Server-Side-Apply this can now be fairly transparent and you can pretend this is the case, but earlier tooling definitely had to be smarter in order to apply changes. Things like doing structure-level diffs between the previously applied intent and the current intent and the current state in order to build a set of mutations to apply. What this means is that Helm's entire 'serialized as YAML, manipulated at text level' stage is not only harmful and a pain in the neck to work with (see 1.) but also unnecessary (as 'flat YAML file' isn't any kind of canonical, ready-to-use representation that Helm had to use).

Re:Nomad vs. Kubernetes by jnsaff2 on Friday October 15, 2021 @03:43PM (#28882205)
That is a very helpful summary. I generally favor declarative configuration (like CloudFormation) and I think it's mostly due to my work being infrastructure focused: "I need VPC, LB's, ASG with those immutable Images, a queue, buckets etc". But in my recent work with a customer where the infrastructure is "EKS with datastores, and Gitlab CI" .. most of the complexity is people creating abstractions on top of abstractions of stuff in helm (and also .gitlab-ci.yaml with tons of severy nested includes). And in this case the text templated yaml is really painful. Something that would be like CDK for k8s could actually be amazingly useful. Lots to ponder, thank you.
Re:Nomad vs. Kubernetes by ablekh on Saturday October 16, 2021 @06:26PM (#28892133)
> Something that would be like CDK for k8s could actually be amazingly useful.

Such thing surely does exist: https://cdk8s.io. And here's the relevant announcement blog post: https://aws.amazon.com/blogs/containers/introducing-cdk-for-....

Re:Nomad vs. Kubernetes by jpgvm on Saturday October 16, 2021 @08:13AM (#28887312)
The tool that you want is probably Jsonnet. Take a look at Tanka or one of the other Jsonnet options. There is also Dhaal and a few others but Jsonnet has a lot more traction.
Re:Nomad vs. Kubernetes by paulgb on Friday October 15, 2021 @04:04PM (#28882484)
> Could you expand on that? It sounds like an interesting position (bordering on the philosophical)

I'll make the philosophical case: text-level templating of a computer-readable format is almost always the wrong approach. It becomes unnecessarily hard for someone who later needs to read the code to ensure that it generates valid (both syntax and semantics) markup. It's also more hard for tooling to verify the validity, because the syntactic validity may depend on inputs to the program.

Compare the approaches of PHP and JSX. They both accomplish a similar goal (interleaved HTML and control flow), but JSX works at the element tree level and makes it impossible to generate poorly-formed HTML syntax -- it becomes a compile-time error (though it doesn't ensure semantics, e.g. a tbody outside of a table is legal). Compare with PHP, which very much allows you to generate invalid HTML, because it's just a text templating language.

(From what I can tell, Helm works more like PHP; if I'm wrong my philosophical position stands but might not apply here)

Re:Nomad vs. Kubernetes by cogman10 on Friday October 15, 2021 @11:28AM (#28878795)
k8s is built for extension with validation of the extensions you add ( https://kubernetes.io/docs/concepts/extend-kubernetes/api-ex... )

Helm is just sort of dumb text manipulation with a TINY bit of deployment management built on top of it. There isn't really a whole lot that helm buys over extending k8s.

Re:Nomad vs. Kubernetes by AlphaSite on Friday October 15, 2021 @01:39PM (#28880544)
I’m a big fan of kapp[1] for this sort of thing, it’s basically the same as kubectl apply, but with an app name and state tracking .

    kapp deploy -a my-app -f ./examples/simple-app-example/config-1.yml
It was created by folks at my employer but I use it because I just like it’s simplicity.

[1] https://carvel.dev/kapp/

Re:Nomad vs. Kubernetes by throwaway923840 on Friday October 15, 2021 @10:04AM (#28877805)
> in fact, you probably shouldn't be using Helm

Funny that the thing you shouldn't use is what the entire Kubernetes ecosystem uses for deployment. It's almost like there's no good way to do it.

Re:Nomad vs. Kubernetes by p_l on Friday October 15, 2021 @12:50PM (#28879917)
Except it's... Not what the entire ecosystem uses. Yes, it's popular because it made for "app store"/"package repository" style operation, but I have yet to actually use it for longer than a few weeks despite running k8s projects across multiple companies since 2016.
Re:Nomad vs. Kubernetes by jjeaff on Friday October 15, 2021 @07:19AM (#28876577)
You don't need any of that stuff. When I started with k8s, all I used were Yaml manifest files and kubectl apply.

As I started using it more, i eventually moved up to using helm. I've been running production k8s for a few years now and haven't used helmsman or anything but helm yet.

Re:Nomad vs. Kubernetes by musingsole on Friday October 15, 2021 @08:13AM (#28876892)
> When I started with k8s

But that's the problem right there. Shop after shop has invested in kubernetes with a team that was just learning it. And then they layered tool after tool to help massage pain points -- of which kubernetes has plenty. That leaves us at today where every shop effectively has a custom stack of kubernetes infrastructure cobbled together of various tools and philosophies.

It's the same problem as JavaScript. There's nothing terrible about the technology -- on the contrary it's amazing stuff! But the context of how it gets used leads to a type of gridlock of opinionated tooling published just last week.

Re:Nomad vs. Kubernetes by smoyer on Friday October 15, 2021 @08:27AM (#28876999)
At its core, Kubernetes is a controller manager. It's true that most Kubernetes systems include a lot of the Hashicorp equivalents but you could in theory remove the controllers and associated CRDs. Kubernetes has gradually moved to what I think is a relatively sensible set of defaults which you can get in different flavors (k0s, k3s, microkube, kubespray, etc.)

The comment about development and packaging tools can indeed present a problem. I tend to favor Helm for applications that need to be deployed more than once and Kustomize to differentiate between environments but I've definitely seen what I would consider horror stories. Even if you add a bit of GitOps, it's not too hard to understand. The horror stories seem to occur when teams try to map their previous workflows directly to k8s. Many times the worst k8s development workflows are created to enable teams that had broken workflows without k8s.

Re:Nomad vs. Kubernetes by heinrichhartman on Friday October 15, 2021 @07:17AM (#28876563)
> How do you deploy a thing to run on k8s?

    kubectrl apply -f deploy.yaml
should work, no? What forces you to use the sugar-coating?
Re:Nomad vs. Kubernetes by sheeshkebab on Friday October 15, 2021 @07:46AM (#28876726)
Maybe bc no one uses that in reality and use helm instead?
Re:Nomad vs. Kubernetes by cassianoleal on Friday October 15, 2021 @08:35AM (#28877040)
That's a very odd and factually wrong generalisation.

I don't use helm at all, and I manage a large scale platform built on Kubernetes. Everything is either declared directly in YAMLs and deployed with `kubectl apply -f <YAMLs or directory containing them>`, or rendered using Kustomize and, again, deployed using `kubectl apply -f -`.

Kustomize can be rough around the edges but it's predictable and I can easily render the YAMLs locally for troubleshooting and investigating.

Re:Nomad vs. Kubernetes by saynay on Friday October 15, 2021 @08:06AM (#28876843)
Helm is useful if you need your software to run in many different places, and is widely known. This is why you see so many projects offering Helm charts; because you see them, they are set up to run in many environments.

There is no reason to use it for your own software if you just have a single cluster.

Re:Nomad vs. Kubernetes by voidfunc on Friday October 15, 2021 @10:38AM (#28878139)
Helms a pile of garbage but this isn’t really the fault of Helm. This is an issue with the chart or a failure to read the documentation of the chart.

People have got to stop just blindly running stuff off the internet.

Re:Nomad vs. Kubernetes by coredog64 on Friday October 15, 2021 @11:52PM (#28885413)
At a previous employer, they’re building k8s clusters not for developers but for their infrastructure teams. In the past, where a vendor might have supplied an OVF file as the distributable product, they’re now providing Helm charts.
Re:Nomad vs. Kubernetes by ninkendo on Friday October 15, 2021 @09:45AM (#28877619)
The first time I used helm was to set up JenkinsCI on a k8s cluster on AWS, and in the default configuration, it setup a public-internet ELB listener (with type=LoadBalancer) for Jenkins' internal JNLP port. Which pretty much means the public internet has root access to your jenkins cluster, by default.

I had crypto miners using my k8s cluster within a couple of hours.

That was also the last time I used helm.

Re:Nomad vs. Kubernetes by SirMonkey on Friday October 15, 2021 @12:39PM (#28879756)
You mean the helm-package you installed without reading the documentation? Hate the player, not the game.
Re:Nomad vs. Kubernetes by ninkendo on Friday October 15, 2021 @01:26PM (#28880358)
No. No, no no.

This was legitimate a bug that they immediately fixed when I reported it... There is no legitimate reason to expose the master JNLP port to the internet, ever. The chart did not have a configuration option for this, it just exposed the JNLP port as part of the same k8s Service that exposed the web port. (The JNLP port is for jenkins workers to phone back home to the main instance, it's not for external use.)

"Just read the docs" is not an answer to a chart setup which is just plain broken.

Re:Nomad vs. Kubernetes by indigochill on Friday October 15, 2021 @08:11AM (#28876882)
I'll take that "no one" badge. I've never used Helm, always used kubectl.

Well, until now, when I'm using Terraform (particularly helpful relative to kubectl when I need to provision cloud resources directly), but I've still never used Helm.

Re:Nomad vs. Kubernetes by lukebuehler on Friday October 15, 2021 @09:59AM (#28877746)
Also, there is the middle way: kustomize. It's built into kubectl
Re:Nomad vs. Kubernetes by p_l on Friday October 15, 2021 @12:52PM (#28879939)
I have yet to work in any environment where helm was used heavily and not just for few okne offs setup long ago and that now bring regrets.
Re:Nomad vs. Kubernetes by rad_gruchalski on Friday October 15, 2021 @08:40AM (#28877069)
That’s an organisational problem, not Kubernetes problem.
Re:Nomad vs. Kubernetes by wvh on Friday October 15, 2021 @09:44AM (#28877608)
Some parts of Kubernetes are perhaps unnecessary complex and we should keep our eyes open for alternatives and learn from different approaches, but deploying to Kubernetes really does not have to be that difficult unless you make it so.

Plain manifests in a Git repository will do, and let something like Flux apply them for consistency. It really isn't harder than SSH and ad-hoc scripts or Ansible.

Re:Nomad vs. Kubernetes by clvx on Friday October 15, 2021 @07:24AM (#28876603)
The worst part of k8s is definitely its configuration system. I don’t like helm as it’s combining packaging, templating and deployment lifecycle. I feel like each of this components should’ve been its own abstraction.
Re:Nomad vs. Kubernetes by q3k on Friday October 15, 2021 @07:43AM (#28876706)
It should've been, and it can be. There's nothing official or special about Helm, just don't use it.
Re:Nomad vs. Kubernetes by p_l on Friday October 15, 2021 @12:53PM (#28879964)
So just don't use Helm. It's not a core, crucial, or required part of k8s, it's just a reasonably popular related project... That I usually ban from environments before the rot can take root.
Re:Nomad vs. Kubernetes by moljac024 on Tuesday October 26, 2021 @06:50AM (#28998704)
what are the alternatives?
Re:Nomad vs. Kubernetes by thefounder on Friday October 15, 2021 @07:22AM (#28876595)
>> jeesh. why?

If you look at Google they build a whole PaaS (Cloud Run/Appengine) on top of k8 and I guess that's the way it's meant to be used.

IaaS -> K8 -> PaaS -> deploy.sh

Re:Nomad vs. Kubernetes by holografix on Friday October 15, 2021 @09:20AM (#28877390)
AppEngine does not run on K8s. Cloud Run _can_ run on GKE with Cloud Run for Anthos or oss kNative
Re:Nomad vs. Kubernetes by EdwardDiego on Friday October 15, 2021 @07:50AM (#28876753)
Nothing about K8s forces you to use Helm or istio etc.
Re:Nomad vs. Kubernetes by musingsole on Friday October 15, 2021 @08:16AM (#28876914)
No, the developers about k8s force you to use Helm, istio, or etc. And then tech debt makes the decision unchangeable.
Re:Nomad vs. Kubernetes by EdwardDiego on Friday October 15, 2021 @08:15PM (#28884534)
YMMV, I guess.
Re:Nomad vs. Kubernetes by birdyrooster on Friday October 15, 2021 @04:17PM (#28882651)
Because you have different team members managing different aspects of your software's deployment (if you have complex systems that you have moved into kubernetes). You can have a team for: authnz/rbac, networking, containerization/virtualization, service load balancing, app development, and secrets all while no one is stepping on each others toes deploying changes while using common language to talk about resources and automation.
Re:Nomad vs. Kubernetes by dikei on Friday October 15, 2021 @09:17AM (#28877369)
> How do you do networking? Layer a service mesh with custom overlay networking that abstract upon k8s clusterip.

Overlay network is easy if you don't need your pod and service IP to be routable from outside the cluster. It took me less than 1 afternoon to learn to use Kubespray to deploy an on-premise cluster with Calico for overlay network.

Re:Nomad vs. Kubernetes by scns on Friday October 15, 2021 @11:06AM (#28878487)
Zero snark, but you confirm parent somehow IMHO. Two more tools.
Re:Nomad vs. Kubernetes by dikei on Monday October 18, 2021 @07:44AM (#28904425)
Well, Kubespray is just an Ansible-based installer that almost walk you through the process of setting up a K8S cluster. And Calico is the default option in Kubespray, so unless you want more customization, you don't need to learn anything about it.
Re:Nomad vs. Kubernetes by shaklee3 on Saturday October 16, 2021 @01:09AM (#28885701)
At some point you need to take a few minutes to learn new technologies in a tech career. Kubernetes is just not that hard if you spend a little time understanding it. You don't need a service mesh. Calico is very simple, or you can use cilium for something more advanced
Re:Nomad vs. Kubernetes by still_grokking on Friday October 15, 2021 @09:52PM (#28884954)
> but every time I have to work on k8s it's .. well it's being promoted like a cult, has a cult following

I would call this grass roots marketing. Some companies are very good at it. Maybe that ones have more know-how in the ad space than others?

Re:Nomad vs. Kubernetes by throwaway923840 on Friday October 15, 2021 @09:56AM (#28877721)
> jeesh. why?

Poor design. It's been cobbled together slowly over the past 7 years. They built it to work only a certain way at first. But then somebody said, "oh, actually we forgot we need this other component too". But it didn't make sense with the current design. So they'd strap the new feature to the side with duct tape. Then they'd need another feature, and strap something else to the first strapped-on thing. Teams would ask for a new feature, and it would be shimmed in to the old design. All the while the design was led by an initial set of "opinionated" decisions that were inherently limiting. The end result is a mess that needs more and more abstraction. But this isn't a problem when you are already a billion-dollar company that can pay for other teams to build more abstractions and internal tools to deal with it.

This is business as usual in any quasi-monolithic Enterprise project. Typically the way you escape that scenario is to have major refactors where you can overhaul the design and turn your 50 abstractions into 5. But instead, K8s decided to have very small release and support windows. This way they can refactor things and obsolete features within a short time frame. The end result is you either stick with one version for eternity (a security/operability problem) or you will be upgrading and deal with breaking changes every year for eternity.

Re:Nomad vs. Kubernetes by peterthehacker on Friday October 15, 2021 @09:34AM (#28877516)
So much flamebait. These kinds of comments aren’t good for anyone.