Kubernetes (commonly referred to as "K8s") is an open-source system for automating deployment, scaling and management of containerized applications It aims to provide a "platform for automating deployment, scaling, and operations of application containers across clusters of hosts". We will see Kubernetes architecture, use cases, basics and live demo
2. Who am I?
● VP-Delivery @Crevise
● 10 + years of development and solution architecture exp in various
technology.
● Developer turned into Devops evangelist
● Transited from Windows -> Linux
● Container lover.
● Love debugging issues aka issue resolver.
3. K8s? What is this ?
● Kubernetes is an open-source system for automating deployment,
scaling, and management of containerized applications.
● It groups containers that make up an application into logical units
for easy management and discovery.
● In easy terms, It is Container Orchestration tool
● Supports multiple public cloud provider and bare metal
environment
5. Automatic binpacking
Automatically places containers based on their resource
requirements and other constraints, while not sacrificing
availability. Mix critical and best-effort workloads in order to drive
up utilization and save even more resources.
6. Horizontal scaling
Scale your application up and down with a simple
command, with a UI, or automatically based on CPU
usage.
7. Automated rollouts and rollbacks
Kubernetes progressively rolls out changes to your application or its
configuration, while monitoring application health to ensure it doesn't kill all
your instances at the same time. If something goes wrong, Kubernetes will
rollback the change for you. Take advantage of a growing ecosystem of
deployment solutions.
8. Self-healing
● Restarts containers that fail,
● Replaces and reschedules containers when nodes die,
● kills containers that don't respond to your user-defined health
check
9. Service discovery and load balancing
● No need to modify your application to use an unfamiliar service
discovery mechanism.
● Kubernetes gives containers their own IP addresses and a single
DNS name for a set of containers, and can load-balance across
them.
10. Secret and Configuration management
Deploy and update secrets and application configuration without
rebuilding your image and without exposing secrets in your stack
configuration.
13. Master Node
● The Kubernetes Master is a collection of three processes that run on a single node in your cluster, which is designated as the
master node.
● Responsible for maintaining the desired state for your cluster.
● Master can also be replicated for availability and redundancy.
● Kube Api Server
● ETCD
● Kube Controller manager
● Kube scheduler
14. Worker Node
● The nodes in a cluster are the machines (VMs, physical servers etc)
that run your applications and cloud workflows.
● Kubelet
● Kube-proxy
● Container runtime engine -docker
15. Pods
● Basic building block of Kubernetes–the smallest and simplest unit in the
Kubernetes object model that you create or deploy
● Presents a running process on your cluster.
● Group of containers would share storage, Linux namespaces, IP addresses.
● Co-located, hence share resources and are always scheduled together.
● Created, destroyed and re-created on demand, based on the state of the
server and the service itself.
● “one-container-per-Pod” model is the most common Kubernetes use case
16. Deployments
● Level of abstraction above pods
● Define the desired scale and state of a group of pods
● To rollout a replicas
● Rollback to earlier version
● Scaling your pods /application
● Pause deployment
18. Services
● Kubernetes Pods are mortal.
● A Kubernetes Service is an abstraction which defines a logical set of Pods
● The set of Pods targeted by a Service is determined by a Label Selector
● Define a DNS entry that can be used to refer to a group of pods
● Provide a consistent endpoint for the group of pods
● Similar in functionality to load balancers
19. Ingresses
● Define how traffic outside the cluster is routed to inside the cluster
● Used to expose Kubernetes services to the world
● Route traffic to internal services based on factors such as host and path