Always wondered how #kubernetes works, but never got time to sit down and actually learn it? πŸ€”

Let's change that today πŸ™Œ πŸ₯³

πŸ§΅πŸ‘‡Here's a 10-tweet Kubernetes crash course for you! 🚒
1/10
Kubernetes is for running containerized apps. Referred to as a cluster..components (control plane and workers) act together to maintain things like storage & networking.

All act together to solve the problem of underutilization and software becoming immutable
2/10
We use #kubernetes because it provides a single, common interface to deploy applications without having to know about the underlying hardware.

Container images can be stored in a central repository and accessed from around the world.
3/10
One of the benefits to #kubernetes is its built-in high availability. In Deployments, you declare a number of replicas for your app, making it highly available.

Also, immutability means that components of your Kubernetes cluster can be killed and be re-spawned automatically
4/10
#kubernetes allows the app storage to be decoupled through the persistent volume resource, so a container can be killed and re-spawned and the volume will follow it.

It can do this via Persistent Volume Claim, in order to claim the storage you need for your app.
5/10
You declare (vs. imperative) specifications (created in YAML format) for how that application should run.

You submit that spec to the Kubernetes API and the replicaSet will make it so, ensuring that your application will always run as you specified in the deployment spec.
6/10
A Deployment is a #kubernetes resource that maintains your app through its lifecycle...allows new version rollouts.

It will not only ensure that your application is running according to the deployment spec but also handles zero-downtime upgrades to your application.
7/10
Updating the container image triggers a rollout. This rollout happens gradually, allowing you to roll back or pause If necessary.

Detect whether the app needs to be restarted by attaching a liveness check. Attach readiness check to see if the app is ready to serve traffic.
8/10
Your app in #kubernetes is actually running inside pod(s). A pod contains one or many containers running in a Linux namespace (shared processes on a Linux node).

The Deployment creates these pods for you. Pods (the payload) run on the worker nodes in a Kubernetes cluster.
9/10
Expose your app using a service (ClusterIP, NodePort, LoadBalancer).

A service gives pods their own IP address and DNS name. It will load balance the traffic and keep track of where pods are as they move around to different nodes.
10/10
You can create an Ingress resource in #Kubernetes in order to specify routing rules based on a URL path or sub-domain (must use an ingress controller) to your ClusterIP service.

Ingress also provides secure communications to your app.

β€’ β€’ β€’

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

Keep Current with Chad M. Crowell

Chad M. Crowell 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!

:(