YAML jokes are getting old, so as the FUD around #kubernetes and the cloud native landscape.

How about my "Kubernetes - the good parts" list instead?

🧵
My background: DevOps cosultant, on-boarded many devs to #k8s, built internal app platforms the past 4 years.

This thread is here to increase focus. You may have the killer usecase for things I don't speak highly of, but know that this list is for beginners✌️
Basics first: Pods, Deployments, Services, ConfigMaps, Secrets

Use them, know the concepts. Some point you have to debug them anyways.
Ingress: use it, learn it.

A bit obscure first, but controlling from source code how your app is accessed over the web is powerful
YAML: It's fine. Get over it and use it.

It's easy on the eye. Plus some point - when abstractions leak - you will have to use it anyways.
Jsonnet, ksonnet, or any language to manage the yaml: just don't.

Do it on your own peril, you risk excluding large part of your audience. Don't make me think 🤕
The manifest: lengthy, repeating boilerplate. Use templating.

But don't invent one, 127 people have done that before you

docs.google.com/spreadsheets/d…
Use Helm for templating.

I don't say use Helm all the way, but up until `helm template` it's a fine system. And feature rich.
While at Helm. You probably want to use Helm for 3rd party apps. Redis, Postgres whatnot.

You should, but be aware some install the whole universe. That case, look for raw yaml installation instead.

Many are just fine.

And charts are a great source of inspiration.
What about Kustomize you may ask.

Use it for one off patches for yaml you don't control.

But don't build a castle on top of it. You risk re-implementing Helm. I've done that.
You say Helm templates are spaghetti? Maybe, but the kind of spaghetti we are used to.

Again, don't make me think. Ever tried writing a Kustomize json patch by heart?
Now that I'm done with Helm vs Kustomize, here is a dog sailing in snow, before you @ me.
To establish a common ground again, I continue with sigs, aka "special interest groups".

#kubernetes is opensource so as its governance. It's just great that we are able to follow the community in such detail. Slack, minutes, recordings of meetings.

Simply awesome 🙇‍♂️
CRDs and operators: Some are great, some are 🤯

Like github.com/nginxinc/nginx… which has the functionality of a Helm chart, except it's a runtime component 🤷‍♂️

Know when to use them. Writing one for your app is probably not a good idea.
Service mesh: don't.

I know, it is intriguing to get all those cool features. So if you chose to use it, set time aside to debug things. Things that just worked before, simple things like HTTP and DB calls may break

Linkerd is the lightweight option here.
One more about service mesh:

did you know that multi service traces are not generated automatically by adding the service mesh magic dust?

linkerd.io/2019/08/09/ser…
Grafana: An integrated experience in a fragmented space 🤩

They have the three legs of observability: metrics, logs, traces - in one stellar GUI, plus Loki is awesome.

If you rather build your monitoring stack than buy it, it is a must have
GitOps: use it.

While it is not as figured out as the name suggests - there are scaling issues, and lack of tooling to manage higher level concepts..

the field is maturing, and the patterns it unlocks is great for tooling

Full disclosure - I'm involved in this space
cert manager: it's a blessing. Free certs without doing much. Use it
Use managed Kubernetes. Don't bother running it yourself. This is where the most pain and rejection comes from.

If the minimum fee is prohibiting you from using managed, use k3d on a single node to still benefit from the api
TLDR: there is much value just using #k8s and a few more from the landscape. The FUD comes from the complexity layered on top.

If you know how to write a Dockerfile, the basics of k8s yaml and use a managed k8s..you have a service platform. That's it. You don't need to be fancy.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Laszlo Fogas

Laszlo Fogas Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!