There’s been a lot of buzz in the market around micro-services and containers. Most of the modern day applications are moving towards container based micro-services, this is where Kubernetes comes in handy managing containers at scale.
Kubernetes is a container management tool. Let’s briefly touch upon containers before diving into Kubernetes.
Containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This is almost the same as running your application on a virtual machine and this can be run on any suitable physical machine without worrying about any dependencies.
What is Kubernetes?
Kubernetes is an open source container cluster manager from Google.
Kubernetes treats a large number of nodes as single compute instance where containers are deployed. Kubernetes provides a uniform platform for container deployment, hiding the complexity of scheduling containers across nodes.
Kubernetes goes beyond simple orchestration, it is comprised of a set of independent, composable control processes that continuously drive current state towards the provided desired state.
When to use Kubernetes?
- Optimal usage of hardware resources
- Seamlessly move workloads across private, public, hybrid or multi-cloud
- Roll out new application updates without downtime
- Scale up or scale down containers on the fly
Kubernetes takes away the hard work of deploying and managing containers at scale. Some of the key features Kubernetes offers are:
- One-click deployment of clustered multi-tiered containers across a set of nodes
- Can be deployed anywhere: on bare metal as well on cloud instances
- Manages networking among containers across and within a node
- Comes with a built-in load balancer to distribute load across multiple containers
- Organize co-located containers into a manageable deployment unit
- If a container or node goes down a new container is brought up or rescheduled by Kubernetes (Self-healing)
- Well suited for micro-services
- Pluggable logging, monitoring, and alerting systems
- Supported by major players including Google, IBM, HP, VMWare, Microsoft and others
This was a quick snapshot of Kubernetes. We will dive deep into containers and their management tools in the upcoming posts.
What next? Overview of Kubernetes Architecture.