<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Debug School: Ankit Aggarwal</title>
    <description>The latest articles on Debug School by Ankit Aggarwal (@ankit1601).</description>
    <link>https://www.debug.school/ankit1601</link>
    <image>
      <url>https://www.debug.school/images/8Xdx46OrsQ496LtzdGDI798QArP1CyXM3zyB7mjW1dg/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvdXNl/ci9wcm9maWxlX2lt/YWdlLzE5NS80ZWE1/NTM2YS0xNTRiLTRl/MzQtYmNjNi1lNDA1/OWY3YjJlODAucG5n</url>
      <title>Debug School: Ankit Aggarwal</title>
      <link>https://www.debug.school/ankit1601</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://www.debug.school/feed/ankit1601"/>
    <language>en</language>
    <item>
      <title>List of resources in K8s</title>
      <dc:creator>Ankit Aggarwal</dc:creator>
      <pubDate>Fri, 11 Nov 2022 05:54:00 +0000</pubDate>
      <link>https://www.debug.school/ankit1601/list-of-resources-in-k8s-24hl</link>
      <guid>https://www.debug.school/ankit1601/list-of-resources-in-k8s-24hl</guid>
      <description>&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Namespaces&lt;/strong&gt;: Namespace is something like an isolated environment in cluster keep resource within it like PODs, PVC and few others. By default we have default namespace created
 &lt;em&gt;kubectl get ns&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;POD&lt;/strong&gt;: Pod is atomic unit of k8s where we run one or more container which actually runs application within it
&lt;em&gt;kubectl get pod -n=yournamespace&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ReplicationController&lt;/strong&gt;: this resource will help us create replica of a POD.
&lt;em&gt;kubectl get rs&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Deployments&lt;/strong&gt;: This will help us to deploy pod with more features replication+controller+versioning+rollingoutupdate + rollback.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;kubectl get deploy -n=namespace&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PV&lt;/strong&gt;: it is referred as persistent volume in K8S which is usually created by admin. It is a permanent volume which is not deleted even if pod is deleted&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PVC&lt;/strong&gt;: it is referred as persistent volumne claim which can be claimed by user or admin and then attached to pod. It is for claiming persistent volume available&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Secrets&lt;/strong&gt;: It is a kind of volume in etcd within cluster storage to store meta or config or data  or file in encoded form. It will be in key value pair format&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ConfigMap&lt;/strong&gt;: It is kind of volume in etcd which stores information which is available to all the Nodes. It will be in key value form format. It can also be used for storing environment variables&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Service account&lt;/strong&gt;: These are the sa for process runs in PODs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Daemonsets&lt;/strong&gt;:It also creates a pod. It is mainly for stateless application like application which never changes like apache. It is mainly used by admin where one pod each worker kind of requirement is there. like prometheous or monitoring or logging etc&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stateful sets&lt;/strong&gt;: As the name suggests it is for creating PODS in stateful manner. It also create pods sequentially like Pod1, Pod2, Pod2 1 by 1.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;role&lt;/strong&gt;: It is there for authorization purpose so that role based access can be given to user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;rolebindings&lt;/strong&gt;: It will do user, role and namespace binding for authorization of user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Clusterroles&lt;/strong&gt;: It is a cluster level roles created&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Clusterrolesbinding&lt;/strong&gt;: It will binding users to cluster level roles so that user will have cluster level access to resources&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;jobs&lt;/strong&gt;: These are process which runs at one for specific purpose&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;cronjobs&lt;/strong&gt;: These are process which runs recurrently or repeatedly&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;services&lt;/strong&gt;: There are like a internal load balancers for pods so that if requests can be redirected to pods randomly&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>What is POD</title>
      <dc:creator>Ankit Aggarwal</dc:creator>
      <pubDate>Wed, 09 Nov 2022 07:56:09 +0000</pubDate>
      <link>https://www.debug.school/ankit1601/what-is-pod-46fc</link>
      <guid>https://www.debug.school/ankit1601/what-is-pod-46fc</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Pod is not a physical entity. It just like isolate containers. &lt;/li&gt;
