Kubernetes The Hard Way has leveraged multiple container runtimes over the years. The original guide used Docker, the only fully supported runtime back then, rkt from CoreOS was a work in progress, but "rktnetes" was a thing. coreos.com/rkt/docs/lates…
Kubernetes later introduced the CRI which standardized how Kubernetes interacts with lower level container runtimes. KTHW was updated to use a shim, the dockershim, which implemented the CRI on top of Docker, instead of Docker directly. kubernetes.io/blog/2016/12/c…
The CRI opened the door to new container runtimes optimized for Kubernetes. Less features; tighter integration. Red Hat built CRI-O, and about a year later, KTHW was updated to use CRI-O instead of Docker, via the dockershim, and almost no one noticed. redhat.com/en/blog/introd…
What's often missed in these conversions is that Docker, Google, IBM, and many others were hard at work breaking Docker up into reusable components. It's a long story, but we ended up with containerd, which implements the CRI. containerd.io
containerd reached a level of maturity that enabled Docker to leverage it as an embedded component, which makes sense because the majority of containerd comes directly from Docker. It was more like a big refactor than a rewrite.
Following in Docker's footsteps, Kubernetes The Hard Way was updated to use containerd, and the rest is history.

• • •

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

Keep Current with Kelsey Hightower

Kelsey Hightower 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!

More from @kelseyhightower

20 Aug
AWS Controllers for Kubernetes is pretty dope. You can leverage Kubernetes to manage AWS resources such as API gateways and S3 buckets. Think Terraform but backed by Kubernetes style APIs and "realtime" control loops. aws.amazon.com/blogs/containe…
In GCP land we call this Config Connector and you can manage most GCP resources leveraging the same pattern. cloud.google.com/config-connect…
In Azure land it's called Azure Service Operators which seems to be replacing Open Service Broker for Azure in favor of Kubernete style APIs for managing Azure cloud resources.
cloudblogs.microsoft.com/opensource/202…
Read 4 tweets
11 Aug
I enjoyed @timbray "Cloud Traffic" post which highlights the complexity of Kubernetes and service meshes in general. A lot of that complexity is rooted in the flexibility and portability of these platforms. tbray.org/ongoing/When/2…
The talked referenced in Tim's post focused on how to leverage a service mesh without a sidecar proxy using gRPC and Traffic Director. While this setup, on the surface, feels less complex than running something like Istio, it's still too complex.
Traffic Director is a fully managed control plane that supports Envoy's xDS protocol. Traffic Director helps you describe and configure your service architecture. You can set up traffic splitting, fault injection, and even global load balancing. cloud.google.com/traffic-direct…
Read 7 tweets
6 Aug
If you find all this service mesh stuff confusing, and you really want to understand it, start with @envoyproxy. Learn Envoy's core feature set and how to configure it by hand.

Start simple. Learn how to use Envoy as a HTTP proxy or load balancer like you would nginx.
One of the best things about Envoy is the ability to leverage a configuration server to dynamically configure it at runtime.

Instead of configuring Envoy by hand and copying config files around, you can configure Envoy to sync configuration from remote server.
Envoy leverages the xds protocol for discovering and streaming configs, and the best part, it will hot reload the configuration, no more restarts! envoyproxy.io/docs/envoy/lat…
Read 12 tweets
17 Jul
Enjoyed sharing my personal journey, starting from my CoreOS days, into the world of Kubernetes with @thenewstack on the The New Stack Maker podcast. thenewstack.io/kelsey-hightow…
We also dove deep into the Kubernetes ecosystem, what's next, and why people should really be looking beyond Kubernetes and focus on what you can build on top.
I also gave a detailed walk-through describing how @CockroachDB meets Kubernetes more than half way in order to effectively manage data at scale.
Read 5 tweets
10 Jul
I share a lot of code with no intention of accepting contributions or building a community around. In those cases I'm sharing what I've learned and maybe something that you might find useful.
As much as I enjoy participating in, and in some cases building, strong communities around open source projects, I just don't have the bandwidth to do it for every piece of software I chose to share.
I bet I'm not the only one who is hesitant to share side projects because people might demand the formation of a governance model, or even worse, free tech support.
Read 4 tweets
19 Jun
I can't think of a better day than today to teach my daughter to code.
I chose the Go programming language. My daughter is well beyond the "hello world" stuff so I figured we'd create our own time package. Image
Figured I'd sneak in a little history lesson while I was at it. Image
Read 6 tweets

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!