Академический Документы
Профессиональный Документы
Культура Документы
What is Kubernetes?
• Kubernetes (K8s) is an open-source system for automating
deployment, scaling, and management of containerized
applications.
• Kubernetes is a Container Orchestrator, that abstracts the
underlying infrastructure, where the containers are run by
providing us with a simple API to which we can send requests.
Those requests prompt Kubernetes to meet them at its best of
capabilities. For example, it is as simple as requesting “Kubernetes
spin up 4 containers of the image x”. Then Kubernetes will find
under-utilized nodes in which it will spin up the new containers.
• Developer doesn’t have to care about the number of nodes,
where containers are started and how they communicate. He
doesn’t deal with hardware optimization or worry about nodes
going down because new nodes can be added to the Kubernetes
cluster. In the meantime Kubernetes will spin up the containers in
the other nodes that are still running. It does this at the best
possible capabilities.
• Standardizing CSPs
A little history and
background..
• Borg -> Omega -> Kubernetes
• Google has been running billions of containers every week to
support their production load since more than 15 years but it
was in 2014 that they open sourced it.
• Now it is hosted and maintained by Cloud Native Computing
Foundation which is a Linux Foundation Project and they host
many other projects like gRPC, Prometheus, etc
• Google still uses its Borg system internally and most of the
innovations and features of the evolved Omega and Kubernetes
have been incorporated in Borg.
Service Discovery and Load Balancing - Kubernetes gives containers their
own IP addresses and a single DNS name for a set of containers, and can
load-balance across them
Some Salient Automated rollouts and rollbacks – Rolling Updates – Zero Downtime
Features
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, and doesn’t advertise them to clients until they are
ready to serve
Horizontal Scaling - auto scale also possible using Horizontal Pod Auto Scaler
node – a physical server or a VM, a worker
machine in Kubernetes, has node components
kubelet, kube-proxy, container runtime
https://medium.freecodecamp.org/learn-kubernetes-in-under-3-hours-a-detailed-guide-to-
orchestrating-containers-114ff420e882
https://en.wikipedia.org/wiki/Kubernetes
https://en.wikipedia.org/wiki/Linux_Foundation#Cloud_Native_Computing_Foundation
https://en.wikipedia.org/wiki/LXC
Resources
https://ai.google/research/pubs/pub43438
https://en.wikipedia.org/wiki/Orchestration_(computing)
https://queue.acm.org/detail.cfm?id=2898444
Thank You