&lt;li&gt;Pod is like handlers for resources like CPU, RAM, Container etc&lt;/li&gt;
&lt;li&gt;Pod is wrapper component where container resides&lt;/li&gt;
&lt;li&gt;Pod can never be restarted or start/stop.&lt;/li&gt;
&lt;li&gt;Pod can always be instantiated&lt;/li&gt;
&lt;li&gt;If container inside the pod stop/failed Pod will be not be available&lt;/li&gt;
&lt;li&gt;Pod has it's own network and uses POD network to communicate to each other.&lt;/li&gt;
&lt;li&gt;We can have multiple containers inside POD and all will have same ip address&lt;/li&gt;
&lt;li&gt;Life Cycle of POD is pending, running , success/failed&lt;/li&gt;
&lt;li&gt;Anything shared at POD level, containers can access it&lt;/li&gt;
&lt;li&gt;Pod is considered as atomic unit of scheduling&lt;/li&gt;
&lt;li&gt;It is the duty of kubernetes to keep running POD&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>How Kubernetes works? All components and roles of their components?</title>
      <dc:creator>Ankit Aggarwal</dc:creator>
      <pubDate>Wed, 09 Nov 2022 07:47:43 +0000</pubDate>
      <link>https://www.debug.school/ankit1601/how-kubernetes-works-all-components-and-roles-of-their-components-127b</link>
      <guid>https://www.debug.school/ankit1601/how-kubernetes-works-all-components-and-roles-of-their-components-127b</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Everything in K8s is on K8s cluster&lt;/li&gt;
&lt;li&gt;It has two main components Master Node and Worker Nodes&lt;/li&gt;
&lt;li&gt;Master Node act as a controller while worker nodes will have container where actual application will be running&lt;/li&gt;
&lt;li&gt;Master Node have mainly 4 components API-server, Cluster Store, Controller Manager &amp;amp; Scheduler&lt;/li&gt;
&lt;li&gt;Api server will act as communication mechanism for whole components to communicate to achieve all the task&lt;/li&gt;
&lt;li&gt;Api server will keep talking to Cluster store to fetch or feed the latest information which it can send to other components to master nodes,&lt;/li&gt;
&lt;li&gt;Cluster store will store all the information about pods, configurations and APIs&lt;/li&gt;
&lt;li&gt;Controller manager have various components like node controller, endpoint controller, namespace controller. It watches for the changes and tried to manage the desired state to keep the application running&lt;/li&gt;
&lt;li&gt;Scheduler will actually commands kubelet to create, deploy and manage PODs &amp;amp; container
10.In the worker nodes we have three components Kublete, Kube Proxy and container engine to perform actions&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Why we need kubernetes?</title>
      <dc:creator>Ankit Aggarwal</dc:creator>
      <pubDate>Wed, 09 Nov 2022 07:35:21 +0000</pubDate>
      <link>https://www.debug.school/ankit1601/why-we-need-kubernetes-1df1</link>
      <guid>https://www.debug.school/ankit1601/why-we-need-kubernetes-1df1</guid>
      <description>&lt;ol&gt;
&lt;li&gt;It is very difficult to deploy &amp;amp; scale application manually as it might require loads of resources and time.&lt;/li&gt;
&lt;li&gt;To handle the scalability challenges we face&lt;/li&gt;
&lt;li&gt;To eliminate human error we might face on multiple deployment&lt;/li&gt;
&lt;li&gt;To deploy application very fast at any scale without hustle&lt;/li&gt;
&lt;li&gt;To Orchestrate the whole process of deployment of microservices&lt;/li&gt;
&lt;li&gt;To tackle network problem like load balancing&lt;/li&gt;
&lt;li&gt;To Manage 100% availability of Application all the time&lt;/li&gt;
&lt;li&gt;To re-deploy changes easily and fastly&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>What is Kubernetes?</title>
      <dc:creator>Ankit Aggarwal</dc:creator>
      <pubDate>Wed, 09 Nov 2022 07:24:00 +0000</pubDate>
      <link>https://www.debug.school/ankit1601/what-is-kubernetes-2pc3</link>
      <guid>https://www.debug.school/ankit1601/what-is-kubernetes-2pc3</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Kubernetes considered to be like an Orchestrator to orchestrate containers, microservices etc.&lt;/li&gt;
