Skip watching entire videos - get the full transcript, search for keywords, and copy with one click.
Share:
Video Transcript
Video Summary
Summary
Core Theme
This content is a transcript of a mock interview for a DevOps role, focusing on the candidate's experience with cloud technologies (AWS, Azure), CI/CD tools (Jenkins, Azure DevOps), containerization (Docker, Kubernetes), and infrastructure as code (Ansible, Terraform).
Mind Map
Click to expand
Click to explore the full interactive mind map • Zoom, pan, and navigate
hi kaushik so uh
yeah let's start the mock interview and
uh so i'll firstly try to understand
your profile and then
you know you can give me a brief
introduction and uh we can go forward
with the questions right so
can you uh just brief me about your past
experience and uh what is your uh you
know comfort zone in devops and what are
you doing day to day
can you just give me a movie
yeah definitely so
so for the past i've been working on uh
devops and cloud technologies uh so what
i've been working is like working on
cloud technologies like aws and azure
and also on our devops as well so for
git uh i've been using for uh
uh jenkins for ci cd and uh airbus uh
code pipelines and as well as azure repos
repos
and also uh azure devops
for uh ci cd management and uh coming to
containerization and orchestration i've
been using uh docker and kubernetes uh
okay so like this is my overview like
this is uh like what i've been working
on and also like for uh configuration
management i've been using uh ansible
and as well as
uh terraform for uh like uh deploying
the infrastructure so yeah awesome so
i'll i'll try to keep this uh interview
questions as simple as possible to
understand your experience the goal is
not to confuse but to you know
understand what is your work experience
and how familiar of you with these tools
right so yeah okay as you told uh i
would firstly like to understand uh can
you tell me what is git
so git is basically for source code
management say like uh you have some
developers and uh
like we need to develop an application
uh so what we do with kit is like you
basically uh check in the code and you
have all the source code and we need a
distributed centralized uh version
control system where we can actually
track the code so so for that reason uh
we use git law so for git we have like
several hosting platforms like say like
a bit packet we have some something like
azure repos or code comment or git lab
or github so so we use them as a
platform uh to actually commit the code
and like for a centralized
system to track the changes so that is
when you use git so
so
do you know if git is a centralized or a
distributed version controlling system
git is a distributed version control system
system
awesome so uh because you have vast
experience like you have experience with
azure and you also have experience with
uh like you told that you know that
there are other hosting platforms like
github right so
i would like to understand from you what
is the difference between github and
the azure repositories have you tried to
understand the difference anytime
yeah i mean like uh it's like it's just
like a hosting platform uh it's just
that the user interface would vary and
there are like couple of features which
would uh vary from github to like say
azure repos so uh
like i mean like uh it's almost the same
it's just that the platform is different
and you have much more better
integrations with the azure repos where
you can easily integrate
it with azure devops so it has that flexibility
flexibility
so yeah so that is the main difference i
can say
okay so can you integrate uh azure
devops with a github repository
yeah definitely so so we have a concept
called service connections where you
actually provide the provider and you
you specify a service account and its
details you pass it in the service
connections and
then you can have your github integrated
to azure devops so in that case uh what
do you see is the difference between
github and azure repositories because i
can create a github repository for free
right i don't have anything
yeah exactly so so yeah i mean like you
have like you can create public
repositories or like private uh
repositories uh for sure but uh for
azure repos you need to have a
subscription and you you need to have
your own organization set up so
it's like based on like you need to you
need to make a payment for it so azure
for like github you don't need to
necessarily so in your organization are
you using repos on github or azure so we
have used like multiple projects like uh
so for one project uh for the project
that i'm currently in uh using uh i'm
currently uh using azure repos for
source management yeah
okay got it
yeah so uh
do you use git for your day-to-day
activities or
yeah i do use uh get on like for a
day-to-day activities like not like
really complicated comments but like
what what exactly is required for
for the code management so do you
understand the difference between git
pool and git fetch
yeah git pull basically pulls all the
contents of a
repository whereas git fetch only
fetches what what exactly has been
changed and uh that will be the new the
new files and the new changes right yeah
exactly awesome
yeah so uh like i would like to
understand uh a complete ci flow of your
organization have you are doing uh cacd
yeah definitely i can go ahead so so i
can have like several use cases like let
me take one example uh i would taking
taking
azure into consideration for now uh say
like we use azure devops for ci cd so
what we what i have done in the past is
like i have created uh release pipelines
in azure devops where i have integrated
uh azure repos uh
inside the pipeline and for this we're
using uh docker and kubernetes uh where
for uh micro service management so so we
we containerize the application and like
uh this is part of the release process
uh so like
we create images and we push these
images to azure container registry and
once we have the images pushed to azure
container registry uh we fetch the
images uh as a part of cacd process and
then we
use this kubernetes concept to uh
create a release pipeline and we create
a deployment uh manifest and uh uh
basically fetch the image from the
registry and uh
so how do you do that uh deployment part
like how do you fetch this
from the registry and how do you deploy
so this is through kubernetes manifest
file so we specify in the container
image and also
we specify the required parameters we
pass them inside the kubernetes manifest and
and
as a part of this process uh we include
this in the release pipeline and
so that is how the pipeline looks like
so uh do you prepare this kubernetes
manifest on the fly or do you store it
somewhere or how is it
so this is like version control so as i
mentioned earlier we use azure repos for
source code management so uh we have all
these files com checked into uh azure
repos so from there we fetch this uh
deployment file okay so using some shell
script or something do you modify the
container image or the port if required
for the deployment yaml file before so i
use visual studio code to basically uh
update the images and uh so that is when
i have integrated uh azure with uh uh
uh
for this visual studio code and that is
how i check in the code to azure repos and
and
uh and i create a release based on the
requirement or based on what we have scheduled
scheduled so
so
awesome yeah that's that's very good to
know and
so coming to this uh kubernetes right so
how do you
ensure that there is no downtime during
your uh application deployment
yeah definitely so so so i do perform
like a rolling update what exactly it
means is making sure that we have at
least two replicas running on our uh
on on our kubernetes uh so this this
ensures that when you create a release
so then one one part goes down and
meantime the other part uh still stays uh
uh
updated with the new changes so so that
is how uh we do we do like a rolling
update which which will ensure that the
application is up and running all the time
time
awesome awesome so uh what is the
difference between a
deployment and a replica
so uh the replica set
is deployment is where you specify the
number of replicas and replica set is
kind of a different concept also so
replica that i'm i don't have on top of
my mind but uh
yeah yeah that's okay
yeah and uh so you are performing this
uh as a rolling updates right the deployment
so uh like do you understand the concept
of services in kubernetes
yeah i mean like i do i do uh work on
different services like so we have like
a load balancer service we can say and
also like uh notepod and uh also like
cluster ib so these are like the circles
that we uh use like based on what
exactly is required so yeah awesome
awesome so
about the different kinds of services yeah
yeah
so uh let us let us slightly uh deep
dive into this kubernetes topics and um so
so
what are the kubernetes uh
i mean you understand the kubernetes
control plane right so right and it is
uh which kubernetes control plane
services uh would deploy on the worker nodes
nodes
so so basically considering to master we
say like we have like a cube scheduler
controller queue control manager and as
well as api server which are like and
also like the xcd which are part of uh
the kubernetes control plane uh like uh
the core components and like for
kubernetes nodes i can say like we we
have this cube q proxy and as well as uh
cube ctl uh so basically these are like
uh uh
which we have on each node so this is to
perform uh uh pod operations and uh uh
like manage the cluster operations on
the node
yeah so basically uh you forgot about cubelet
cubelet
oh yeah yeah yeah right yeah cubelet and
theta is for uh
command interface right yeah
yeah
so uh can you
it's okay if you don't uh completely
understand but uh do you know how
cubelet actually works uh can you tell
like if i'm creating a pod let's assume
that uh i gave a request through command
line something like ctl apply for dml
okay so can you unders can you tell me
on in a brief like what actually happens
how is this request uh
processed from your cube ctl from your
command line to the deployment of the
actual part
okay so so basically here uh the cube
scheduler and cube controller comes into
picture so what cube scheduler does is
like when we when we pass the
requirements uh it makes sure that it
will have that required
resources allocated onto a particular
part which which make sure uh that
it it deploys the right number of
replicas onto that particular part and
inside the cluster which is so and like
cube controller uh what it does is like
it make sure that uh it has the right
number of uh so so we have this concept
called like desired state and uh yeah uh
the current state so it make sure that
if if for some reason the part goes down
uh maybe some uh issues like uh we can
say like crash crash flow back off state
and the part goes down and what it does
is like
it creates a new part that is when a
desired state
it looks for that state and that is how
uh the cube controller comes into
picture and cubelet uh cube uh cubectl
is how we we write in the commands uh so
just that uh
to fetch the logs if it fetches the logs
through this master node
so what it does is like uh
we use cube ctl which which queries uh
the cube api server so that is how the
connection looks like uh so yeah so yeah
so from cube ctl it would actually go to
the cube api server cube api server then
it goes to your api server yeah
yeah yeah
yeah
so from the api server it would go to
the scheduler and from scheduler it goes
to the cubelet right
and from there it also goes to lcd as well
well
yeah and
yeah probably uh sometimes uh to some of
the interviewers you might have to
explain that you know uh when when we
are looking for more about cubelet so
probably you can say that uh cubelet
would talk to the container network
interface right correct yeah we have the
cni and the cre right container yeah
runtime environment container runtime
environment yeah so you need to say that
it goes to the container runtime and
depending on the container runtime there
is a container runtime interface and
from there it would get deployed yeah
but you are good i mean yeah i mean like
i just wanted to give an overview yeah
okay so like if we go in depth it's like
we have like container and an environment
environment
which basically manages this yeah yeah
good so uh do you understand the concept
of ingress in kubernetes
yeah i do understand the concept of
ingress uh can you tell me why
is so
it is like similar to like uh
service type it is a service type where
we you directly need to like uh so we
use like application gateway so it
doesn't need to actually communicate with
with
intermediate interfaces like we have we
can establish a direct connectivity uh
with your parts and uh like for the
external uh applications like which is
outside of your cluster
awesome awesome yeah so
i think you are doing really well uh on
this specific things i would like to
like you know slightly jump on to uh
some advanced questions that i have and
uh yeah
yeah you can uh you know you can ask me
if there is any questions uh regarding
these things or not so yeah
because you already work on docker
right so do you know what is a uh
distro-less docker image
ah destroy stalker image
yeah that's okay and uh
one more thing is uh have you ever
worked on uh multi-stage docker deployments
deployments
yeah uh i did work on multi-stage docker
deployment where in like kubernetes we
have like uh the pod concept where uh in
each part like there are like multiple
containers which is called like a
sidecar container okay i have worked on that
that
yeah okay uh no problem and
so with respect to kubernetes um
do you know what is a custom resource definition
definition
yeah uh the crd right so custom resource
definition is like which you so for one
use case which i can say is like for
help there is one thing
so we have this uh radish which we need
to deploy so what we use like for we use
like custom resource definition to
basically uh pass inside the
kubernetes file uh for the help
deployment that which which basically
packages and makes it it acts like a
proxy uh so so where you can
actually manage the resources so that is
what the crd is actually
okay okay
yeah so uh
yeah one last question that i have uh is
like uh do you know uh what is an
admission controller in kubernetes
uh admission controller uh i knew but i
don't i want to that's okay i mean yeah
it does also yeah because we don't work anymore
anymore
yeah sure so basically you know uh it's
they're like similar to web hooks where
uh you know probably you want to modify
the behavior are you aware of uh service mesh
mesh
yeah yeah
so if you take example of service mesh
what happens when you deploy
you know when you deploy service mesh so
it creates a side cut container for your
uh actual container right inside it is
when you use sidecar containers yeah so
you know how this works uh behind is
that uh kubernetes has a concept called
mutating webhook so you know okay uh so
whenever you create a request for the
pod so
the webhook gets triggered and
it modifies the behavior of your port
and it creates two containers instead of
your actual container that you're
deploying so this is the concept of
admission controllers yeah that's okay
yeah no you know it so yeah that's fine
yeah yeah so yeah i think uh you have
answered pretty well and uh that's all i
have uh it was very nice talking to you
and yeah it was nice talking to you as well
well
yeah good to know about like couple of
concepts like the admission controller
yeah uh and also the republic assets as
Click on any text or timestamp to jump to that moment in the video
Share:
Most transcripts ready in under 5 seconds
One-Click Copy125+ LanguagesSearch ContentJump to Timestamps
Paste YouTube URL
Enter any YouTube video link to get the full transcript
Transcript Extraction Form
Most transcripts ready in under 5 seconds
Get Our Chrome Extension
Get transcripts instantly without leaving YouTube. Install our Chrome extension for one-click access to any video's transcript directly on the watch page.