<?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>karthik &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/author/karthik/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>Wed, 18 Aug 2021 11:36:41 +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</title>
		<link>https://www.bestdevops.com/kubernetes-2/</link>
		
		<dc:creator><![CDATA[karthik]]></dc:creator>
		<pubDate>Wed, 18 Aug 2021 11:36:40 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=19377</guid>

					<description><![CDATA[What is the architecture and components of Kubernetes? Kubernetes is deployment and management platforms. It offers container orchestration, a container [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">What is the architecture and components of Kubernetes?</h2>



<p class="wp-block-paragraph">Kubernetes is deployment and management platforms. It offers container orchestration, a container runtime, container-centric infrastructure orchestration, load balancing, self-healing mechanisms. It is used to compose, scale, deploy, and manage application containers across host clusters.</p>



<p class="wp-block-paragraph">An environment running Kubernetes consists of the following basic components: a control plane (master), a distributed key-value storage system for keeping the cluster state consistent (etcd), and cluster nodes </p>



<p class="wp-block-paragraph">Kubernetes architecture components or K8s components include the Kubernetes control plane and the nodes in the cluster. The control plane or master machine components include the Kubernetes API server, Kubernetes scheduler, Kubernetes controller manager, and etcd. Kubernetes node components include a container runtime engine or docker, a Kubelet service, and a Kubernetes proxy service.</p>



<ul class="wp-block-list"><li><strong>Kubernetes API Server</strong> &#8211; The front end of the Kubernetes control plane, the API Server supports updates, scaling, and other kinds of lifecycle orchestration by providing APIs for various types of applications</li><li><strong>Kubernetes Scheduler</strong> &#8211; stores the resource usage data for each compute node; determines whether a cluster is healthy; and determines whether new containers should be deployed.</li><li><strong>Kubernetes Controller Manager</strong> &#8211; The controller watches the objects it manages in the cluster as it runs the Kubernetes core control loops. It observes them for their desired state and current state via the API server</li><li><strong>ETCD</strong> &#8211; key-value store database that stores configuration data and information about the state of the cluster</li><li><strong>Container Runtime Engine</strong> &#8211; Each compute node runs and manages container life cycles using a container runtime engine(eg &#8211; docker)</li><li><strong>Kubelet service</strong> &#8211; Each compute node includes a kubelet, an agent that communicates with the master or control plane to ensure the containers in a pod are running. When the control plane requires a specific action happen in a node, the kubelet receives the pod specifications through the API server and executes the action. It then ensures the associated containers are healthy and running</li><li><strong>Kube-proxy service</strong> &#8211; Each compute node contains a network proxy called a kube-proxy that facilitates Kubernetes networking services</li></ul>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="480" src="https://www.bestdevops.com/wp-content/uploads/2021/08/kube-architecture-1024x480.jpg" alt="" class="wp-image-19387" srcset="https://www.bestdevops.com/wp-content/uploads/2021/08/kube-architecture-1024x480.jpg 1024w, https://www.bestdevops.com/wp-content/uploads/2021/08/kube-architecture-300x141.jpg 300w, https://www.bestdevops.com/wp-content/uploads/2021/08/kube-architecture-768x360.jpg 768w, https://www.bestdevops.com/wp-content/uploads/2021/08/kube-architecture.jpg 1493w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>                                                                                                      Kubernete architechture</figcaption></figure>



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



<ul class="wp-block-list"><li>POD is the smallest unit in K8s</li><li>POD cannot be created it can only be instantiated </li><li>POD contains one or more containers</li><li>POD represents the processes running in a cluster, through which health of the containers can be identified</li><li>It has unique IP address</li><li>It has persistent storage volumes</li><li>It has configuration information that determine how a container should run</li><li>When pods contain multiple containers, communications, and data sharing between them is simplified. Since all containers in a pod share the same network namespace, they can locate each other and communicate via localhost</li><li>Pods are created by workload resources called controllers, which manage rollout, replication, and health of pods in the cluster. For example, if a node in the cluster fails, a controller detects that the pods on that node are unresponsive and creates replacement pod on other nodes</li></ul>



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



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Complete referenece of dockerfile cmd and entrypoint</title>
		<link>https://www.bestdevops.com/complete-referenece-of-dockerfile-cmd-and-entrypoint/</link>
		
		<dc:creator><![CDATA[karthik]]></dc:creator>
		<pubDate>Wed, 18 Aug 2021 03:45:59 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=19355</guid>

					<description><![CDATA[What is the benefit of using CMD? CMD instruction can be used to set default command to execute when we [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">What is the benefit of using CMD?</h2>



<p class="wp-block-paragraph">CMD instruction can be used to set default command to execute when we run docker container. It allows the user  to execute some particular command while running docker container. </p>


<pre class="wp-block-code"><span><code class="hljs language-php">Docker file has CMD <span class="hljs-keyword">echo</span> <span class="hljs-string">"This is test"</span>
docker run -it <span class="hljs-number">7</span>de4bed89922 
This is test

docker run -it <span class="hljs-number">7</span>de4bed89922 /bin/bash
root@<span class="hljs-number">7</span>de4bed89922:/<span class="hljs-comment">#</span>

</code></span></pre>


<h2 class="wp-block-heading">What is the benefit of using ENTRYPOINT?</h2>



<p class="wp-block-paragraph">ENTRYPOINT instruction allows you to configure a container that will run as an executable. It has two forms &#8211; exec and shell</p>



<p class="wp-block-paragraph">Exec form allows to set commands and parameters and then use either form of CMD to set additional parameters that are more likely to be changed. Where as shell form ignores any CMD or docker run command line arguments</p>



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



<h2 class="wp-block-heading">Difference between CMD and ENTRYPOINT</h2>



<figure class="wp-block-table"><table><tbody><tr><td>CMD</td><td>ENTRYPOINT</td></tr><tr><td>CMD commands can be overwritten during docker run</td><td>ENTRYPOINT commands cannot be overwritten</td></tr><tr><td>Parameters passed are replaced </td><td>Parameters passed is appended</td></tr><tr><td></td><td></td></tr><tr><td></td><td></td></tr><tr><td></td><td></td></tr></tbody></table></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is docker image?</title>
		<link>https://www.bestdevops.com/what-is-docker-image/</link>
		
		<dc:creator><![CDATA[karthik]]></dc:creator>
		<pubDate>Tue, 17 Aug 2021 07:34:01 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=19326</guid>

					<description><![CDATA[Docker image is template used to build the docker containers Docker image contains application code, tools, dependencies and other files [&#8230;]]]></description>
										<content:encoded><![CDATA[
<ul class="wp-block-list"><li>Docker image is template used to build the docker containers</li><li>Docker image contains application code, tools, dependencies and other files needed to make an application run</li><li>Docker images are store in docker registry</li><li>Docker images have multiple layers(base image, parent image, Layers), each one originates from the previous layer but is different from it</li><li>The layered file systems are identified using UUID which are created using SHA256 algorithm.</li><li>When we create a container &#8211; all layers are merged into 1 layer and that get mounted to container.</li><li>Docker merged directory is created when docker container process is started and it is removed when the container is stopped.</li></ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Explain docker update &#038; docker wait commands with example</title>
		<link>https://www.bestdevops.com/explain-docker-update-docker-wait-commands-with-example/</link>
		
		<dc:creator><![CDATA[karthik]]></dc:creator>
		<pubDate>Tue, 17 Aug 2021 05:26:55 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=19285</guid>

					<description><![CDATA[Docker update Update command is used to update the CPU and memory configuration of the container. Available options can be [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Docker update</h2>



<p class="wp-block-paragraph">Update command is used to update the CPU and memory configuration of the container. Available options can be checked with docker update &#8211;help command </p>


<pre class="wp-block-code"><span><code class="hljs language-php">&#91;root@ip<span class="hljs-number">-172</span><span class="hljs-number">-31</span><span class="hljs-number">-7</span><span class="hljs-number">-71</span> centos]<span class="hljs-comment"># docker update --help</span>

Usage:  docker update &#91;OPTIONS] CONTAINER &#91;CONTAINER...]

Update configuration of one <span class="hljs-keyword">or</span> more containers

Options:
      --blkio-weight uint16        Block IO (relative weight), between <span class="hljs-number">10</span> <span class="hljs-keyword">and</span> <span class="hljs-number">1000</span>, <span class="hljs-keyword">or</span> <span class="hljs-number">0</span> to disable (<span class="hljs-keyword">default</span> <span class="hljs-number">0</span>)
      --cpu-period int             Limit CPU CFS (Completely Fair Scheduler) period
      --cpu-quota int              Limit CPU CFS (Completely Fair Scheduler) quota
      --cpu-rt-period int          Limit the CPU real-time period in microseconds
      --cpu-rt-runtime int         Limit the CPU real-time runtime in microseconds
  -c, --cpu-shares int             CPU shares (relative weight)
      --cpus decimal               Number of CPUs
      --cpuset-cpus string         CPUs in which to allow execution (<span class="hljs-number">0</span><span class="hljs-number">-3</span>, <span class="hljs-number">0</span>,<span class="hljs-number">1</span>)
      --cpuset-mems string         MEMs in which to allow execution (<span class="hljs-number">0</span><span class="hljs-number">-3</span>, <span class="hljs-number">0</span>,<span class="hljs-number">1</span>)
      --kernel-memory bytes        Kernel memory limit
  -m, --memory bytes               Memory limit
      --memory-reservation bytes   Memory soft limit
      --memory-swap bytes          Swap limit equal to memory plus swap: <span class="hljs-string">'-1'</span> to enable unlimited swap
      --pids-limit int             Tune container pids limit (set <span class="hljs-number">-1</span> <span class="hljs-keyword">for</span> unlimited)
      --restart string             Restart policy to apply when a container exits
&#91;root@ip<span class="hljs-number">-172</span><span class="hljs-number">-31</span><span class="hljs-number">-7</span><span class="hljs-number">-71</span> centos]<span class="hljs-comment">#</span>
</code></span></pre>

<pre class="wp-block-code"><span><code class="hljs">Example : docker update 436662ff3488 --restart always</code></span></pre>


<h2 class="wp-block-heading">docker wait</h2>



<p class="wp-block-paragraph">docker wait command waits for one or more container to exit and provides the return status of the docker exit</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-attr">&#91;root@ip-172-31-7-71 centos]</span># <span class="hljs-selector-tag">docker</span> <span class="hljs-selector-tag">wait</span> 95<span class="hljs-selector-tag">d0f2b4f8cf</span>
143
<span class="hljs-selector-attr">&#91;root@ip-172-31-7-71 centos]</span>#
</code></span></pre>


<p class="wp-block-paragraph">In the above example docker wait command gives the output when container  95d0f2b4f8cf   was stopped</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>advantage and disadvantage of the container</title>
		<link>https://www.bestdevops.com/advantage-and-disadvantage-of-the-container/</link>
		
		<dc:creator><![CDATA[karthik]]></dc:creator>
		<pubDate>Tue, 17 Aug 2021 03:31:54 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=19258</guid>

					<description><![CDATA[Advantages Return on Investment and Cost SavingsRapid DeploymentSecuritySimplicity and Faster ConfigurationsContinuous Integration Disadvantages Data in the containerThere are times when [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Advantages</h2>



<p class="wp-block-paragraph">Return on Investment and Cost Savings<br>Rapid Deployment<br>Security<br>Simplicity and Faster Configurations<br>Continuous Integration</p>



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



<h2 class="wp-block-heading">Disadvantages</h2>



<p class="wp-block-paragraph">Data in the container<br>There are times when a container goes down, so after that, it needs a backup and recovery strategy</p>



<p class="wp-block-paragraph">Provide cross-platform compatibility<br>The one major issue is if an application designed to run in a Docker container on Windows, then it can’t run on Linux or vice versa</p>



<p class="wp-block-paragraph">Run applications with graphical interfaces<br>In general, Docker is designed for hosting applications which run on the command line.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Assignment for Docker – Day 1</title>
		<link>https://www.bestdevops.com/assignment-for-docker-day-1-3/</link>
		
		<dc:creator><![CDATA[karthik]]></dc:creator>
		<pubDate>Mon, 16 Aug 2021 10:12:32 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=19166</guid>

					<description><![CDATA[What is the diff between docker pause and docker unpause? The docker pause command suspends all processes in the specified [&#8230;]]]></description>
										<content:encoded><![CDATA[
<ul class="wp-block-list"><li><strong>What is the diff between docker pause and docker unpause?</strong></li></ul>



<p class="wp-block-paragraph">       The docker pause command suspends all processes in the specified containers. When suspending a process the SIGSTOP signal is used, which is observable by the process being suspended.  With container pause we cannot execute any commands which will throw an error</p>



<p class="wp-block-paragraph">root@ip-172-31-7-71 centos]# docker exec b5358234e052 ls<br>Error response from daemon: Container b5358234e052 is paused, unpause the container before exec</p>



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



<p class="wp-block-paragraph">Docker unpause command is used to resume the suspended container to proceed with some execution</p>



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



<ul class="wp-block-list"><li><strong>What is the diff between docker stop and docker kill?</strong></li></ul>



<p class="wp-block-paragraph">      Docker stop command sends the sigterm message which is short for terminate signal its a message that&#8217;s going to be received by the process telling it essentially to shut down on its own time.</p>



<p class="wp-block-paragraph">      Docker kill command kills signal to the primary running process inside the container. It&#8217;s like forcefully shutting down even though some task is in progress</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
