Container orchestration with Kubernetes
Kubernetes introduces a new set of concepts for an environment working with Docker containers. We could say that Kubernetes does in production what Docker Compose does in development, but there is much more to it than that. Kubernetes is an open source system originally created for Google Cloud Engine, but you can use it with AWS or any other cloud provider. It is intended for remotely managing Docker clusters in different environments.
Kubernetes introduces the following main concepts:
- Pods
- Replication controllers
- Services
- Labels
Pod
The pod is a new concept introduced by Kubernetes. A pod is comprised of a group of related containers that represent a specific application. This is the most basic unit within Kubernetes; you don't have to keep thinking about containers because pods are what you should focus on here.
Let's consider an application called XYZ that stores its information in a database that exposes a REST API that is consumed by its UI, as shown...