<?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>rameshsaya &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/author/rameshsaya/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>Fri, 04 Feb 2022 09:57:35 +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>Define kubernetes ReplicaSets with Example and commands?</title>
		<link>https://www.bestdevops.com/define-kubernetes-replicasets-with-example-and-commands/</link>
		
		<dc:creator><![CDATA[rameshsaya]]></dc:creator>
		<pubDate>Thu, 16 Sep 2021 06:40:18 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=21486</guid>

					<description><![CDATA[ReplicaSet: A ReplicaSet&#8217;s purpose is to maintain a stable set of replica Pods running at any given time. As such, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">ReplicaSet:</h2>



<p class="wp-block-paragraph">A ReplicaSet&#8217;s purpose is to maintain a stable set of replica Pods running at any given time. As such, it is often used to guarantee the availability of a specified number of identical Pods.</p>



<p class="wp-block-paragraph">There are many ways we can use replicasets such that always required number of pods running is guarangteed.</p>



<ol class="wp-block-list"><li>While creating the deployment</li></ol>



<pre class="wp-block-verse"> kubectl create deployment ramesh --image=scmgalaxy/nginx-devopsschoolv1 --replicas=3 -n=ramesh</pre>



<p class="wp-block-paragraph">2. While the deployment is running</p>



<pre class="wp-block-verse">kubectl edit deploy ramesh -n=ramesh
Replicas:               2 desired | 2 updated | 2 total | 2 available | 0 unavailable //change this value to desired number of replicas</pre>



<p class="wp-block-paragraph">3. Using scale option</p>



<pre class="wp-block-verse">kubectl scale --replicas=1 deploy/ramesh -n=ramesh</pre>



<h2 class="wp-block-heading">Always the required number of pods are running is guaranteed.</h2>



<pre class="wp-block-verse">[centos@ip-172-31-22-14 ramesh]$ kubectl create deployment ramesh --image=scmgalaxy/nginx-devopsschoolv1 --replicas=3 -n=ramesh
deployment.apps/ramesh created
[centos@ip-172-31-22-14 ramesh]$ kubectl get deploy -n=ramesh
NAME READY UP-TO-DATE AVAILABLE AGE
ramesh 3/3 3 3 9s
[centos@ip-172-31-22-14 ramesh]$ kubectl get pods -n=ramesh
NAME READY STATUS RESTARTS AGE
ramesh-88bcb4f5d-9jq4d 1/1 Running 0 18s
ramesh-88bcb4f5d-dtn2c 1/1 Running 0 18s
ramesh-88bcb4f5d-hppkz 1/1 Running 0 18s
[centos@ip-172-31-22-14 ramesh]$ <strong>kubcectl delete pod ramesh-88bcb4f5d-hppkz -n=ramesh</strong>
-bash: kubcectl: command not found
[centos@ip-172-31-22-14 ramesh]$ kubectl delete pod ramesh-88bcb4f5d-hppkz -n=ramesh
pod "ramesh-88bcb4f5d-hppkz" deleted
[centos@ip-172-31-22-14 ramesh]$ kubectl get pods
NAME READY STATUS RESTARTS AGE
nagesh 1/1 Running 0 93m
[centos@ip-172-31-22-14 ramesh]$ kubectl get pods -n=ramesh
NAME READY STATUS RESTARTS AGE
ramesh-88bcb4f5d-9jq4d 1/1 Running 0 52s
ramesh-88bcb4f5d-dtn2c 1/1 Running 0 52s
ramesh-88bcb4f5d-qms2q 1/1 Running 0 <strong>10s</strong> //this is the newly created pod after deleting the existing POD</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How kubernetes works? Explain each components with Short Summary</title>
		<link>https://www.bestdevops.com/how-kubernetes-works-explain-each-components-with-short-summary-5/</link>
		
		<dc:creator><![CDATA[rameshsaya]]></dc:creator>
		<pubDate>Wed, 15 Sep 2021 10:10:46 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=21413</guid>

					<description><![CDATA[Kubernetes works with Kubernetes cluster and a control plane. Kubernetes cluster is a combination of nodes with atleast one Master [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Kubernetes works with Kubernetes cluster and a control plane.</p>



<p class="wp-block-paragraph">Kubernetes cluster is a combination of nodes with atleast one Master node and a worked node.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="477" src="https://www.bestdevops.com/wp-content/uploads/2021/09/image-34-1024x477.png" alt="" class="wp-image-21452" srcset="https://www.bestdevops.com/wp-content/uploads/2021/09/image-34-1024x477.png 1024w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-34-300x140.png 300w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-34-768x358.png 768w, https://www.bestdevops.com/wp-content/uploads/2021/09/image-34.png 1064w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Control plane components:</p>



<ol class="wp-block-list"><li>Api Server: Provides Api to connect to worker nodes</li><li>Cluster store (etcd): Persistant storage of cluster state and it stores data in key and value pair in etcd db.</li><li>Controller Manager: It is a controller of controllers.</li><li>Kube schedular: It will just schedule the pods and assigns the work</li></ol>



<p class="wp-block-paragraph">Node components:</p>



<ol class="wp-block-list"><li>Kubelet (Minion): To attach worked node to master to add it in a cluster and it instantiates the Pod</li><li>Container engine: It is Docker</li><li>Kube Proxy: Pod gets the network using proxy so that all the pods can be communicated using the ip.</li></ol>



<p class="wp-block-paragraph">Pod:</p>



<ol class="wp-block-list"><li>Pod is an atomic unit of kubernetes</li><li>Pod consists of a container</li><li>Pod can&#8217;t be created but can only be instantiated</li><li>All Pods can communicate with each other</li></ol>



<p class="wp-block-paragraph">Pod Life cycle:</p>



<p class="wp-block-paragraph">Pending-&gt;Running-&gt;success/fail</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is Kubernetes and its feature?</title>
		<link>https://www.bestdevops.com/what-is-kubernetes-and-its-feature-3/</link>
		
		<dc:creator><![CDATA[rameshsaya]]></dc:creator>
		<pubDate>Wed, 15 Sep 2021 09:49:57 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=21398</guid>

					<description><![CDATA[Kubernetes is an open source tool to manage containerized applications, it was initially developed by Google. Kubernetes solves the problem [&#8230;]]]></description>
										<content:encoded><![CDATA[
<ul class="wp-block-list"><li>Kubernetes is an open source tool to manage containerized applications, it was initially developed by Google.</li></ul>



<ul class="wp-block-list"><li>Kubernetes solves the problem of managing containers to automatically scale-up/ scale-down when the nodes having the container fails, so it will deliver the required performance with the desired number of services are always running.</li><li>Kubernetes also provides the load balancing technique in simple/ round-robin fashion though the same container is running in same node.</li><li>Kubernetes guarantee the number of pods (containers/services) always running at any cost.</li><li>Kubernetes provides auto-scaling feature as per the load.</li><li>It is self-healing and has the ability to recover from disaster.</li><li>It does automatic rollbacks when the new deployment fails.</li><li>the deployments can be done very fast</li><li>It provides multi master technique for High availability.</li><li>Simple to setup and easy to trouble shoot.</li></ul>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>List out 10 Feature of Docker-compose</title>
		<link>https://www.bestdevops.com/list-out-10-feature-of-docker-compose-5/</link>
		
		<dc:creator><![CDATA[rameshsaya]]></dc:creator>
		<pubDate>Wed, 15 Sep 2021 05:12:01 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=21355</guid>

					<description><![CDATA[Multiple services can be defined and run together making it easier to run. Can make all the services up and [&#8230;]]]></description>
										<content:encoded><![CDATA[
<ol class="wp-block-list"><li>Multiple services can be defined and run together making it easier to run.</li><li>Can make all the services up and down at a time.</li><li>Can make even a single service up/down</li><li>Multiple isolated environments on a single host</li><li>Preserve volume data when containers are created<a href="https://docs.docker.com/compose/#preserve-volume-data-when-containers-are-created"></a></li><li>Only recreate containers that have changed<a href="https://docs.docker.com/compose/#only-recreate-containers-that-have-changed"></a></li><li>Variables and moving a composition between environments</li></ol>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe  id="_ytid_58034"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/?enablejsapi=1&#038;list=PLTCuRW0ikUdNVsbfTCwSq4hvG6i4_IjWt&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__  epyt-is-override  no-lazyload" title="YouTube player"  allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Day-2 Assigment-2</title>
		<link>https://www.bestdevops.com/day-2-assigment-2/</link>
		
		<dc:creator><![CDATA[rameshsaya]]></dc:creator>
		<pubDate>Tue, 14 Sep 2021 10:49:34 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=21304</guid>

					<description><![CDATA[5 Differences between CMD and ENTRYPOINT with example CMD Entrypoint the executable command will be replaced by the command 1. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">5 Differences between CMD and ENTRYPOINT with example</h2>



<p class="wp-block-paragraph">CMD                                                                                                                        Entrypoint</p>



<ol class="wp-block-list"><li>the executable command will be replaced by the command    1. The executable command can&#8217;t be changed<br>given while running the container</li><li>We can&#8217;t pass the arguments for the CMD command              2. The commands passed while running the container will be                                                                     appended to the RUN command</li><li>Multiple times can be added in the dockerfile                             3. same as CMD<br>but the last line will override the previous</li><li>Choose CMD if you need to provide a default command         4. Prefer ENTRYPOINT to CMD when building executable Docker image<br>and/or arguments that can be overwritten from command line and you need a command always to be execute<br>when docker container runs</li><li>Treated as additional param when it is used                                    5. Always the main command<br>along with ENTRYPOINT</li></ol>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Day-2 Assigment-1</title>
		<link>https://www.bestdevops.com/day-2-assigment-1/</link>
		
		<dc:creator><![CDATA[rameshsaya]]></dc:creator>
		<pubDate>Tue, 14 Sep 2021 10:18:27 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=21288</guid>

					<description><![CDATA[What about if you 2 CMD? It will remove the intermediate container and take the latest changes. FROM ubuntu MAINTAINER [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">What about if you 2 CMD?</h2>



<p class="wp-block-paragraph">It will remove the intermediate container and take the latest changes.</p>



<pre class="wp-block-verse">FROM ubuntu
MAINTAINER Rajesh Kumar &lt;&lt; rajesh@scmgalaxy.com&gt;&gt;
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get -y install tzdata
RUN apt-get install git -y &amp;&amp; apt-get install -yq apache2
CMD echo "Hello world"
CMD echo "Hi"

result:
Hi
Last CMD will be executed.
</pre>



<h2 class="wp-block-heading">What about if you 2 ENRTYPOINT?</h2>



<p class="wp-block-paragraph"> It will remove the intermediate container and take the latest changes. </p>



<pre class="wp-block-verse">FROM ubuntu 
MAINTAINER Rajesh Kumar &lt;&lt; rajesh@scmgalaxy.com&gt;&gt; 
ENV DEBIAN_FRONTEND=noninteractive 
RUN apt-get update RUN apt-get -y install tzdata 
RUN apt-get install git -y &amp;&amp; apt-get install -yq apache2 
ENTRYPOINT ["/bin/echo", "Hello"]
ENTRYPOINT ["/bin/echo", "Hi"]

result:
Hi
Last Entry point will be executed.</pre>



<h2 class="wp-block-heading">What about if you 1 ENRTYPOINT 1 CMD?</h2>



<p class="wp-block-paragraph">Entry point executed first then CMD executed.</p>



<pre class="wp-block-verse">
FROM ubuntu 
MAINTAINER Rajesh Kumar &lt;&lt; rajesh@scmgalaxy.com&gt;&gt; 
ENV DEBIAN_FRONTEND=noninteractive 
RUN apt-get update RUN apt-get -y install tzdata 
RUN apt-get install git -y &amp;&amp; apt-get install -yq apache2 
ENTRYPOINT ["/bin/echo", "Hi"]
CMD echo "Hello world"

Output:
Hi /bin/sh -c echo "Hello world"</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Assigment-3</title>
		<link>https://www.bestdevops.com/assigment-3/</link>
		
		<dc:creator><![CDATA[rameshsaya]]></dc:creator>
		<pubDate>Tue, 14 Sep 2021 05:41:05 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=21260</guid>

					<description><![CDATA[What is docker update and docker wait? Explain with example commands. Docker Update:Update the container configuration like cpu, memory, restart [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">What is docker update and docker wait? Explain with example commands.</h2>



<p class="wp-block-paragraph">Docker Update:<br>Update the container configuration like cpu, memory, restart policy, etc.</p>



<pre class="wp-block-verse">docker update --kernel-memory 512M ramesh<br>docker update --restart=on-failure:3 ramesh<br>docker update --cpus 2 ramesh<br>docker update --restart=no ramesh</pre>



<p class="wp-block-paragraph">Docker Wait:</p>



<p class="wp-block-paragraph">Block until one or more containers stop, then print their exit codes.</p>



<pre class="wp-block-verse">docker wait ramesh<br>127<br>docker ps -a |grep ramesh<br>7181391c7b98 ubuntu "bash" 50 minutes ago Exited (127) 30 seconds ago<br>docker wait ramesh<br>0<br>docker stop ramesh<br>docker wait ramesh<br>137<br>docker kill ramesh</pre>



<p class="wp-block-paragraph">prints the exit codes accordingly.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Assignment-2</title>
		<link>https://www.bestdevops.com/assignment-2-2/</link>
		
		<dc:creator><![CDATA[rameshsaya]]></dc:creator>
		<pubDate>Mon, 13 Sep 2021 09:54:23 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=21213</guid>

					<description><![CDATA[What is diff between docker pause/unpause and stop/kill? Docker Pause will suspend all the process inside a container by sending [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">What is diff between docker pause/unpause and stop/kill?</h2>



<p class="wp-block-paragraph">Docker Pause will suspend all the process inside a container by sending SIGSTOP command, where as in Docker stop the main process will receive SIGTERM and after a grace period it receives SIGKILL. </p>



<p class="wp-block-paragraph">SIGSTOP is the pause signal. The only behavior is to pause the process; the signal cannot be caught or ignored. The shell uses pausing (and its counterpart, resuming via SIGCONT) to implement job control.</p>



<p class="wp-block-paragraph">SIGTERM is the termination signal. The default behavior is to terminate the process, but it also can be caught or ignored. The intention is to kill the process, gracefully or not, but to first allow it a chance to cleanup.</p>



<p class="wp-block-paragraph">SIGKILL is the kill signal. The only behavior is to kill the process, immediately. As the process cannot catch the signal, it cannot cleanup, and thus this is a signal of last resort.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Assignment-1</title>
		<link>https://www.bestdevops.com/assignment-1-3/</link>
		
		<dc:creator><![CDATA[rameshsaya]]></dc:creator>
		<pubDate>Mon, 13 Sep 2021 07:29:57 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=21108</guid>

					<description><![CDATA[What is Docker? Docker provides a platform for running applications in a containerized approach, where in each container have a [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">What is Docker?</h2>



<p class="wp-block-paragraph">Docker provides a platform for running applications in a containerized approach, where in each container have a file system, pid map and own network. </p>



<p class="wp-block-paragraph">Docker directly interacts with kernel to create mount, pid map, network and a user for each application.</p>



<p class="wp-block-paragraph">Below are the docker components.</p>



<ul class="wp-block-list"><li>Docker Engine</li></ul>



<p class="wp-block-paragraph">Docker Engine is responsible for sending commands to kernel to create infrastructure for running an application</p>



<ul class="wp-block-list"><li>Docker Image</li></ul>



<p class="wp-block-paragraph">Docker Image contains executable code and instructions like a template. This exists in registry which needs to be pulled and run.</p>



<h2 class="wp-block-heading">What is Container?</h2>



<p class="wp-block-paragraph">Docker container provides runtime environment to run our application independently.</p>



<p class="wp-block-paragraph">Each docker container has a separate file system, pid map, network and a user.</p>



<p class="wp-block-paragraph">When an image pulled from registry and is run then that program will be run in a container</p>



<h2 class="wp-block-heading">Benefit of Docker?</h2>



<p class="wp-block-paragraph">It is open source and no license is required.</p>



<p class="wp-block-paragraph">provides isolated environment to run applications, so same kind of applications can be run independently without any conflict.</p>



<p class="wp-block-paragraph">Saves Cost by running application in data centers, so the procurement of resource is limited.</p>



<p class="wp-block-paragraph">Takes less time to setup and runs the application with minimal downtime.</p>



<p class="wp-block-paragraph"> Developers and QA can focus on their development and testing tasks instead of wasting their time for setup and running the applications in VM</p>



<h2 class="wp-block-heading">Docker Architecture?</h2>



<p class="wp-block-paragraph">User &#8211;&gt; Docker client &#8211;&gt;RESTFUL&#8211;&gt; Docker Server(Deamon) &#8211;&gt; ContainerD &#8211;&gt; Kernal</p>



<p class="wp-block-paragraph">This whole setup is inside Docker Engine.</p>



<h2 class="wp-block-heading">Container lifecycle?</h2>



<p class="wp-block-paragraph">create -&gt; start -&gt; stop -&gt; start -&gt; restart -&gt; pause -&gt; unpause -&gt; kill -&gt; remove</p>



<h2 class="wp-block-heading">How Docker Works?</h2>



<p class="wp-block-paragraph">When a user runs any docker command then it will be first sent to Docker client.</p>



<p class="wp-block-paragraph">Docker client checks and verify the command and send it to the Docker Daemon through REST.</p>



<p class="wp-block-paragraph">Docker server receives the command and checks whether the image exists locally</p>



<p class="wp-block-paragraph">if exists then the Docker daemon sends request to kernel to create separate file system, pid map, network and user then runs the image in a containerized manner</p>



<p class="wp-block-paragraph">If not exists then the docker image is pulled from docker registry and performs the above step. </p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
