<?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: Yogeshwari</title>
    <description>The latest articles on Debug School by Yogeshwari (@yogeshwariam).</description>
    <link>https://www.debug.school/yogeshwariam</link>
    <image>
      <url>https://www.debug.school/images/eQ0v8FM-klAGy0OGAhsYxmuEARxwZ88IFb6PFgjWyY8/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvdXNl/ci9wcm9maWxlX2lt/YWdlLzczMS84NjRk/MjAzOS02Zjc0LTQ1/NTgtOTg1NC1hMTNi/YmViY2RjZDEucG5n</url>
      <title>Debug School: Yogeshwari</title>
      <link>https://www.debug.school/yogeshwariam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://www.debug.school/feed/yogeshwariam"/>
    <language>en</language>
    <item>
      <title>Assignment #3 Day3 Learning Sumary</title>
      <dc:creator>Yogeshwari</dc:creator>
      <pubDate>Wed, 18 Oct 2023 12:11:21 +0000</pubDate>
      <link>https://www.debug.school/yogeshwariam/assignment-3-day3-learning-sumary-93d</link>
      <guid>https://www.debug.school/yogeshwariam/assignment-3-day3-learning-sumary-93d</guid>
      <description>&lt;p&gt;Ways to deploy the POD&lt;/p&gt;

&lt;p&gt;POD&lt;br&gt;
Replication Controller&lt;br&gt;
Replica Set&lt;br&gt;
Deployment&lt;br&gt;
DaemonSet&lt;br&gt;
StatefulSet&lt;br&gt;
DaemonSet:&lt;br&gt;
Make sure only 1 pod will be running on each node in the cluster&lt;br&gt;
Job &amp;amp; CronJob:&lt;br&gt;
Job: Create the pod, do the job and complete the activity&lt;br&gt;
Cron job: Create the pod, do the job and complete the activity and repeats the same periodically based on the cron rules&lt;br&gt;
ConfigMap:&lt;br&gt;
Helps to store the data in the cluster.&lt;br&gt;
Service:&lt;br&gt;
Help for loadbalancing&lt;br&gt;
Types:&lt;br&gt;
Network Load balancer&lt;br&gt;
Application Load balancer&lt;br&gt;
Pods where the labels are matching with the labels of the selector of the service will be loadbalanced.They load balance only to the healthy pods.&lt;br&gt;
They can be configured for session affinity.&lt;br&gt;
Random Load Balancing is the algorithm used in the service&lt;br&gt;
They use TCP by default&lt;br&gt;
Types of service:&lt;br&gt;
Cluster IP&lt;br&gt;
Externalname&lt;br&gt;
Loadbalancer&lt;br&gt;
NodePort&lt;br&gt;
Kubernetes Ingress:&lt;br&gt;
They are the application load balancer. Ingress help to access the application in kubernetes.&lt;br&gt;
They do&lt;br&gt;
Enabling traffic&lt;br&gt;
Traffic routing&lt;br&gt;
Ensure traffic is reliable&lt;br&gt;
Components of ingress:&lt;br&gt;
Rule -&amp;gt; Ingress object definition&lt;br&gt;
Controller -&amp;gt; Ingress controller deployment&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Assignment Day#2 Learning Summary</title>
      <dc:creator>Yogeshwari</dc:creator>
      <pubDate>Tue, 17 Oct 2023 12:07:47 +0000</pubDate>
      <link>https://www.debug.school/yogeshwariam/assignment-day2-learning-summary-eaf</link>
      <guid>https://www.debug.school/yogeshwariam/assignment-day2-learning-summary-eaf</guid>
      <description>&lt;p&gt;&lt;strong&gt;Namespace:&lt;/strong&gt;&lt;br&gt;
