News for hackers. Stuff that matters.
Re:Why Kubernetes Needs an LTS by FridgeSeal on Monday December 04, 2023 @03:52PM (#38522870)
I disagree.

Software is a garden that needs to be tended. LTS (and to a lesser extent requirements for large amounts of backwards compatibility) arguments are the path the ossification and orgs running 10+ year out of date, unsupported legacy garbage that nobody wants to touch, and nobody can migrate off because it’s so out of whack.

Don’t do this. Tend your garden. Do your upgrades and releases frequently, ensure that everything in your stack is well understood and don’t let any part of your stack ossify and “crust over”.

Upgrades (even breaking ones) are easier to handle when you do them early and often. If you let them pile up, and then have to upgrade all at once because something finally gave way, then you’re simply inflicting unnecessary pain on yourself.

Re:Why Kubernetes Needs an LTS by baby_souffle on Monday December 04, 2023 @04:07PM (#38523064)
> Don’t do this. Tend your garden. Do your upgrades and releases frequently, ensure that everything in your stack is well understood and don’t let any part of your stack ossify and “crust over”.

You can't see me, but I'm violently nodding in agreement. Faithfully adhering to these best practices isn't always possible, though; management gonna manage how they manage and now how your ops team wants them to manage.

> Upgrades (even breaking ones) are easier to handle when you do them early and often. If you let them pile up, and then have to upgrade all at once because something finally gave way, then you’re simply inflicting unnecessary pain on yourself.

How different could things be if k8s had a "you don't break userland!" policy akin to the way the Linux kernel operates? Is there a better balance between new stuff replacing the old and never shipping new stuff that would make more cluster operators more comfortable with upgrades?

Re:Why Kubernetes Needs an LTS by iwontberude on Monday December 04, 2023 @04:06PM (#38523058)
Kubernetes doesn't improve sufficiently to justify the broken compatibility anymore. Projects slow down and become mature. This isn't a bad thing.
Re:Why Kubernetes Needs an LTS by FridgeSeal on Monday December 04, 2023 @05:03PM (#38523789)
> Projects slow down and become mature. This isn't a bad thing

I completely agree, but that’s also not-incompatible with my argument.

Re:Why Kubernetes Needs an LTS by jmspring on Monday December 04, 2023 @08:57PM (#38526048)
I happen to agree. Many "new features" aren't necessarily needed by a large segment of the community that uses K8s.

Some of the attitudes in here about software needs to be constantly evolving is just odd. Many many systems run on legacy software and hardware because, for the most part, they just work.

Innovation and evolution are important, yes. But churn for the sake of churn does not fit every (most) use case...

Re:Why Kubernetes Needs an LTS by MuffinFlavored on Monday December 04, 2023 @04:02PM (#38522987)
> long-term support

> out of date, unsupported legacy garbage

Re:Why Kubernetes Needs an LTS by jen20 on Monday December 04, 2023 @04:04PM (#38523015)
You can probably remove the "unsupported" part without changing the overall correctness of the statement.
Re:Why Kubernetes Needs an LTS by mfer on Monday December 04, 2023 @04:33PM (#38523437)
Consider where people would use something for a long time and want to keep it relatively stable for long periods? Planes, trains, and automobiles are just a few of the examples. How should over the air updates for these kinds of things work? Where are all the places that k8s is being used?

If we only think of open source in datacenters we limit our thinking to just one of the many places it's used.

Re:Why Kubernetes Needs an LTS by oneplane on Monday December 04, 2023 @05:04PM (#38523804)
Or, they could use something that is not Kubernetes. If you are working with a system that is super static, Podman comes to mind.
Re:Why Kubernetes Needs an LTS by samus on Monday December 04, 2023 @05:10PM (#38523878)
You don't need Kubernetes for over-the-air updates. Kubernetes is also not suitable for that. It scales up alright, but not down. As TA expounds, there are simply too many moving parts that require expertise to operate. And that's fine. Not every software has to be able to accommodate all use cases.
Re:Why Kubernetes Needs an LTS by Palomides on Monday December 04, 2023 @05:40PM (#38524182)
they run kubernetes on fighter jets now
Re:Why Kubernetes Needs an LTS by andreasmetsala on Monday December 04, 2023 @06:22PM (#38524657)
What kind of pilot would upgrade their fighter jet cluster midair? These are made up problems.
Re:Why Kubernetes Needs an LTS by vbezhenar on Monday December 04, 2023 @06:56PM (#38525060)
Those who use GKE Autopilot, I guess?
Re:Why Kubernetes Needs an LTS by ClumsyPilot on Monday December 04, 2023 @07:25PM (#38525368)
The correct solution to that problem is to delete it.

Seriously, I am sick of elevators thay run Javascript, cars that run docker and self driving cars running linux.

This is not good enough. Our industry is a joke.

Re:Why Kubernetes Needs an LTS by carlhjerpe on Monday December 04, 2023 @07:39PM (#38525492)
If the elevator company can put in a display, run Linux, cage and electron / webbrowser I think that's a good idea. What I don't think is great is frontend people I work with having "map" explained to them because they don't know. vscode proves "js bad" wrong over and over, crap software can be written in any language.
Re:Why Kubernetes Needs an LTS by sitkack on Monday December 04, 2023 @09:26PM (#38526268)
All of those things are so complex that faults are repaired by rebooting it. That is not a solution
Re:Why Kubernetes Needs an LTS by carlhjerpe on Tuesday December 05, 2023 @03:26AM (#38528282)
I disagree, if they can get a product with great UX through the door but has to reboot the system on a timer (maybe once it knows its empty from a PLC input) every so often I'd call it a solution. In fact, Boeing thinks rebooting an airplane is a solution to integer overflow[0].

While I do not appreciate everything being a Web app it's also a very robust platform to build upon, there aren't many projects that gets as many eyes as browsers and their components.

[0]: https://www.i-programmer.info/news/149-security/8548-reboot-...

Re:Why Kubernetes Needs an LTS by ClumsyPilot on Tuesday December 05, 2023 @05:10AM (#38528943)
> oeing thinks rebooting an airplane is a solution to integer overflow

exactly, that's horrifying. Only seppuku would be enough of a punishment.

Mechanical things need mechanical software that never fails.

Now, the embedded industry has largely failed at software development and they are using softeare that was not meant for them.

Re:Why Kubernetes Needs an LTS by fungalcretin007 on Friday December 15, 2023 @08:48PM (#38661027)
That is because the pressure on defense to adopt an approach and technologies that 'work' in commercial space has become dogma. Agile is a disease that fuels recipe approaches.

Recently worked with a team doing edge architecture and design that has had at least 5 iterations of k8s design and vendors. Why is that? What was the solution?

My opinion at the end (even though I love cloud managed k8s for commodity/insecure in the commercial space) is not to use k8s for edge and secure. Stop pretending. It's a mess and it won't get better.

Re:Why Kubernetes Needs an LTS by incahoots on Monday December 04, 2023 @04:50PM (#38523635)
I agree on the very principal of what you're laying out here, but the reality is often rare if not at all in tandem with principals and "best practices"

Manufacturing comes to mind, shuttering a machine down to apply patches monthly is going to piss off the graph babysitters, especially if the business is a 24/7 operation, and most are currently.

In an ideal world there would be times every month to do proper machine maintenance, but that doesn't translate to big money gains for the glutton of shareholders who don't understand anything, let alone understand that maintenance prolongs processes as opposed to running everything ragged.

Re:Why Kubernetes Needs an LTS by dwattttt on Monday December 04, 2023 @05:16PM (#38523953)
You can also run your car for longer if you never stop to take it to a mechanic too.
Re:Why Kubernetes Needs an LTS by Volundr on Monday December 04, 2023 @05:47PM (#38524252)
I don't think the comparison to taking your car to a mechanic is a good one. When I take my car to a mechanic they are returning it to a stock configuration. They don't need to update to a new, slightly different power steering this month, new brakes next, then injectors....
Re:Why Kubernetes Needs an LTS by dwattttt on Monday December 04, 2023 @05:59PM (#38524397)
Certainly. But it's being compared to not taking systems down to do maintenance at all.

> if the business is a 24/7 operation

> In an ideal world there would be times every month to do proper machine maintenance

Re:Why Kubernetes Needs an LTS by ClumsyPilot on Monday December 04, 2023 @07:28PM (#38525392)
> They don't need to update to a new, slightly different power steering this month, new brakes next, then injectors....

Then they find a compatability problem and the car n3eds to be rebuilt

Re:Why Kubernetes Needs an LTS by wouldbecouldbe on Monday December 04, 2023 @05:09PM (#38523856)
Kubernetes feels like Javascript has reached the sysadmins, new updates, libraries, build tools every week.

It's mainly good for keeping high paid people employed, not keeping your servers stable.

I ran a cluster 1.5 years in production, took me so much energy. Especially that one night where digital ocean managed cluster forced an update that crashed all servers; and there was no sane way to fix it.

I'm back to stability with old school VPS; it just works. Every now and then you run a few patches. Simple & fast deploys; what a blessing.

Re:Why Kubernetes Needs an LTS by firesteelrain on Monday December 04, 2023 @07:42PM (#38525522)
I am not understanding how you say you ran a cluster when you were using a managed instance so you weren’t really running it. Now , going to a VPS makes you effectively the MSP. I don’t see how that addresses the LTS issues since k8s is updating so often that you have to keep pace with the updates (that you now need to do).

I use a managed instance and manage my own private instance.

Re:Why Kubernetes Needs an LTS by sitkack on Monday December 04, 2023 @09:29PM (#38526295)
You do understand, please don’t use that rhetorical device here.
Re:Why Kubernetes Needs an LTS by firesteelrain on Tuesday December 05, 2023 @02:24AM (#38527997)
Please don’t be a dick here
Re:Why Kubernetes Needs an LTS by btasker on Tuesday December 05, 2023 @03:46AM (#38528397)
> I don’t see how that addresses the LTS issues since k8s is updating so often that you have to keep pace with the updates (that you now need to do).

They're not saying they moved to running k8s on a VPS - they're saying they moved to using a VPS instead of k8s (i.e. have escaped the k8s upgrade cycle).

Re:Why Kubernetes Needs an LTS by firesteelrain on Tuesday December 05, 2023 @11:35AM (#38533122)
By using terraform docker provider or something else? Like Nomad?
Re:Why Kubernetes Needs an LTS by hot_gril on Monday December 04, 2023 @06:39PM (#38524849)
Javascript stuff tends to stay working, unless you're talking about React which breaks all the react-whatever libs every time.
Re:Why Kubernetes Needs an LTS by jl6 on Monday December 04, 2023 @05:14PM (#38523914)
That’s great if you have control over all the moving parts, but a lot of real-world (i.e. not exclusively software-based) orgs have interfaces to components and external entities that aren’t so amenable to change. Maybe you can upgrade your cluster without anybody noticing. Maybe you’re a wizard and upgrades never go wrong for you.

More likely, you will be constrained by a patchwork quilt of contracts with customers and suppliers, or by regulatory and statutory requirements, or technology risk policies, and to get approval you’ll need to schedule end-to-end testing with a bunch of stakeholders whose incentives aren’t necessarily aligned to yours.

That all adds up to $$$, and that’s why there’s a demand for stability and LTS editions.

Re:Why Kubernetes Needs an LTS by Alcatros552 on Monday December 04, 2023 @06:03PM (#38524454)
@ji6 I have to tell you, we are using Kubernetes since the very early versions available.

If you automate everything you will never have an issue with K8, you can deploy all the required dependencies in one go. You can run the tests, if done correctly this literally requires 10 minutes.

This argument to have an LTS Version for me is like air. It's the kind of Nuclear Reactor argument. We did have the money to buy Uranium to burn but now we can't afford to dispose it normally.

Kubernetes is for flexibility not for big companies which want to use their software development processes of the 90's...

Re:Why Kubernetes Needs an LTS by JamesonNetworks on Monday December 04, 2023 @07:11PM (#38525216)
Yeah? Through the RBAC changes? Because thats where I gave up
Re:Why Kubernetes Needs an LTS by dvfjsdhgfv on Tuesday December 05, 2023 @05:42AM (#38529234)
I'm sorry, this is simply not true. K8s relatively often introduces breaking changes. They are announced well in advance, which is very nice, but the solution will not take 10 minutes. Take Pod Security Policies and migration to Kyverno of OPA Gatekeeper. Even if you have a relatively simple cluster and choose to stick to defaults rather than write your own rules, it will still take time to understand the new system, to choose the policies you need, to update and test it. In complex cluster this takes weeks and in some cases even months, especially if you are legally obliged to follow change management.
Re:Why Kubernetes Needs an LTS by op00to on Tuesday December 05, 2023 @02:48PM (#38536019)
I love the concept of nuclear power as an analogy for this type of technical debt! Very insightful.
Re:Why Kubernetes Needs an LTS by Grimblewald on Tuesday December 05, 2023 @12:07AM (#38527330)
Im curious, help me understand where the breakdown happens. Abstracting a few layers away, can we assume that you have system input, your system does something, it has output. If this is correct, can we also then say that inputs are generated by systems you dont control that might not play nice with updates within your system. Similarly, changing outputs might break something dow stream.

If all that holds, my question then becomes, why does your system not have a preprocesisng and postprocessong layer for compatibility? Stuff like that is easier than ever to build, and would allow your components to grow with the ecosystem?

Re:Why Kubernetes Needs an LTS by jl6 on Tuesday December 05, 2023 @03:16AM (#38528235)
It’s all about risk. If you have a simple enough system, you might be able to hide it behind an abstraction layer that adequately contains the possible effects of change.

But many interesting useful real-world systems are difficult to contain within a perfect black box. Abstractions are leaky. An API gateway, for example, cannot hide increased latency in the backend.

People accountable for technology have learned, through years of pain, not to trust changes that claim to be purely technical with no possible impact on business functionality. Hence testing, approval and cost.

Re:Why Kubernetes Needs an LTS by Waterluvian on Monday December 04, 2023 @05:36PM (#38524137)
Sometimes I get this feeling that a lot of developers kind of want to be in their code all the time, tending to it. But it’s just not a good use of my time. I want it to work so I can ignore it and move on to the next best use of my time.

I trial upgraded a years old Django project today to 5.0 and it took almost zero work. I hadn’t touched versions (other than patch)in over a year. That’s the way I want it. Admittedly this was less about an LTS and more about sensible design with upgrading in mind.

Re:Why Kubernetes Needs an LTS by selcuka on Monday December 04, 2023 @08:18PM (#38525775)
> I trial upgraded a years old Django project today to 5.0 and it took almost zero work.

Django is great at backwards compatibility, but to be honest they haven't added many revolutionary features to Django for years, except a half-baked implementation of async support.

Re:Why Kubernetes Needs an LTS by maximinus_thrax on Monday December 04, 2023 @05:36PM (#38524138)
To paraphrase someone else's reaction, I'm violently shaking my head in disagreement. What you're saying only works when you have 100% full control of everything (including the customer data). As someone who spent years in the enterprise space, what you're describing is akin to 'Ivory Tower Architecture'.

LTS is a commitment. That is all. If someone is uncomfortable with such a commitment, then that's fine, let me free market sort it out. But what LTS does is it tells everyone (including paying customers) that the formats/schemas/APIs/etc.. in that version will be supported for a very long time and if I adopt it, I won't have to think about it or budget too much for its maintenance for a period of time measured in months/years.

I would go the extra mile here and say that offline format should be supported FOREVER. None of that LTS bs for offline data, ever. LTS means that you're accountable for some of the costs in your partnership with the customers. If you move fast and break things, they will have to work extra just to keep up. If you move fast but mindful with back-compat, you will work extra but your customer will be happier. That is all.

Re-reading your comment gives me chills and reinforces my belief that I will never pay money to Google (they have a similar gung-ho attitude against 'legacy garbage') or have any parts of my business depend on stuff which reserves the liberty of breaking shit early and often.

Re:Why Kubernetes Needs an LTS by JackSlateur on Tuesday December 05, 2023 @08:51AM (#38530636)
I worked in a public cloud compagny

We had very few control over the customers stuff

We did not had to : avoid breaking changes (or impose them) and transparent upgrades were the key

Re:Why Kubernetes Needs an LTS by hot_gril on Monday December 04, 2023 @06:30PM (#38524736)
Even if you could get everyone to tend the garden, it encourages unnecessary breaking changes or fragile design. LTS provides some much-needed backpressure. If a new feature truly requires breaking things, people who really want it will put in the effort.
Re:Why Kubernetes Needs an LTS by p_l on Tuesday December 05, 2023 @01:56AM (#38527857)
That's why Kubernetes provides versioned APIs with proper lifecycles and levels of stability.

A stable API is not going to change randomly on you, and of it does, it's going to come with deprecation policy so you have time to do it.

Personally I did have few "painful" k8s upgrades, but every time it happened it was due to long-announced large scale change... That another team didn't want to upgrade over despite delaying so long the last version compatible became EOL

Re:Why Kubernetes Needs an LTS by hot_gril on Tuesday December 05, 2023 @09:26PM (#38539826)
Right, but the support is not very long. You still get basically forced to update at least every 14 months according to the article.
Re:Why Kubernetes Needs an LTS by jvans on Monday December 04, 2023 @06:45PM (#38524927)
I've spent so much time chasing down performance problems and bugs where the problem was due to an outdated dependency. Simply spending a few hours a month upgrading dependencies is a big win to avoid those situations
Re:Why Kubernetes Needs an LTS by cramjabsyn on Monday December 04, 2023 @06:50PM (#38524994)
Its not a garden. Gardens are horizontal with no dependencies between plants.

Infrastructure is a high rise building. Long term planning and careful maintenance is needed. And it shouldn't be necessary to replace the foundation every year or two.

Re:Why Kubernetes Needs an LTS by cratermoon on Monday December 04, 2023 @09:25PM (#38526260)
> Gardens are horizontal with no dependencies between plants.

Two words: companion plantings

Also, there's a world of incompatible plants. Some plants actively harm the growth of others, and some simply can't grow in the same place because of different soil and nutrient requirements.

Re:Why Kubernetes Needs an LTS by oceanplexian on Monday December 04, 2023 @11:44PM (#38527192)
Yeah imagine if someone built a bridge and was like, yeah, we need to do regular updates or else it will fail and come crashing down.

I feel like software engineers who preach that everything must be connected to the internet and update from the mothership regularly are fundamentally disconnected from reality. If your design is robust to begin with you should be able to depend on it without constantly fiddling with everything.

Re:Why Kubernetes Needs an LTS by terom on Tuesday December 05, 2023 @01:47AM (#38527815)
Bridges need regular maintenance or they will fail and come crashing down.
Re:Why Kubernetes Needs an LTS by mcmcmc on Tuesday December 05, 2023 @03:00AM (#38528175)
Regular maintenance for bridges means tensioning cables, tightening loose bolts, repainting exposed parts. Not redoing the foundations every month.
Re:Why Kubernetes Needs an LTS by pas on Tuesday December 05, 2023 @04:32AM (#38528650)
k8s doesn't require redoing foundations every month

this LTS hysteria is completely made-up

it benefits from updates every year, also who uses naked k8s (the hard way?), folks use a distribution with an updater

Re:Why Kubernetes Needs an LTS by fungalcretin007 on Friday December 15, 2023 @08:54PM (#38661047)
lol. have you ever done an update with breaking api changes and cluster global exposures/rbac for helm charts? It's like switching out the bolts in a running engine.
Re:Why Kubernetes Needs an LTS by pas on Tuesday December 19, 2023 @12:26PM (#38698525)
test clusters to the rescue!

of course it's more work than simply applying the new charts, but the nice thing about k8s is that you can dump out the stuff from the working one, use k3s/kind/minikube, try the upgrade, and you are as good to go as with a dist-upgrade or similar.

Re:Why Kubernetes Needs an LTS by Grimblewald on Tuesday December 05, 2023 @12:13AM (#38527364)
It shows you do not garden. There are some pretty strigent dependancies between plants. Certain plants protect one another from specific pests, others wont tolerate the same soils. Others require planting at specfic seasons. What for some plants is underwatering is another plants overwatering. Plants arent just things we stick in the ground and watch grow. Succesful gardening requires careful consideration of each plants requirements, or dependencies if you will.

That being said, you build gardens with soil and highrises with concrete. Kubernetes is soil, not cement.

Re:Why Kubernetes Needs an LTS by zzyzxd on Monday December 04, 2023 @07:03PM (#38525149)
Yup. At my last company, Kubernetes was the only place where software was not 2+ years behind upstream because of this and I appreciate it a lot. And its API deprecation policy [1] made upgrade not so painful (if upgrades frequently break your stuff, check if your infra people really understand this policy, and your software vendors are compliant).

1. https://kubernetes.io/docs/reference/using-api/deprecation-p...

Re:Why Kubernetes Needs an LTS by cpeterso on Monday December 04, 2023 @07:48PM (#38525572)
At the far end of the update frequency spectrum from LTS is Google's "live at head" philosophy. Google's Abseil C++ library, for example, recommends that consumers update to Abseil's latest commit from the master branch as often as possible. Abseil have no tagged releases besides master and an LTS branch (updated every 6-9 months).

https://abseil.io/about/philosophy#we-recommend-that-you-cho...

Re:Why Kubernetes Needs an LTS by waynesonfire on Tuesday December 05, 2023 @12:37AM (#38527494)
The tag is the commit. So what. Same thing.
Re:Why Kubernetes Needs an LTS by quickthrower2 on Monday December 04, 2023 @10:31PM (#38526778)
I like the idea, and with something like say Chrome, this is excellent.

However each upgrade of k8s needs planning. Need to check through the list to see what APIs are broken, and figure out if anything needs changing, preparing for it, including stuff the cloud provider has chucked in the mix.

Probably to the point I feel like a cluster of clusters would be safer, so you can slowly roll it out.

Re:Why Kubernetes Needs an LTS by p_l on Tuesday December 05, 2023 @08:26AM (#38530407)
Use multiple clusters for checking out upgrade path at least.

Plan regular upgrade so it's moved in small chunks and so that teams are aware of where they stand with APIs etc.

Re:Why Kubernetes Needs an LTS by fungalcretin007 on Friday December 15, 2023 @09:01PM (#38661086)
This is garbage path compared to controlled quantity. In 2008 no one would have countenanced this for good reason. What is the reason now?
Re:Why Kubernetes Needs an LTS by cultofmetatron on Monday December 04, 2023 @10:47PM (#38526883)
> Do your upgrades and releases frequently

this sounds great in theory. after 5years of running a startup, you learn to pick your battles. that db library you upgraded? works great except for this one edge case where they changed the interface in an obscure portion that affects 5% of your users. it got past QA but thaat 5% of users get REAL VOCAL about it. now its in production and you're planning an emrgency revert of that dependncy after you verify that you aren't using any of the new features of the library.

sounds doable? now multiply that by the number of dependencies your app has.

I agree that it good to periodically update deps and allocate time for keeping your system up to date but Its easy to let tracking all your deps suck up all the time your startup would be better off spending on adding features that bring new users in and add to your bottom line.

Re:Why Kubernetes Needs an LTS by waynesonfire on Tuesday December 05, 2023 @12:34AM (#38527479)
Absolutely, it's clear the OP hasn't maintained anything at scale. Last thing I want to do is upgrade a rock solid library just because.
Re:Why Kubernetes Needs an LTS by FridgeSeal on Tuesday December 05, 2023 @02:20AM (#38527974)
I suggested upgrading like it’s the wild-west where?

When your rock solid dependency releases a new major version, when you’re ready you update it, and fix all the things you need to in a single PR, you take that to prod when you’re ready, and roll it back if it’s unhappy, or your favourite variation of out-and-back.

What I’m advocating against, is picking a version, and then sitting on it for so long that it inevitably goes out of support, and then find yourself having a really bad, un-fun time-probably at some awful time of day- and discovering the work you need to do to get out of the current system is so much more than you initially realised, because you’re so far behind.

Breaking changes happen anyway at some point, you may as well stay abreast of them.

Re:Why Kubernetes Needs an LTS by jacurtis on Monday December 04, 2023 @10:48PM (#38526887)
I both agree and disagree with you.

In theory, I agree. Tend your garden, do small upgrades often instead of major upgrades less often.

In a homelab this is easy to implement. In a small organization it is too.

But in the facetious "real world", things are a lot more complicated. I work as an SRE Manager and my team is basically ALWAYS upgrading Kubernetes. New releases drop about as fast as we can upgrade the last ones.

When you work on a large cluster, doing an upgrade isn't a simple process. It requires a ton of testing, several steps, and being very slow and methodical to make sure it is all done properly. Where I currently work, we have 2 week sprints and infrastructure changes must align with sprint cycles. So to promote an upgrade at the fastest possible schedule it requires:

- Week 0: Upgrade Dev environment

- Week 2: Upgrade QA Environment

- Week 4: Upgrade Sandbox Environment

- Week 6: Upgrade Prod Environment

That is the fastest possible schedule. That assumes we do a cluster upgrade every sprint, which is 2 weeks. It also ignores other clusters for other business units. We have 4 primary product lines, so multiply all that work times 4. Plus we have supporting products (like self-hosted gitlab, codescene, and custom tools running in k8s clusters).

I say fastest possible schedule because, we can't keep up with this schedule, but even if we could it is the fastest we could go and still maintain our deployment and infrastructure promotion policies.

With new releases every 3-4 months (12-16 weeks), we are essentially in a constant state of always upgrading kubernetes. Right now my team is 2 versions behind. Skipping versions doesn't make sense because you can't guarantee a safe upgrade when skipping versions.

This is why LTS releases are nice. When you run systems at large scale, it is impractical to upgrade that often. I'd prefer to limit upgrades to no more than twice a year and personally I find annual upgrade cycles to be the best balance between "tending the garden" and "not drowning in upgrade work". LTS releases are usually tests to skip upgrades so that companies can go from LTS release to LTS release, without the need to worry about upgrading every minor version in sync.

Remember, upgrading K8s clusters isn't what my bosses want to hear my team spends our time. They want to know that observability is improving, devs are getting infrastructure support, we are building out new systems, deploying hardware for the product team, running our resiliency tests, etc.. Sure upgrading is part of the job, but i can't be ALWAYS upgrading. I have a lot of other responsibilities.

Re:Why Kubernetes Needs an LTS by solatic on Monday December 04, 2023 @11:48PM (#38527223)
I don't know what your internal architecture looks like, but on the face of it, arguably you should be running Dev and QA loads on the same cluster. Either you have an organization where an SRE team is responsible for running clusters for teams, in which case why not run Dev and QA on the same cluster, or you are responsible for last-line-of-support for teams responsible for running their own clusters, in which case you say, here's a new version of Kubernetes (e.g. a Terraform module) and in this sprint you are responsible for deploying it through dev, QA, pre-prod, and production clusters. Especially if you have separate Kubernetes clusters per product line (do you really need separate dev Kubernetes clusters per product line?).
Re:Why Kubernetes Needs an LTS by dalyons on Tuesday December 05, 2023 @12:45AM (#38527514)
unless you have some strict security reasons, why even have separate prod clusters per product? We definitely don’t. seems to kinda miss the point of k8s - aka running all kinds of mixed workloads with separation within a cluster if you need it.
Re:Why Kubernetes Needs an LTS by solatic on Tuesday December 05, 2023 @01:02AM (#38527600)
Agreed. Separate prod clusters per product usually fixes an organizational problem (lack of trust that running shared workloads would/could be safe, versus giving each team their own servers) first. A lot of organizations, sadly, prefer to pay for separate clusters than to set up RBAC, ResourceQuotas, etc.

Hypothetically, since the scaling limit for Kubernetes clusters is ~10,000 nodes (last I checked), you could have multiple product lines that took up 10k+ nodes each. Then there's no reason why not to split by product line. But in the beginning it should be fine.

There's also edge cases - Kubernetes doesn't support setting resource requests or limits for networking or I/O, which you usually solve by setting up taints/tolerations/affinity to manually schedule those workloads onto nodes where you've manually run the numbers. But still not usually a reason to prefer separate production clusters.

Re:Why Kubernetes Needs an LTS by p_l on Tuesday December 05, 2023 @08:28AM (#38530419)
Arguably, the design of kubernetes is for clusters to be based on physical clusters - to the point of a cluster per aisle (or multiple aisles), and resources of those clusters then being used to deploy applications even across clusters. Or in the small, like Chick-Fil-A, with kubernetes running locally at every restaurant.
Re:Why Kubernetes Needs an LTS by solatic on Tuesday December 05, 2023 @09:36AM (#38531267)
Yup, this is how you scale an application past the 10k node soft limit.
Re:Why Kubernetes Needs an LTS by p_l on Tuesday December 05, 2023 @10:12AM (#38531842)
Not just past 10k node limit - it's also because the k8s design has unsaid assumption about being used to arrange physical sets of machines, similar to how Borg paper would talk about cluster being equivalent to an aisle in datacenter.
Re:Why Kubernetes Needs an LTS by solatic on Tuesday December 05, 2023 @12:14PM (#38533761)
Are you just referring to how you assign labels and taints to nodes, which in a physical datacenter could include labels like which aisle the baremetal server is in?

Of course that's feasible, to tell the Kubernetes scheduler that you only want to schedule the workload on a very specific server, but that's not really best-practice...

Re:Why Kubernetes Needs an LTS by p_l on Tuesday December 05, 2023 @12:25PM (#38533939)
No, I'm referring to bundling machines into clusters across physical lines, with bare metal deployments.
Re:Why Kubernetes Needs an LTS by JackSlateur on Tuesday December 05, 2023 @08:47AM (#38530605)
Easier to track expenses (for cost reporting etc) : each products are billed separately

Easier to manage because less dependencies : you are the sole user, so you can do whatever you want

This is the greatness of public cloud, where multi team synchronisation can be reduced a lot

For very small projects, one cluster per product is expensive, so mutualisation makes sense. Past a certain size, this is not the case

Re:Why Kubernetes Needs an LTS by solatic on Tuesday December 05, 2023 @09:34AM (#38531228)
> separate billing

IME mixing financial concerns with engineering concerns puts you into an architectural corner. Suddenly the business wants an integration between the two projects - which cluster does the integration run on? Do you spin up a whole new cluster / account just for the integration? Inside a project, you need to run dedicated infrastructure for large customers. How do you report that for billing?

Just set up tagging correctly.

> For very small projects, one cluster per product is expensive, so mutualisation makes sense.

If you're not working for a BigCo, every project starts out very small ;) You shouldn't optimize prematurely.

Re:Why Kubernetes Needs an LTS by JackSlateur on Tuesday December 05, 2023 @10:31AM (#38532136)
I meant "small" as in "can live on a 3*4GB RAM cluster"

About integration, I do not understand what you say You have a provider and a consumer, each of them build (and pay) their own parts

Re:Why Kubernetes Needs an LTS by solatic on Tuesday December 05, 2023 @12:11PM (#38533709)
I've worked on ETL integrations in the past where there's an API for service A that's read-only and an API for service B that's write-only, service A is provided by a third-party vendor (so you're not exactly going to get the vendor's code to alter or fork it) and politically the people who work on the integration are different from the people who are responsible for service B; the integrators neither have permission to make alterations to service B nor will they get service B engineers to take backlog items to integrate read functionality or otherwise integrate with the vendor for service A directly. The integrators simply need to build a completely separate integration that lives outside of service A and service B to ETL from service A into service B.

If service A is in one cluster, and service B is in another cluster, where billing is per-cluster, in which cluster do you put the ETL integration? It belongs to either both or neither, depending on how Finance wants to bill it.

Re:Why Kubernetes Needs an LTS by dalyons on Tuesday December 05, 2023 @03:25PM (#38536460)
yeah, billing is pretty simple with a bit of investment on tagging. If it gets complicated there are third party tools to help. Much better than introducing significant complexity into your systems architecture just for the accounting team.
Re:Why Kubernetes Needs an LTS by JohnMakin on Tuesday December 05, 2023 @12:47PM (#38534327)
Sometimes certain use cases require clusters running in different regions of the world, or have to run in a specific region. There's also fail over. Personally I always strive to use a "mono" cluster unless I can't avoid otherwise. It does happen.
Re:Why Kubernetes Needs an LTS by natbobc on Tuesday December 05, 2023 @02:06PM (#38535453)
we have hundreds of clients most on k8s or openshift. Many of them are shifting to smaller team or division oriented clusters so that they can move at their own pace in consuming capabilities, tools, security practises, etc. It also simplifies distribution of operational expenses, yea there’s tools out there to help with that but it’s a whole lot easier to hand someone a sub-account in AWS and call it a day. Additionally it reduces your fault boundary. It isn’t as sexy as saying you have a 5000 node cluster with 100k+ pods running but it can make life a whole lot less stressful when it comes to upgrades and changes.
Re:Why Kubernetes Needs an LTS by dalyons on Tuesday December 05, 2023 @03:21PM (#38536424)
imo you've just traded one set of centralized costs (developing tools, security practices that work for all and educating people) for a distributed set of costs with everyone managing their own clusters and duplicating all this work. You've just pushed the cost onto other teams - which can be a fine approach for reducing the central teams stress, but is net more costly to the business. EDIT: Im not saying its necessarily a bad choice, just much more expensive.
Re:Why Kubernetes Needs an LTS by natbobc on Saturday December 16, 2023 @04:26AM (#38662973)
It’s all swings and roundabouts has been since the broad adoption of computers. I expect in a few years time when everyone’s forgotten the pain points that drove them to decentralize there’ll be a big move to centralize again. Someone will get a gold star for coming up with the idea and being able to demonstrate the “cost savings”. Of course it’ll completely ignore the general disruption to all of the product teams as they adapt to the new world order but what’s a company without a little busy work.
Re:Why Kubernetes Needs an LTS by solatic on Wednesday December 06, 2023 @03:31AM (#38541653)
So basically, doing to infrastructure the microservices approach?

a) if you're going to intentionally make the trade-off to have higher costs in exchange for reducing ops load and simplifying administration within an account, where services make network calls across accounts, then adopting ECS/Fargate is probably a significant improvement over Kubernetes.

b) The underlying engineering / financial reality is still there and very much a leaky abstraction that will show up on your AWS bill. Cross-VPC, cross-region, and cross-AZ networking costs are very real overhead that you must consider; you either still have centralized network planning with shared VPCs and subnets or you basically decide to give up and let AWS send you the bill when teams create their own VPCs, their own subnets, etc.

c) setting up DNS / service discovery and network controls within a single cluster is simple. Doing so across account boundaries is not, and deciding to set up solutions like AWS Transit Gateway incur their own costs.

I'm sure it simplifies some things for some people, but Finance is going to get upset pretty quickly. Once you start to go down that path, it's very difficult to back out.

Re:Why Kubernetes Needs an LTS by natbobc on Saturday December 16, 2023 @04:09AM (#38662902)
Everything’s benefits and tradeoffs. With this model there’s a clear ownership model. I’m not suggesting it’s right for everyone but it is a trend we’ve noticed with a number of clients over the last 2-3 years.
Re:Why Kubernetes Needs an LTS by FridgeSeal on Tuesday December 05, 2023 @02:37AM (#38528058)
For sure, with scale comes slow-downs and new problems, that’s just an organisational reality, totally get that.

I am slightly curious why an upgrade takes 2 weeks? At my current work, rolling out an upgrade (self managed clusters), rolling out an upgrade on the “happy path” is a fairly low-intensity task: we kick it off, nodes gracefully drain, upgrade and come back online. No intervention necessary. Unhappy path just requires another command to roll them back. Prod is the same, but happens slightly slower because there’s more nodes (and more independent prod clusters).

Re:Why Kubernetes Needs an LTS by thiht on Tuesday December 05, 2023 @03:56AM (#38528456)
Why don’t you update dev+qa at the same time? Or qa+sandbox? Or dev+qa+sandbox? Separating these 3 might make sense for the applicative part (and even then, I think 4 environments is too many), but I’m not sure it really make sense to follow it on the infra side.

I’m also not sure of why you manage all these clusters, why not merging dev, qa and sandbox in a single cluster with namespace partitioning? It would be way less work and probably more cost effective

Re:Why Kubernetes Needs an LTS by stouset on Monday December 04, 2023 @11:29PM (#38527104)
100% agreed.

Make upgrades easy, automate the tedious parts, and do them as often as possible.

If you do upgrades once per several years, yes, it is going to be excruciating.

Re:Why Kubernetes Needs an LTS by npacenop on Tuesday December 05, 2023 @06:42AM (#38529663)
This, and very much this.

At the end of course the decision will be based on business and market analysis, as even the cloud native foundation abides more or less to the same rules as everyone else does... Introducing LTS for kubernetes however will be a huge step towards pushing it down the enterprise products alley, where software is selected more for the amount of people available in the market, capable to work with it / operate it, and the running costs generated, rather than satisfying an actual need of the business.

Chances are that if your org needs LTS for kubernetes, then kubernetes is not the right solution to your problems. Which is probably the case anyway... but that's a whole different story.