<?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: Rakesh Konda</title>
    <description>The latest articles on Debug School by Rakesh Konda (@kondarakeshcse_592).</description>
    <link>https://www.debug.school/kondarakeshcse_592</link>
    <image>
      <url>https://www.debug.school/images/8u2i8p6GiWOgJGgvmCyxMWqoxzcGq0uWwv_NMhrEL-8/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvdXNl/ci9wcm9maWxlX2lt/YWdlLzczMC85OTRl/MTM3ZS1lN2YyLTQ4/NzEtOWRhOS1kODA2/ZTk5NzMzYmYucG5n</url>
      <title>Debug School: Rakesh Konda</title>
      <link>https://www.debug.school/kondarakeshcse_592</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://www.debug.school/feed/kondarakeshcse_592"/>
    <language>en</language>
    <item>
      <title>Kubernetes Day3</title>
      <dc:creator>Rakesh Konda</dc:creator>
      <pubDate>Wed, 18 Oct 2023 12:16:02 +0000</pubDate>
      <link>https://www.debug.school/kondarakeshcse_592/kubernetes-day3-4dm</link>
      <guid>https://www.debug.school/kondarakeshcse_592/kubernetes-day3-4dm</guid>
      <description>&lt;p&gt;--Daemonset : Used to to create on Min and Max of one pod in all nodes&lt;br&gt;
--Job : Creates the pod with image and do its work and go to completed state instead of keep running(once it goes to completed state still we will see job name it will not get deleted but will not consumed any of the resources)&lt;br&gt;
--Cronjob : It will create the job based on the intervals (how many times it revoke the job that many times we see job get created and once its job is done will go to completed)&lt;br&gt;
Note : on interval same job will not used it will create a new job&lt;br&gt;
--Service : By creating the service we can expose all the pods which have same pods label name same as service selector name(but it will get exposed only to cluster level) and it is network loadbalancer&lt;br&gt;
---Three types in Services - clusterIP, nodeport and loadbalancer&lt;br&gt;
---By default service will get created with cluster-ip which will be used only with in the cluster but not from out side&lt;br&gt;
---Using nodeport as type port will be created at node level and all node will be exposed and can use the service with node ip&lt;br&gt;
--Ingress : It will have Ingress controller and Ingress object, it is application level loadbalancer&lt;br&gt;
---Ingress controller : Traffic will hit the engress controller and it will get the rule from the engress object and according request will go to particular service &lt;br&gt;
---Ingress Object : All the rules to the services are written in Ingress object it can be path based, domain based.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Namespaces, Troubleshoot of POD, Replication controller, Replication set, Deploy</title>
      <dc:creator>Rakesh Konda</dc:creator>
      <pubDate>Tue, 17 Oct 2023 12:10:30 +0000</pubDate>
      <link>https://www.debug.school/kondarakeshcse_592/namespaces-troubleshoot-of-pod-replication-controller-replication-set-deploy-5cp2</link>
      <guid>https://www.debug.school/kondarakeshcse_592/namespaces-troubleshoot-of-pod-replication-controller-replication-set-deploy-5cp2</guid>
      <description>&lt;h2&gt;
  
  
  NameSpace
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Kubernetes namespaces create a logical sub clusters in side the cluster so that we can restrict the resources usage to the specific limit for each group.&lt;/li&gt;
&lt;li&gt;Logical sub clusters are created in horizontal not the vertical&lt;/li&gt;
&lt;li&gt;By logical sub clusters, each sub cluster will have its own namespace&lt;/li&gt;
&lt;li&gt;For system deployment pods we have system name space, for default pods default namespace and for public pods public namespace&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Command to create name space : &lt;br&gt;
kubectl create ns &lt;br&gt;
To see all the namespaces:&lt;br&gt;
kubectl get -n&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshoot of POD
&lt;/h2&gt;

&lt;p&gt;Logs, attach, copy, port forwarding&lt;/p&gt;

&lt;p&gt;Logs : with this we can see the logs of the pods&lt;br&gt;
command : kubectl logs  -n &lt;br&gt;
Attach : With this we can see the live logs&lt;br&gt;
command : kubectl attach  -n &lt;br&gt;
Copy : Used to copy files from node to Pod&lt;br&gt;
Command : kubectl cp pod.yaml :/ -n &lt;br&gt;
Port forwarding : With this we can expose the pod to outer world&lt;br&gt;
Command : kubectl port-forward --address 0.0.0.0 pod/ :80&lt;br&gt;
How to check : hodeip(not the pod ip): port to expose to outer world&lt;/p&gt;

&lt;h2&gt;
  
  
  Replication controller, Replication set
&lt;/h2&gt;