Namespace is the logical separation of a cluster. It helps to isolate the pods. Scope of the pod is namespace. "default" is the default namespace in the cluster. All the pods will be created in default namespace when namespace is not specified.&lt;br&gt;
To create the namespace:&lt;br&gt;
kubectl create ns &lt;br&gt;
Below are two ways to perform CRUD (Create,Read,Update and Delete) operations of the resource in cluster:&lt;br&gt;
Create:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;YAML - create -f yaml&lt;/li&gt;
&lt;li&gt;Command - create
Read:&lt;/li&gt;
&lt;li&gt;YAML - get-f yaml&lt;/li&gt;
&lt;li&gt;Command - get, describe
Update:&lt;/li&gt;
&lt;li&gt;YAML - apply -f yaml&lt;/li&gt;
&lt;li&gt;Command - edit
Delete:&lt;/li&gt;
&lt;li&gt;YAML - delete -f yaml&lt;/li&gt;
&lt;li&gt;Command - delete&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;POD&lt;/strong&gt;&lt;br&gt;
It is the basic unit of the cluster&lt;br&gt;
Create the Pod:&lt;br&gt;
kubectl create -y pod.yaml -nyogi&lt;br&gt;
Display the pods:&lt;br&gt;
kubectl get pods -nyogi&lt;br&gt;
kubectl get pods -o wide -nyogi&lt;br&gt;
To see the container logs:&lt;br&gt;
kubectl logs yogi-pod -nyogi&lt;br&gt;
Portforwarding:&lt;br&gt;
kubectl port-forward --address 0.0.0.0 pod/yogi-pod -nyogi 8999:80&lt;br&gt;
&lt;strong&gt;Replication Controller and ReplicaSet&lt;/strong&gt;&lt;br&gt;
Controls the number of pods to be running in the cluster&lt;br&gt;
Replication controller is now deprecated and replaced by ReplicaSet&lt;br&gt;
&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Replication&lt;/li&gt;
&lt;li&gt;Controller&lt;/li&gt;
&lt;li&gt;Versioning&lt;/li&gt;
&lt;li&gt;Rollout&lt;/li&gt;
&lt;li&gt;Rollback
Below are the deployment strategy followed in Kubernetes:
Recreate
RollingUpdate
RollingUpdate is the default deployment strategy in kubernetes.&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Assignment #2 What is Pod?</title>
      <dc:creator>Yogeshwari</dc:creator>
      <pubDate>Mon, 16 Oct 2023 11:47:41 +0000</pubDate>
      <link>https://www.debug.school/yogeshwariam/assignment-2-what-is-pod-4m3h</link>
      <guid>https://www.debug.school/yogeshwariam/assignment-2-what-is-pod-4m3h</guid>
      <description>&lt;p&gt;Pod is the atomic unit of scheduling. We can have one or more containers in the pod. It is the most basic unit of work. They are ephemeral meaning they can't be redeployed. Below is the lifecycle of a Pod:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pending&lt;/li&gt;
&lt;li&gt;Running&lt;/li&gt;
&lt;li&gt;Succeeded \ Failed&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Kubernetes job is to keep the pods in running state with the desired state.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Assignment #1</title>
      <dc:creator>Yogeshwari</dc:creator>
      <pubDate>Mon, 16 Oct 2023 07:18:46 +0000</pubDate>
      <link>https://www.debug.school/yogeshwariam/assignment-1-6m6</link>
      <guid>https://www.debug.school/yogeshwariam/assignment-1-6m6</guid>
      <description>&lt;p&gt;1)What is kubernetes?&lt;br&gt;
Kubernetes is a container orchestration tool. It supports high availability, workload placements, Infrastructure abstraction, maintains desired state. .&lt;br&gt;
2) why do you need kubernetes?&lt;br&gt;
Scaling is the main limitation for a container. &lt;br&gt;
Kubernetes supports high availability and scalability.Docker can't manage multiple nodes. To overcome this, we have kubernetes. It does self healing, automated Rollbacks, Storage orchestration, secret and configuration management etc&lt;br&gt;
3) Explain in 10 lines how kubernetes works?&lt;br&gt;
It manages the clusters.&lt;br&gt;
We have one or multiple master nodes. &lt;br&gt;
We have a worker node. &lt;br&gt;
One or more pods will be running in the worker nodes. Each pod may contain one or more containers. All pods will be communicating to each other and to master node as well. Master node controls all the worker nodes. &lt;br&gt;
4) kubernetes architecture&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.debug.school/images/Ot4Bk3FquDlG1Nlj9n08-jCB7hy2r_0_MtS3rsATM44/rt:fit/w:800/g:sm/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvb3N6MDRk/bXlsMWp6OTVtamhi/ZXUucG5n" class="article-body-image-wrapper"&gt;&lt;img src="https://www.debug.school/images/Ot4Bk3FquDlG1Nlj9n08-jCB7hy2r_0_MtS3rsATM44/rt:fit/w:800/g:sm/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvb3N6MDRk/bXlsMWp6OTVtamhi/ZXUucG5n" alt="Image description" width="717" height="428"&gt;&lt;/a&gt;&lt;br&gt;
5) Explain each component one line&lt;br&gt;
Components in master node:&lt;br&gt;
1) API server - controls and manages the cluster&lt;br&gt;
2) ETCD - It is the cluster storage&lt;br&gt;
3) Kube controller manager - Controls one or more controllers. Eg Node controller etc&lt;br&gt;
4) Kube Scheduler - Responsible for scheduling the work to the containers.&lt;br&gt;
Components in worker node:&lt;br&gt;
1) Kubelet - Communicates to master node and get the instructions&lt;br&gt;
2) Container runtime - Container engine eg. Docker, ContainerD etc&lt;br&gt;
3) kube proxy - for configuring the network in the cluster&lt;/p&gt;

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