What is Kubernetes and its feature?
Kubernates is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.
Some of the features which Kubernates offers are:
· Pod -collection contains
· Replication Controller
· Storage Management
· Resource Monitoring
· Health Checking
· Horizontal Auto Scaling
· Service Discovery
· ConfigMap and Secret
· Rolling Deployment and Rollback
How kubernetes works? Explain each components with Short Summary
Kubernetes keeps track of container applications that are deployed into the cloud. It restarts orphaned containers, shuts down containers when they’re not being used, and automatically provisions resources like memory, storage, and CPU when necessary.
A Kubernetes pod is a group of containers, and is the smallest unit that Kubernetes administers. Pods have a single IP address that is applied to every container within the pod. Containers in a pod share the same resources such as memory and storage.
Kubernetes deployments define the scale at which you want to run your application by letting you set the details of how you would like pods replicated on your Kubernetes nodes. .
if a pod encounters an issue , it’s Kubernetes’ job to replace it so that the application doesn’t experience any downtime.
A Kubernetes node manages and runs pods.
A cluster is all of the above components put together as a single unit.
With a general idea of how Kubernetes is assembled, it’s time to take a look at the various software components that make sure everything runs smoothly. Both the control plane and individual worker nodes have three main components each.
The API server exposes a REST interface to the Kubernetes cluster. All operations against pods, services, and so forth, are executed programmatically by communicating with the endpoints provided by it.
The scheduler is responsible for assigning work to the various nodes. It keeps watch over the resource capacity and ensures that a worker node’s performance is within an appropriate threshold.
The controller-manager is responsible for making sure that the shared state of the cluster is operating as expected. More accurately, the controller manager oversees various controllers which respond to events (e.g., if a node goes down).
A Kubelet tracks the state of a pod to ensure that all the containers are running. It provides a heartbeat message every few seconds to the control plane. If a replication controller does not receive that message, the node is marked as unhealthy.
The Kube proxy routes traffic coming into a node from the service. It forwards requests for work to the correct containers.
etcd is a distributed key-value store that Kubernetes uses to share information about the overall state of a cluster.