&lt;p&gt;Both are same Replication set is next version of replication controller with some bug fixes&lt;br&gt;
Using Replication set we can scale the pods to desired number at any moment of time&lt;br&gt;
Command : kubectl create rs -f &amp;lt;.yamfile&amp;gt; -n &lt;br&gt;
Command : kubectl get rs -n (to know the the created replica set)&lt;br&gt;
Command : kubectl scale --replicas=10 rs  -n (Can edit the desire state with command line instead of editing the .yamfile)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>POD By Rakesh</title>
      <dc:creator>Rakesh Konda</dc:creator>
      <pubDate>Mon, 16 Oct 2023 11:55:10 +0000</pubDate>
      <link>https://www.debug.school/kondarakeshcse_592/pod-by-rakesh-3nb4</link>
      <guid>https://www.debug.school/kondarakeshcse_592/pod-by-rakesh-3nb4</guid>
      <description>&lt;h2&gt;
  
  
  What is POD :
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;POD's are managed by kubernete&lt;/li&gt;
&lt;li&gt;All the components installed while creating Master or worker creates the static nodes for each component&lt;/li&gt;
&lt;li&gt;POD can have multiple containers&lt;/li&gt;
&lt;li&gt;There can be multiple multiple POD's in one worker&lt;/li&gt;
&lt;li&gt;Good practice is to have one container in one POD&lt;/li&gt;
&lt;li&gt;We cannot start the POD's&lt;/li&gt;
&lt;li&gt;POD's cannot be created it can be only initiated buy kubelet&lt;/li&gt;
&lt;li&gt;Each POD have it own .yaml file&lt;/li&gt;
&lt;li&gt;Desire to the kubernetes is created at POD level&lt;/li&gt;
&lt;li&gt;If multiple container in one POD each container should have different port adders&lt;/li&gt;
&lt;li&gt;Containers inside the POD's will communicate with the POD local IP
&lt;/li&gt;
&lt;li&gt;We can have Main containers and supporting containers in side the POD&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>What is Kubernetes by RakeshKonda</title>
      <dc:creator>Rakesh Konda</dc:creator>
      <pubDate>Mon, 16 Oct 2023 07:29:04 +0000</pubDate>
      <link>https://www.debug.school/kondarakeshcse_592/what-is-kubernetes-by-rakeshkonda-50lo</link>
      <guid>https://www.debug.school/kondarakeshcse_592/what-is-kubernetes-by-rakeshkonda-50lo</guid>
      <description>&lt;h2&gt;
  
  
  What is Kubernetes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Kubernetes is orchestration to control the containers&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Do we need Kubernetes? Explain in 10 lines
&lt;/h2&gt;

&lt;p&gt;It provide the required services to control the all the containers(compute, DB, Security, high availability and etc) basically one cluster environment to access the scaled containers.&lt;br&gt;
Using Kubernetes we can expose all the containers configured on the node with one port. With Kubernetes we can set the what is the desire with the containers running on the worker and rest how to achieve the desire Kubernetes will take care by itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Kubernetes Works?
&lt;/h2&gt;

&lt;p&gt;Kubernetes works on Master and Node concepts, Nodes should be configured to specific required Master to form a cluster.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes Architecture. Explain each component with  1 one line.
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.debug.school/images/akRGam7n9qxlNd_yvmyQ5dXdC-9lJz542hACqXhTXCc/rt:fit/w:800/g:sm/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvcWp6YnZz/cXk4ZTV1emVtdG9k/b28ucG5n" class="article-body-image-wrapper"&gt;&lt;img src="https://www.debug.school/images/akRGam7n9qxlNd_yvmyQ5dXdC-9lJz542hACqXhTXCc/rt:fit/w:800/g:sm/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvcWp6YnZz/cXk4ZTV1emVtdG9k/b28ucG5n" alt="Image description" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Master :(Can have multiple Master)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;API Server : Contains 100's of API's, it takes request from all another modules and send response&lt;/li&gt;
&lt;li&gt;ETCD : Serves like database kind of mango DB works based on key and values&lt;/li&gt;
&lt;li&gt;Controller Manager : It works in loops, it will be keep checking the health of all the modules and reports to API Server&lt;/li&gt;
&lt;li&gt;Scheduler : Responsible to schedule the work to nodes comes with the default scheduler, we can custom the scheduler as well. Can assign the work to specific pod or can can configure on random pick &lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Node(Also called as worker) : Contains pods and containers in the pods.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Kubelet : It creates the communication between node and Master, primarily responsible to take the request from Master &lt;/li&gt;
&lt;li&gt;Docker engine : To create the container(Also called as work)&lt;/li&gt;
&lt;li&gt;Kube - proxy - Create the network infra to all the pods.
&lt;/li&gt;
&lt;/ol&gt;

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