Docker
K8s Storage Ingress

K8s storage, ingress

creating and connecting Volumes: 2 types

Volumes

  • Tied to lifecycle of a Pod
  • All containers in a single Pod can share them

Persistent Volumes

  • Created at the cluster level, outlives a Pod
  • Separates storages config from Pod using it
  • Multiple Pods can share them

CSI plugins way to connect to storage (i.e : aws storage plugins provided by CSI )


Ingress

How do we route outside connections based on hostname or URL?

ingress Controllers (optional) do this with 3rd party proxies

Nginx is popular, but Traefik , HaProxy, F5 etc


Higher Deployment Abstractions

all our kubectl commands just talk to the Kubernetes API

Kubernetes has limited built in templating, versioning, tracking, and management of your apps

many other 3rd party tools but

Helm is the popular

“compose on Kubernetes” comes with Docker desktop (enterprice feature ) which convert docker compose file to Kubernetes yml (but not supports all feature of Kubernetes)


K8s Namespaces and context

Namespaces limit scope, aka “virtual clusters”

Not related to Docker/Linux namespaces

Won’t need them in small clusters

There are some built-in, to hide system stuff from kubectl ”users”

kubectl get namespaces

kubectl get all —all-namespaces

Context changes kubectl cluster and namespace

See ~/.kube/config file

Kubectl config get-contexts

kubectl config set*


knative - serverless workloads on Kubernetes

k3s - mini, simple Kubernetes

K3OS - Minimal Linux OS for k3s 😍

Service Mesh - New layer in distributed app traffic for better control, security, and monitoring