Kubernetes Beginner Tutorial 3 | Features of Kubernetes Part 2

Kubernetes Beginner Tutorial 3 | Features of Kubernetes Part 2

Hello and Welcome to Part 2 of features of kubernetes
in the earlier session we have learnt about automatic Bin packing service Discovery and
load balancing storage orchestration and self healing features be covered in part one of
the features of kubernetes in this session will cover rest of the features of kubernetes
so let’s start on this awesome journey to learn the features of Kubernetes Hello and welcome, I am Raghav
I am a teacher and you can find All my work on my website AutomationStepByStep.com In this session we will learn about the features of Kubernetes and this is part 2 of the features of Kubernetes session In this session we are going to go very basic step by step and learn automated and rollback secret and configuration
management batch execution and horizontal scaling and do not worry if you have no prior
knowledge or you do not know anything about these terms I will go very basic from scratch
and we will go up step by step so these are the four features be covered in part 1 so
just in case you have not watched part 1 of this session I will request you to watch that
first and then we will start with the feature number 5 in the session that is automated
rollouts and rollback kubernetes can manage rollouts and rollback in an automated way
and before we know that let us understand what is rule out and roll back whenever the
make we changes to the application or we deploy new changes on new features to our
application that is called as roll out and just in case we have to revert those changes
and we have to restore the application to the previous state that is called as rollback
now kubernetes takes care of role out and rollback in an automated way and it does all
this while taking care that there is no downtime of the application of the process so kubernetes
can progressively role out the changes to the application and while it is rolling out
the changes it also monitors the application and just in case if there are any issues or
something goes wrong it will roll back and all the time the application will be up there
will be no downtime so this was the feature of automated rollouts and rollback the next
feature is secret and configuration management in kubernetes we have two object secrets and
configmaps now secret is a object in kubernetes that handles the sensitive data like passwords
keys tokens extra and configmap is a object in kubernetes that handles the configurations
so secrets is a kubernetes object and secret is created outside Pods and Containers if
you look at this image we have already seen about Pods Containers and Node in a brief
in the earlier session so inside a Node there can be one or multiple Pods and inside a
Pod they can be one of multiple containers and secret is managed and created outside
the Pods and Containers in the same way configmap is a kubernetes object and it is created and
managed outside the pods and containers know the advantage here is because these are located
outside and not coupled with pods or containers it is easy to manage both the sensitive data
as well as the configuration they are portable and easy to manage so in simple words secrets
is a kubernetes object that separates sensitive data from pods and containers and configmap
is a kubernetes object that separates configuration from pods and containers so with this feature
in kubernetes we can manage secrets and configurations separately from the image and also it helps
to deploy and update the secrets and configuration without rebuilding the image some important
and useful things secret and configurations are stored separately in a data store called
ETCD or at CD so etcd is a key-value data store database and there is a limit for
secrets the max size limit for Secret is 1 MB so this is some important information you
can remember and this was secret and configration management feature the next feature
is batch execution now Batch job requires an executable or a process to run 2 completion
and in kubernetes we have Run 2 completion jobs which are used for batch processing and
each job can create one or more pods based on the requirements and during the job execution in case any container
or pod fails it will be rescheduled on any other available node and job controller will
take care of all this in case required it can also run multiple pods in parallel and
can scale up if required and once the job is completed the pod will move from running
state to shutdown state now with all these features the feature of batch execution in
kubernetes support batch execution long running jobs and replaces failed containers so this
was the feature of batch execution then we have horizontal scaling in kubernetes we can
do scaling and scale up and scale down of containers Now scale up means to create more
replicas of the container if required and scale down means to kill the containers in
case the containers are not required and in kubernetes this scaling up and scaling down
of container can be done using commands or using the UI on the dashboard and it can also
be taken care automatically based on the CPU usage Now to understand this in a more deeper
way there are three tools or structures in kubernetes replication controller, manifest
file and horizontal pod scaler now what is replication controller replication controller
is a structure that enables to create multiple pods and it will make sure that is number
of pods always exist in case any pod crashes replication controller will replace it
and replication controller gets the information about the number of pods to create and make
available always from a file that is called as manifest file so if you look at this image from the manifest
file in the manifest file there is a property or information called replicas and there is
a count there so if it says replicas 3 replication controller will create and manage 3 replicas
of the pod replication controller is also abbreviated as RC or a RCS and it will ensure
that the desired number of pods are always maintained now we also have another Tool or structure
called horizontal pod autoscaler now horizontal pod autoscaler will monitor the CPU utilisation
and based on this Matrix it can send a message to replication controller or set the number
of pods required and based on that replication controller will maintain that number of pods so
there is a controller manager in horizontal pod autoscaler which looks every 15 seconds
15 seconds is the default time it can be changed and it keeps on monitoring the CPU utilisation
and based on those Matrix it can send the signal to replication controller to maintain
the number of pods so this was about horizontal scaling this feature says that kubernetes
can scale up and scale down the containers using commands or from dashboard or automatically
based on the CPU usage so these are the eight major features of kubernetes I hope all these
features are now very clear to you you can watch these videos over and over again if
you have any doubt and in this session we covered automatic rollouts and rollbacks, secret
and configuration management, batch execution and horizontal scaling in the coming
we will learn the architecture of Kubernetes I hope the session was very useful for you thank you for watching

9 thoughts to “Kubernetes Beginner Tutorial 3 | Features of Kubernetes Part 2”

  1. For implementing horizontal pod auto scaler in kubernetes that time we no need to mention replica in manifest file.am I right

  2. you explain the most complex problems in the easiest way possible! by keeping things simple. can't find a better guide than you on the internet! keep up the good work 🙂

  3. As u r going total thearetical(i understand as it is just begining) . im excited to know that do we have any practical sessions in the future.

Leave a Reply

Your email address will not be published. Required fields are marked *