Moving on from the previous post from our Kubernetes 101 series, we saw what a Docker container is and how you can run it.
❓What happens when you need to coordinate and schedule many containers?
❓How do all the different containers talk to each other?
❓How can we scale many container instances?
✅ This is where Kubernetes comes into picture.
Kubernetes is a popular open source platform for container orchestration. While there are other options, such as Apache Mesos or Docker Swarm, Kubernetes has become the industry standard.
1️⃣ Service discovery and load balancing
Kubernetes can expose a container using a DNS name or through its IP address.
If traffic to a single container is high, Kubernetes can take care of load balancing and distribute the network traffic so that your application stays up.
2️⃣ Resource management
Given a cluster of nodes, we can define how much CPU and memory each container needs and Kubernetes will distribute the containers over the nodes, in order to make the best use of resources.
3️⃣ Self healing
Containers that fail get restarted, new containers are deployed when creating a new version of your app, containers that don't respond to health checks are killed and don’t receive traffic until they are ready to serve.
4️⃣ Secret and configuration management
Kubernetes stores and manages sensitive information (passwords, OAuth tokens, SSH keys, etc.).
Secrets and application configuration can be updated and deployed without rebuilding your container images.
5️⃣ Automated rollouts and rollbacks
Through YAML configuration files, you can define the desired state you want your application to be in and then rely on Kubernetes to maintain it.
Check out new-spike.net for other articles on Kubernetes and much more!