&lt;li&gt;Kubernetes is developed by google&lt;/li&gt;
&lt;li&gt;Kubernetes is written in golang language&lt;/li&gt;
&lt;li&gt;Kubernetes is inspired from Borg &amp;amp; Omega&lt;/li&gt;
&lt;li&gt;It is dedicated to CNCF in year 2014&lt;/li&gt;
&lt;li&gt;You can say kubernetes is a deployment tool which helps to scale your application in very less time.&lt;/li&gt;
&lt;li&gt;It is a open source tool&lt;/li&gt;
&lt;li&gt;It also be referred as K8S in short form&lt;/li&gt;
&lt;li&gt;It follows master to worker nodes architecture to deploy applications in microservices manner.&lt;/li&gt;
&lt;li&gt;It came into picture to handle container scalability challenges&lt;/li&gt;
&lt;li&gt;It do workload management, infrastructure abstraction and desired state recovering(auto healing) to keep application up and running through PODs&lt;/li&gt;
&lt;li&gt;It works internally by communicating through APIs managed in api server &lt;/li&gt;
&lt;li&gt;Four important components in kubernetes are Kube-Api server, Cluster Store, Scheduler and Controller&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Diff between docker stop and docker kill?</title>
      <dc:creator>Ankit Aggarwal</dc:creator>
      <pubDate>Mon, 07 Nov 2022 12:10:00 +0000</pubDate>
      <link>https://www.debug.school/ankit1601/diff-between-docker-stop-and-docker-kill-3g4p</link>
      <guid>https://www.debug.school/ankit1601/diff-between-docker-stop-and-docker-kill-3g4p</guid>
      <description>&lt;p&gt;&lt;strong&gt;Docker stop&lt;/strong&gt; command stops the container gracefully and safely. It is not abruptly shut the containers. In this case four events triggers kill, die, disconnect network and stop container. It will send SIGTERM signal(28). If in case if it couldn't stop container in certain time then it kills the container.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;docker stop containerid&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.debug.school/images/VOiKyupOOi0WzdeJ7GsGozkhu4D-wbSu_D-ualBJhQs/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvdGp4eHNp/ZGZsNG5ieTFrYzE3/NGMuanBn" class="article-body-image-wrapper"&gt;&lt;img src="https://www.debug.school/images/VOiKyupOOi0WzdeJ7GsGozkhu4D-wbSu_D-ualBJhQs/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvdGp4eHNp/ZGZsNG5ieTFrYzE3/NGMuanBn" alt="Image description" width="880" height="78"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docker kill&lt;/strong&gt; command kills the container abruptly and in unsafe manner. It will directly kills the container and send 3 events which are  kill, die and disconnect network. It actually send SIGKILL(9) signal to kill container immediately&lt;/p&gt;

&lt;p&gt;&lt;em&gt;docker kill containerid&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.debug.school/images/B9ItK6uW8Xupw_5ziBvbNtI5oidMkAknTWVUpXjwsPc/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvZnAzb24x/MW84eTBqZDMyMGxk/NzIuanBn" class="article-body-image-wrapper"&gt;&lt;img src="https://www.debug.school/images/B9ItK6uW8Xupw_5ziBvbNtI5oidMkAknTWVUpXjwsPc/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvZnAzb24x/MW84eTBqZDMyMGxk/NzIuanBn" alt="Image description" width="880" height="60"&gt;&lt;/a&gt;&lt;br&gt;
All events can be tracked by running &lt;/p&gt;

&lt;p&gt;&lt;em&gt;docker events&lt;/em&gt; command&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
