<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Manu Narayanan &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/author/manu-narayanan/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bestdevops.com</link>
	<description>Lets Learn, Do it &#38; Share! Thats a Best DevOps!!!</description>
	<lastBuildDate>Thu, 02 Sep 2021 17:29:24 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>Kubernetes Services, ClusterIP &#8211; NodePort &#8211; ALB architecture for exposing service</title>
		<link>https://www.bestdevops.com/clusterip-nodeport-alb-exposing/</link>
		
		<dc:creator><![CDATA[Manu Narayanan]]></dc:creator>
		<pubDate>Thu, 02 Sep 2021 12:34:54 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20774</guid>

					<description><![CDATA[A kubernetes service is a group of pods running in a cluster. ClusterIP is a service which is accessible only [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="999" height="602" src="https://www.bestdevops.com/wp-content/uploads/2021/09/image-15.png" alt="" class="wp-image-20775" srcset="https://www.bestdevops.com/wp-content/uploads/2021/09/image-15.png 999w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-15-300x181.png 300w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-15-768x463.png 768w" sizes="(max-width: 999px) 100vw, 999px" /></figure>



<p class="wp-block-paragraph">A kubernetes service is a group of pods running in a cluster.<br><br>ClusterIP is a service which is accessible only within the Kubernetes cluster. Hence, it is the internal IP of the components inside a Kubernetes cluster.<br><br>NodePort is an open port for every node in the cluster. This is accessible from outside the cluster.<br><br>LoadBalancer distributes the external request among the workers of the cluster.<br><br>Following commands are used to create 4 PODS using four Manifest files (pod1.yaml, pod2.yaml, pod3.yaml, pod4.yaml)<br><br>After the PODS are created, a CLUSTERIP service with the same label as the pods is created with port forwarding 80 to 5666.<br>With the cluster ip and port 5666, the application is hit.<br><br>After that, NodePort service is created with the same &#8220;label&#8221; as the PODs and port forwarding to 5667. When it is described, an external port 32350 is generated. The IP of the NodePort with the port 5667 or the IP of the worker (A.X.Y.Z) with the port 32350 is used to access the application.<br><br>After that, a Load Balancer is created with the same label as the pods and forwarded to port 5668. <br><br><br>1057 kubectl get pod | grep manu<br>1058 clear<br>1059 ls<br>1060 cp pod.yaml pod2.yaml<br>1061 cp pod.yaml pod3.yaml<br>1062 cp pod.yaml pod4.yaml<br>1063 cp pod.yaml pod1.yaml<br>1064 vi pod1.yaml<br>1065 vi pod3.yaml<br>1066 vi pod4.yaml<br>1067 clear<br>1068 kubectl apply -f pod1.yaml<br>1069 kubectl apply -f pod2.yaml<br>1070 vi pod2.yaml<br>1071 kubectl apply -f pod2.yaml<br>1072 vi pod2.yaml<br>1073 kubectl apply -f pod2.yaml<br>1074 vi pod3.yaml<br>1075 kubectl apply -f pod3.yaml<br>1076 vi pod4.yaml<br>1077 kubectl apply -f pod4.yaml<br>1078 kubectl get pod|grep manu<br>1079 kubectl get pod -o wide | grep manu<br>1080 clear<br>1081 kubectl get pod -o wide | grep manu<br>1082 ipconfig<br>1083 ifconfig<br>1084 clear<br>1085 kubectl create service clusterip manucs &#8211;tcp=5666:80<br>1086 kubectl get svc<br>1087 kubectl get svc|grep manu<br>1088 kubectl delete svc manunp<br>1089 kubectl get svc|grep manu<br>1090 curl http://10.109.100.213:5666<br>1091 kubectl edit svc manucs<br>1092 curl http://10.109.100.213:5666<br>1093 watch curl http://10.109.100.213:5666<br>1094 clear<br>1095 kubectl create service nodeport manunp &#8211;tcp=5667:80<br>1096 kubectl get svc manunp<br>1097 kubectl get svc | grep manu<br>1098 kubectl get svc|grep manu<br>1099 kubectl edit svc manunp<br>1100 curl http://10.109.229.155:5667<br>1101 watch cur; http://10.109.229.155:5667<br>1102 watch curl http://10.109.229.155:5667<br>1103 watch curl http://10.109.229.155:32350<br>1104 curl http://172.31.15.134:32350<br>1105 watch curl http://10.109.229.155:5666<br>1106 clear<br>1107 kubectl create service loadbalancer manulb &#8211;tcp=5668:80<br>1108 kubectl get svc|grep manu<br>1109* kubectl t svc manulb<br>1110 watch curl http://10.104.37.37:5668<br>1111 watch curl http://172.32.15.134<br>1112 watch curl http://172.32.15.134:5668<br>1113 watch curl http://172.32.15.134:32158<br>1114 watch curl http://10.104.37.37:5668<br>1115 watch curl http://172.31.15.134:32158<br>1116 clear<br>1117 history</p>



<p class="wp-block-paragraph"><br><br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is the following service in Kubernetes</title>
		<link>https://www.bestdevops.com/what-is-the-following-service-in-kubernetes/</link>
		
		<dc:creator><![CDATA[Manu Narayanan]]></dc:creator>
		<pubDate>Thu, 02 Sep 2021 10:05:09 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20761</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img decoding="async" width="599" height="57" src="https://www.bestdevops.com/wp-content/uploads/2021/09/image-13.png" alt="" class="wp-image-20762" srcset="https://www.bestdevops.com/wp-content/uploads/2021/09/image-13.png 599w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-13-300x29.png 300w" sizes="(max-width: 599px) 100vw, 599px" /><figcaption><br>It is the service that hits the Kubernetes master. All requests from cluster/workers will hit master through this.<br>Details can be found by:<br>kubernetes describe svc kubernetes <br>(kubernetes is the service name)<br><br><br><br><br></figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="617" height="387" src="https://www.bestdevops.com/wp-content/uploads/2021/09/image-14.png" alt="" class="wp-image-20765" srcset="https://www.bestdevops.com/wp-content/uploads/2021/09/image-14.png 617w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-14-300x188.png 300w" sizes="(max-width: 617px) 100vw, 617px" /></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pods in Kubernetes</title>
		<link>https://www.bestdevops.com/pods-in-kubernetes-3/</link>
		
		<dc:creator><![CDATA[Manu Narayanan]]></dc:creator>
		<pubDate>Wed, 01 Sep 2021 07:43:36 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20671</guid>

					<description><![CDATA[A pod is the smallest working unit in Kubernetes.A pod will have one or more containers (when there are multiple [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">A pod is the smallest working unit in Kubernetes.<br>A pod will have one or more containers (when there are multiple containers, they share the resources on the pods)<br></p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="https://www.bestdevops.com/wp-content/uploads/2021/09/image-11.png" alt="" class="wp-image-20685" width="279" height="171" srcset="https://www.bestdevops.com/wp-content/uploads/2021/09/image-11.png 915w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-11-300x184.png 300w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-11-768x472.png 768w" sizes="auto, (max-width: 279px) 100vw, 279px" /></figure>



<p class="wp-block-paragraph">Kubernetes runs the containers through pods only.<br>When scaling is required, the pod is replicated.<br>Pods are ephemeral and disposable &#8211; they cannot be reinstantiated after the lifecycle, a similar pod can be instantiated.<br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kubernetes worker &#8211; components and function</title>
		<link>https://www.bestdevops.com/kubernetes-worker-components-and-function/</link>
		
		<dc:creator><![CDATA[Manu Narayanan]]></dc:creator>
		<pubDate>Wed, 01 Sep 2021 07:26:46 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20613</guid>

					<description><![CDATA[Kubernetes worker or Minion or Node runs the actual workload.It reports the status of the application to the cluster &#8220;Master&#8221; [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Kubernetes worker or Minion or Node runs the actual workload.<br>It reports the status of the application to the cluster &#8220;Master&#8221; and also listens to any change in the application definition on the Master.<br><br></p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="https://www.bestdevops.com/wp-content/uploads/2021/09/image-9.png" alt="" class="wp-image-20627" width="226" height="197" srcset="https://www.bestdevops.com/wp-content/uploads/2021/09/image-9.png 555w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-9-300x262.png 300w" sizes="auto, (max-width: 226px) 100vw, 226px" /></figure>



<p class="wp-block-paragraph">It has three components:</p>



<ol class="wp-block-list"><li>Kubelet<br>Registers a node with its cluster<br>It watches the AI server for changes in the definition of the application<br>instantiates pods<br>reports the health status of the pods to the master<br>endpoint is 10255</li><li>Kube proxy <br>Handles the networking for the Kubernetes<br>All containers in a pod shares the same IP address<br>Load balancing across all pods<br></li><li>Container engine<br>This is where the container runs (container runtime environment like Docker engine)<br>It does everything like pulling an image, starting a container, stopping etc<br></li></ol>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kubernetes Master &#8211; components and working</title>
		<link>https://www.bestdevops.com/kubernetes-master/</link>
		
		<dc:creator><![CDATA[Manu Narayanan]]></dc:creator>
		<pubDate>Wed, 01 Sep 2021 07:07:48 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20551</guid>

					<description><![CDATA[In a Kubernetes cluster, we package our application and give it to the &#8220;Master&#8221;.Master will distribute it to the nodes [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In a Kubernetes cluster, we package our application and give it to the &#8220;Master&#8221;.<br>Master will distribute it to the nodes (minions) which do the actual work.<br><br></p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="https://www.bestdevops.com/wp-content/uploads/2021/09/image-4.png" alt="" class="wp-image-20583" width="401" height="302" srcset="https://www.bestdevops.com/wp-content/uploads/2021/09/image-4.png 656w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-4-300x226.png 300w" sizes="auto, (max-width: 401px) 100vw, 401px" /></figure>



<p class="wp-block-paragraph">In the Master (representation above), there is a Control plane which has 4 components:</p>



<ol class="wp-block-list"><li>API Server<br>Acts as the entry point to the control plane.<br>It exposes a REST API which consumes JSON files that has the application definition and state defined.<br>Master checks the JSON file and pass the task onto one of the nodes in the cluster.</li><li>Cluster store<br>Stores the configuration and state of the cluster.<br>Uses etcd (key value store) for storage<br>Acts as a source of truth to the cluster</li><li>Controller Manager<br>It controls the multiple controllers that are in the cluster &#8211; like Node controller, Namespace controller&#8230;<br>Continuously watches the state of the system and updates the API server<br>It ensures that current state of the cluster is equal to the desired state of the cluster</li><li>Scheduler<br>Continuously watches out for pods that are unassigned and schedules them to different nodes in the cluster.<br>Assigns work to these nodes.</li></ol>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Features of Kubernetes</title>
		<link>https://www.bestdevops.com/features-of-kubernetes-2/</link>
		
		<dc:creator><![CDATA[Manu Narayanan]]></dc:creator>
		<pubDate>Wed, 01 Sep 2021 06:52:15 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20484</guid>

					<description><![CDATA[Tool for container orchestration &#8211; can manage multiple containers running on different nodes; it was created by Google and later [&#8230;]]]></description>
										<content:encoded><![CDATA[
<ol class="wp-block-list"><li>Tool for container orchestration &#8211; can manage multiple containers running on different nodes; it was created by Google and later made open source. It has a master which &#8220;manages&#8221; the several worker nodes which contain pods where the application is run. <br></li></ol>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="https://www.bestdevops.com/wp-content/uploads/2021/09/image.png" alt="" class="wp-image-20498" width="207" height="211" srcset="https://www.bestdevops.com/wp-content/uploads/2021/09/image.png 568w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-294x300.png 294w" sizes="auto, (max-width: 207px) 100vw, 207px" /></figure>



<p class="wp-block-paragraph">2. Improves productivity through container orchestration and easy installation. hence makes it easy for managing deployment.</p>



<p class="wp-block-paragraph">3. Faster and Simpler deployment of containerized applications. Hence provides consistency for different environments &#8211; QA, Dev, Staging etc &#8211; hence a better reliability.</p>



<p class="wp-block-paragraph">4. Uses lesser system resources compared to VM and other infra envts</p>



<p class="wp-block-paragraph">5. Application isolation separates the processes of each application into different containers</p>



<p class="wp-block-paragraph">6.  Portability &#8211; move the workload to different places</p>



<p class="wp-block-paragraph">7. Immutability &#8211; encourages the development of distributed systems which follows immutable infra that is not affected by user modifications</p>



<p class="wp-block-paragraph">8. Self monitoring &#8211; checks the health of nodes and containers constantly. Also, self-healing &#8211; able to restart containers when they are dead</p>



<p class="wp-block-paragraph">9.  Scalability &#8211; scale resources and applications realtime</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
