Kubernetes is an open-source orchestration system for
automating the management, placement, scaling, and routing of containers that
has become popular with developers and IT operations teams.
Kubernetes is a container management technology developed in
google lab to manage the containerized application in a different kind of environment
such as physical, virtual kind of environments such as physical, virtual and
cloud infrastructure.
There is an active Kubernetes community and eco-system
developing around Kubernetes with thousands of contributors.
Kubernetes is an open-source system which helps in creating
and managing the containerization of applications.
Prerequisites
· Who
wants to start with Kubernetes should know the basics of docker.
· How the
docker images are created.
· To learn
about advanced configuration, one should understand basic networking and how the
communication protocol works.
Kubernetes
Architecture
Kubernetes follows client-server architecture wherein the master
is installed on one machine and node on separate machines.kubernets has a
decentralized architecture that does not handle tasks sequentially. These steps
illustrate the basic Kubernetes process.
· An
administrator creates and places the desired state of an application.
· Kubernetes
API server using a CLI or UI. Kubernetes default command-line tool is called
kubectl.
· Kubernetes
stores the file in a database called the key-value store (etcd).
· Kubernetes
implements the desired state on all the relevant applications within the
cluster.
· Kubernetes
continuously monitors the elements of the cluster to make sure the current
state of the application remains same and does not vary from the desired state.
Kubernetes Features
Automated rollouts & rollbacks
·
Service discovery and load balancing
·
Service topology
·
Storage orchestration
·
Secret and configuration management
·
Automatic bin packing
·
Batch execution
·
Self-healing
·
Horizontal Scaling
Kubernetes Advantages
Kubernetes has become the standard orchestration platform for containers.Kubernetes provides a common framework to run distributed systems. So development teams have consistent. Kubernetes can manage scaling requirements, availability, failover, deployment patterns, and more.
Advantages
of Kubernetes
Kubernetes has many powerful
and advanced capabilities.
Availability:
Kubernetes clustering has way high fault tolerance built-in, allowing for
extremely large scale operations.
Auto
Scaling: Kubernetes can scale up and scale down based on traffic
and server load automatically.
Extensive
Ecosystem: Kubernetes has a strong ecosystem around a container
networking interface container storage interface and inbuilt logging and
monitoring tools.
Kubernetes
applications can run in a hybrid and multi-cloud environment.
Kubernetes provides a set of primitives,
collectively known as a federation for keeping multiple clusters in sync with one
another across multiple regions & clouds. A given app deployment can be
kept consistent between multiple clusters and different clusters.
Where
Kubernetes is available in many forms
If you
want to do it all yourself: The source-code and pre-built binaries for most
common platforms.
If you
are using community or docker enterprise: Docker's most recent editions come
with Kubernetes as a pack-in. This is the easiest way for container mavens to
get a leg up with Kubernetes.
Deploying ASP.Net core application to Kubernetes
This series does not focus on
using docker with ASP.NET core in general. Kubernetes is an open-source platform
for containers,it manages the life cycle and networking of containers scheduled
to run. Kubernetes is unlikely to bring you value.
Components for developers
·
Nodes
·
Pods
·
Deployments
·
Services
Nodes: Nodes in a Kubernetes
clusters are virtual machines or physical hardware.
Pods: To run your applications in Kubernetes. Pod is the smallest unit that you can ask Kubernetes to run.
No comments:
Post a Comment