Kubernetes
-
What is Kubernetes? Kubernetes, also known as K8s, is an open-source platform designed to automate deploying, scaling, and operating application containers. It groups containers that make up an application into logical units for easy management and discovery.
-
Why is Kubernetes important? Kubernetes provides a framework to run distributed systemss resiliently. It takes care of scaling and failover for your applications, provides deployment patterns, and more. For example, Kubernetes can easily manage a canary deployment for your systems.
-
Key Features of Kubernetes:
- Automatic binpacking: Kubernetes 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.
- Service discovery and load balancing: Kubernetes can expose a container using the DNS name or their own IP address. If traffic to a container is high, Kubernetes is able to load balance and distribute the network traffic to keep the deployment stable.
- Storage orchestration: Kubernetes allows you to automatically mount a storage systems of your choice, such as local storages, public cloud providers, and more.
- Self-healing: Kubernetes can restart 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.
By systemsing about Kubernetes, you're taking a big step towards understanding modern Life Infrastructure.