Kubernetes30daysChallenge
Day-01: Introduction to Kubernetes
What is Kubernetes?
Kubernetes is an open-source container orchestration engine designed to automate the deployment, scaling, and management of containerized applications. This open-source project is hosted by the Cloud Native Computing Foundation (CNCF).
Kubernetes is a micro service architecture based tool.
Why do we need Kubernetes?
To Manage the docker containers, which have the applications on them.
Automates the autoscaling of containers according to the traffic during peak and normal hours.
Load balancing of multiple containers.
Automatically deployment of containers onto the available nodes in the cluster.
Self-healing if the containers fail.
Kubernetes : supports both YAML and JSON languages
Kubernetes features:
Auto-Scaling: K8s supports both Horizontal and Vertical scaling for large-scale production environments to avoid or minimize or reduce the downtime of applications.
Auto-Healing: Kubernetes supports Auto Healing mechanism that if the container fail or are stopped due to any issue, with the help of Kubernetes components, containers will automatically repaired or heal and run again properly.
Load balancing: With the help of Load balancing, Kubernetes will distribute the traffic between two or more containers.
Fault Tolerance: Kubernetes helps to notify the nodes or pods failures, and create new pods or containers as soon as possible.
Platform independent: Kubernetes can work on any type of workloads like on-premises, virtual servers and or any cloud.
Rollback: You can switch to the previous version.
Health Monitoring of Containers: Regularly checks the health of the container, if any container fails, creates a new container.
Orchestration: Suppose if three containers are running in different networks like in on-premises, virtual and in cloud. Kubernetes can create one cluster that has all three running containers in one cluster from different networks.
Alternatives of Kubernetes:
Docker Swarm
Apache Mesos
Openshift
Nomad, etc.
Architecture:
Master-Slave/Client-Server Architecture
-
Master node
Worker nodes