<?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>DEV Community: Shivlal Sharma</title>
    <description>The latest articles on DEV Community by Shivlal Sharma (@sshiv5768).</description>
    <link>https://dev.to/sshiv5768</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F524137%2Fdc2dc2d0-6a64-4163-8e8b-3ca693ac00b8.png</url>
      <title>DEV Community: Shivlal Sharma</title>
      <link>https://dev.to/sshiv5768</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sshiv5768"/>
    <language>en</language>
    <item>
      <title>Simplify Kubernetes on AWS: Unleashing the Power of EKS Auto Mode</title>
      <dc:creator>Shivlal Sharma</dc:creator>
      <pubDate>Sun, 19 Jan 2025 12:51:49 +0000</pubDate>
      <link>https://dev.to/sshiv5768/introduction-to-eks-auto-mode-2nb1</link>
      <guid>https://dev.to/sshiv5768/introduction-to-eks-auto-mode-2nb1</guid>
      <description>&lt;p&gt;Recently, aws announced a cool feature known as &lt;strong&gt;EKS Auto Mode&lt;/strong&gt; What is that, and how does it help to simplify EKS cluster management? Let's have a look. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxq13jbvydxspud8uqhbi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxq13jbvydxspud8uqhbi.png" alt="Image description" width="800" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Before Auto Mode
&lt;/h2&gt;

&lt;p&gt;When you are using Kubernetes with AWS, you don't have to worry about the control plane because AWS takes that management task from you and handles the control plane management.But what about the data plane?&lt;/p&gt;

&lt;p&gt;Earlier users had to handle data plane activities like allocating node groups, configuring CNI plugins, volume management, etc. Users can integrate OSS tools like OPA, CrossPlane, and Istio into the EKS cluster.&lt;/p&gt;

&lt;p&gt;Due to this, users get very little time to focus on the application plane, and their maximum time is divided into data plane activities.&lt;/p&gt;

&lt;h1&gt;
  
  
  After Auto Mode
&lt;/h1&gt;

&lt;p&gt;Now, after EKS Auto Mode, users don't have to worry about the above time-consuming tasks. Auto Mode handles tasks like: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Application load balancing&lt;/li&gt;
&lt;li&gt;Block Storage&lt;/li&gt;
&lt;li&gt;Compute Autoscaling&lt;/li&gt;
&lt;li&gt;Cluster DNS&lt;/li&gt;
&lt;li&gt;Pod and service networking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also follows the best practices to provision production-grade features-enabled EKS cluster with just a few clicks and required details. &lt;/p&gt;

&lt;p&gt;To know more about it, follow the &lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/automode.html" rel="noopener noreferrer"&gt;link&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use it on AWS
&lt;/h2&gt;

&lt;p&gt;Go to EKS on the AWS console.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdrac2iec15ydwm8e8afp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdrac2iec15ydwm8e8afp.png" alt="Image description" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the "Create cluster" button. You can see a new option named "&lt;strong&gt;Quick Configuration (with EKS Auto Mode).&lt;/strong&gt;" in the next window, which is by default selected. You can choose "&lt;strong&gt;Custom Configuration&lt;/strong&gt;" also if you want to go with the older way. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbmueicd9d8125r47u462.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbmueicd9d8125r47u462.png" alt="Image description" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With Auto Mode, you just need to add basic required details like Name, Kubernetes version, Cluster IAM role, Node IAM role, VPC, and Subnets.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbgxa1ctj23w33uwppiou.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbgxa1ctj23w33uwppiou.png" alt="Image description" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You might be thinking about nodes in the beginning because there is no node in the cluster. Nodes will be provisioned automatically from built-in node pools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;general-purpose (for general application resources)&lt;/li&gt;
&lt;li&gt;system (only for critical add-on resources)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fywyh174kdnmc7k65vg9n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fywyh174kdnmc7k65vg9n.png" alt="Image description" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can inspect and edit nodepools from local Kubectl operations. This node pool manages node autoscalling using the in-built Karpenter Controller.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;root@Shivlal-Sharma~% kubectl get nodepool
NAME              NODECLASS   NODES   READY   AGE
general-purpose   default     1       True    4h29m
system            default     1       True    4h29m

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now let's try to run a simple nginx pod on this cluster.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;root@Shivlal-Sharma ~ % kubectl run nginx-web-pod --image=nginx:alpine 
pod/nginx-web-pod created
root@Shivlal-Sharma ~ % kubectl get pods
NAME                        READY   STATUS    RESTARTS   AGE
frontend-66c8c49db6-cpnbg   1/1     Running   0          174m
frontend-66c8c49db6-fvg2s   1/1     Running   0          137m
frontend-66c8c49db6-mnjz7   1/1     Running   0          174m
frontend-66c8c49db6-sv89z   1/1     Running   0          174m
frontend-66c8c49db6-w4svz   1/1     Running   0          137m
nginx-pod                   1/1     Running   0          3h10m
nginx-web-pod               1/1     Running   0          8s

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can find your created Kuberenetes resources in the resource section in the cluster.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fejjb3d1jhgfo0c70417h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fejjb3d1jhgfo0c70417h.png" alt="Image description" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;EKS Auto Mode simplifies Kubernetes management on AWS by automating critical data plane tasks like load balancing, compute autoscaling, storage, and networking. It enables users to quickly provision production-ready clusters with best practices, freeing them to focus on application development. With built-in node pools and Karpenter for autoscaling, EKS Auto Mode eliminates the need for manual configurations, making Kubernetes more accessible and efficient.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>eks</category>
      <category>kubernetes</category>
      <category>devops</category>
    </item>
    <item>
      <title>My Journey to become a CNCF Ambassador!</title>
      <dc:creator>Shivlal Sharma</dc:creator>
      <pubDate>Sun, 29 Sep 2024 10:09:47 +0000</pubDate>
      <link>https://dev.to/sshiv5768/my-journey-to-become-a-cncf-ambassador-4ona</link>
      <guid>https://dev.to/sshiv5768/my-journey-to-become-a-cncf-ambassador-4ona</guid>
      <description>&lt;p&gt;I am going to share my experience to become a CNCF Ambassador and how I got selected for this program.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3llc2ur9r0hr3hobi78o.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3llc2ur9r0hr3hobi78o.jpg" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But first, let's understand what the CNCF ambassador program is. A CNCF ambassador is the person who is willing to contribute to the CNCF landscape in any form, like by collaborating with local communities, writing blog content, or creating video content related to any CNCF projects, programs, or events.&lt;/p&gt;

&lt;p&gt;Check out &lt;a href="https://www.cncf.io/people/ambassadors/application-process/" rel="noopener noreferrer"&gt;this&lt;/a&gt; to know more about the program requirements, role, and responsibilities. &lt;/p&gt;

&lt;h2&gt;
  
  
  How I Got Selected:
&lt;/h2&gt;

&lt;p&gt;My passion to contribute to open-source projects attracted me to this role. Before getting selected as CNA (Cloud Native Ambassador), I was an active member and co-organiser at CNCG Ahmedabad (Cloud Native Computing Groups). Where we regularly organise meet-ups on Kubenetes and other CNCF technologies.&lt;/p&gt;

&lt;p&gt;My contributions to building a local CNCF community and sharing my experience with Kubernetes on different blogging platforms were the plus points of my application for CNA.&lt;/p&gt;

&lt;h2&gt;
  
  
  Application Process:
&lt;/h2&gt;

&lt;p&gt;Generally, this program operates on a cohort (H1 and H2) basis yearly. You can find all important dates on the application &lt;a href="https://www.cncf.io/people/ambassadors/application-process/" rel="noopener noreferrer"&gt;page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There will be a few questions, like why you want to be CNA and what type of contributions you have such as that. Your selection will be based on the answers to these questions and your contribution to the community.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits:
&lt;/h2&gt;

&lt;p&gt;It is very impactful to connect with fellow ambassadors and gain their insights on various CNCF events and projects. You will get free access to all Linux Foundation Certifications and Trainings that will help you upgrade your skills and career. Also, you will get $150USD monthly reimbursement for all the meetups or events you host as a CNCF Ambassador. Also you will get Ambassador-specific swags and a large CNCF project sticker decal pack for yourself and for the community.&lt;/p&gt;

&lt;p&gt;If you are not a professional speaker and want to start, there are also guidelines created by CNCF people that will help you learn how to be a good speaker and share your knowledge and experience with the community.&lt;/p&gt;

&lt;h2&gt;
  
  
  Impacts
&lt;/h2&gt;

&lt;p&gt;With the help of ambassador benefits, i recently cleared KCNA and CKA exams from the Linux Foundation. Also,I am right now learning more about multiple CNCF projects and implementing them to my personal projects; if I face any issues, I will raise the questions to the respective CNCF slack channels.&lt;/p&gt;

&lt;p&gt;Also recently, we hosted KUBERTENES Birthday Bash Meetup, where we celebrated 10 years of Kubernetes with the Ahmedabad community.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2cr03na3bypzwzi951xe.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2cr03na3bypzwzi951xe.jpeg" alt="Kubertenes Birthday Bash" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5fl31qs34al90f10flx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5fl31qs34al90f10flx.jpg" alt="Kubertenes Birthday Bash" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwpu2zxi70slm65vr1s22.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwpu2zxi70slm65vr1s22.jpg" alt="Kubertenes Birthday Bash" width="800" height="1066"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqtdoxjgiic0gbhe5ddh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqtdoxjgiic0gbhe5ddh.jpg" alt="Kubertenes Birthday Bash" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We had two sessions focused on FinOps and auto-instrumentation with Kubernetes in that meetup. Although our swags were late and we couldn't use them, we somehow managed swags from our previous meetups for the audiences. &lt;/p&gt;

&lt;p&gt;Now that &lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-india/" rel="noopener noreferrer"&gt;KubeCon CloudNativeCon India 2024&lt;/a&gt; is happening in December, I am excited to meet fellow ambassadors in person. &lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;The CNCF Ambassador program is quite different from other community ambassador programs as it gives lot's of learning and networking opportunities with the diverse CNCF community. Also,it gives you motivation to grow your local CNCF community with ambassador benefits. &lt;/p&gt;

</description>
      <category>cloudnative</category>
      <category>community</category>
    </item>
    <item>
      <title>Cracking the Code: Exploring Key Components in Kubernetes YAML</title>
      <dc:creator>Shivlal Sharma</dc:creator>
      <pubDate>Sat, 09 Mar 2024 20:02:28 +0000</pubDate>
      <link>https://dev.to/sshiv5768/cracking-the-code-exploring-key-components-in-kubernetes-yaml-o48</link>
      <guid>https://dev.to/sshiv5768/cracking-the-code-exploring-key-components-in-kubernetes-yaml-o48</guid>
      <description>&lt;p&gt;In the realm of Kubernetes, YAML files serve as blueprints for deploying and managing various resources. Among these resources, the pod stands out as a fundamental building block. In this guide, we'll delve into the key components of a pod definition YAML file, shedding light on each element's significance and role in the Kubernetes ecosystem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgb2jou8zl5qnf7ws59nk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgb2jou8zl5qnf7ws59nk.jpg" alt="Image description" width="522" height="478"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A typical Kubernetes YAML file looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's explore a few of the components of the Kubernetes YAML file.&lt;/p&gt;

&lt;p&gt;1: &lt;strong&gt;apiVersion&lt;/strong&gt;: &lt;br&gt;
The apiVersion field in a Kubernetes Pod definition YAML file specifies the version of the Kubernetes API being used. Typically, it's set to "v1" for most use cases. However, depending on the resource being created (such as a deployment or service), the value may vary. For instance, when creating a deployment, the apiVersion might be "apps/v1".&lt;/p&gt;

&lt;p&gt;2: &lt;strong&gt;kind&lt;/strong&gt; :&lt;br&gt;
The kind field defines the type of Kubernetes object or resource being created. In the context of pods, the value would be "Pod". However, Kubernetes supports various resources, so the kind can vary accordingly. For example, for a Deployment, the kind would be "Deployment".&lt;/p&gt;

&lt;p&gt;3: &lt;strong&gt;metadata&lt;/strong&gt; :&lt;br&gt;
It basically contains metadata about the Kubernetes resource, such as name, labels, and annotations.&lt;/p&gt;

&lt;p&gt;4: &lt;strong&gt;spec&lt;/strong&gt; :&lt;br&gt;
The spec (specifications) section provides additional details about the resource being defined. For pods, the spec includes essential parameters like container names, container images, ports, and more. Each Kubernetes resource has its own specific set of specifications outlined in its documentation, ensuring flexibility and customisation.&lt;/p&gt;

&lt;p&gt;These are the fundamental components you'll find in most Kubernetes YAML files. Depending on the resource type, additional fields or sections may be required or optional, like selectors, volumes, initContainers, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;:&lt;br&gt;
Understanding the structure of a Pod Definition YAML file is fundamental for managing Kubernetes resources effectively. Keep experimenting and exploring Kubernetes documentation to deepen your understanding and proficiency with Kubernetes manifests.&lt;/p&gt;

&lt;p&gt;Stay tuned for more insightful content on Kubernetes and other exciting topics! 🚀&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>cncf</category>
      <category>cloudnative</category>
      <category>devops</category>
    </item>
    <item>
      <title>Demystifying Namespace Resources in Kubernetes: A Short Guide</title>
      <dc:creator>Shivlal Sharma</dc:creator>
      <pubDate>Sat, 02 Mar 2024 20:35:19 +0000</pubDate>
      <link>https://dev.to/sshiv5768/demystifying-namespace-resources-in-kubernetes-a-short-guide-523h</link>
      <guid>https://dev.to/sshiv5768/demystifying-namespace-resources-in-kubernetes-a-short-guide-523h</guid>
      <description>&lt;p&gt;Kubernetes has a vast number of resources, like deployments, replicasets, services, etc. Namespaces are also one of them and are most useful when you want to isolate your workloads based on environments, teams, projects, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwc8y1lcpjeuqvf53212x.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwc8y1lcpjeuqvf53212x.jpeg" alt="Image description" width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In simple language, namespaces are a kind of isolated environment in which you group resources like pods, replica sets, deployments, services, configmaps, etc. &lt;/p&gt;

&lt;p&gt;When you create a Kubernetes resource without specifying a namespace, it will be created in the default namespace. &lt;/p&gt;

&lt;p&gt;You can change it by applying the &lt;code&gt;--namespace=development&lt;/code&gt; flag to every resource creation. &lt;/p&gt;

&lt;p&gt;Also, if you don't want to use the above flag on every resource creation, you can switch from the default namespace to any random namespace by setting your current context to that random namespace using the &lt;code&gt;kubectl config set-context --current --namespace=random&lt;/code&gt; command and creating your resources there. &lt;/p&gt;

&lt;h2&gt;
  
  
  Let's see some action on namespaces:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExOTFnaHVzemhnY3licHM1a3Zla3Jjc3k2ODJ3dGNkbTBoaXpiNXM1NyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/PXCqTNXuGlNpHABHH4/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExOTFnaHVzemhnY3licHM1a3Zla3Jjc3k2ODJ3dGNkbTBoaXpiNXM1NyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/PXCqTNXuGlNpHABHH4/giphy.gif" alt="Your Alt Text" width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check how many namespaces are on the cluster:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ kubectl get namespaces
&amp;gt;&amp;gt;
NAME              STATUS   AGE
kube-system       Active   48m
kube-public       Active   48m
kube-node-lease   Active   48m
default           Active   48m
finance           Active   34m
marketing         Active   34m
dev               Active   34m
prod              Active   34m
manufacturing     Active   34m
research          Active   34m
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also use shorthand &lt;code&gt;ns&lt;/code&gt; instead of the full resource name.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check the pods running in a specific namespace.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ kubectl get pods --namespace=research
&amp;gt;&amp;gt;
NAME    READY   STATUS             RESTARTS         AGE
dna-2   0/1     CrashLoopBackOff   12 (4m28s ago)   41m
dna-1   0/1     CrashLoopBackOff   12 (4m9s ago)    41m
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Run a specific pod in a specific namespace.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ kubectl run redis --image=redis --namespace=finance
&amp;gt;&amp;gt;
pod/redis created
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want to create a pod using the YAML definition file, you can define the namespace name in the metadata section.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Pod
metadata:
  name: my-pod
  namespace: my-namespace
spec:
  containers:
  - name: nginx
    image: nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;does one pod running in namespace A access the other pod running in namespace B?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;pods can communicate with other pods residing in different namespaces using their &lt;strong&gt;Fully Qualified Domain Names&lt;/strong&gt; (FQDNs), like pod-a can talk with pod-b using it's FQDN, &lt;code&gt;pod-b.namespace.svc.cluster.local&lt;/code&gt;. The same works for pod-b as well.&lt;/p&gt;

&lt;h1&gt;
  
  
  Summary
&lt;/h1&gt;

&lt;p&gt;Kubernetes namespaces provide a powerful tool for organising and isolating workloads within a cluster.We will see more about namespaces in advance in upcoming blogs.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>cloudnative</category>
      <category>techcommunity</category>
    </item>
    <item>
      <title>How to setup AWS Control Tower in your organisation.</title>
      <dc:creator>Shivlal Sharma</dc:creator>
      <pubDate>Sun, 09 Jul 2023 13:36:15 +0000</pubDate>
      <link>https://dev.to/sshiv5768/how-to-setup-aws-control-tower-in-your-organisation-370l</link>
      <guid>https://dev.to/sshiv5768/how-to-setup-aws-control-tower-in-your-organisation-370l</guid>
      <description>&lt;p&gt;Large organisations always have problem to manage to multiple AWS accounts and their configurations. Sometimes it become very tedious task for developers also to manage right resources on the right place.&lt;/p&gt;

&lt;p&gt;Hmm, okay let me tell you one thing! What if i have a central place from where you can track all your multi-account configurations, manage them and control access of your all employees.&lt;/p&gt;

&lt;p&gt;You heard it right! AWS does provide that central place and it's name it &lt;strong&gt;AWS control tower&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fezgyq5z0rhe3i13u8opp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fezgyq5z0rhe3i13u8opp.png" alt="AWS Control Tower"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AWS Control Tower is a service offered by Amazon Web Services (AWS) that aids businesses in setting up and managing a safe, well-designed multi-account AWS environment.&lt;/p&gt;

&lt;p&gt;It offers a consolidated &lt;strong&gt;dashboard and automation tools&lt;/strong&gt; to simplify the management of your AWS accounts, making it simpler to maintain a safe and effective AWS environment.&lt;/p&gt;

&lt;p&gt;Okay, so that was all about what is AWS control tower, now let's see how to setup it in your current AWS account.&lt;/p&gt;

&lt;h2&gt;
  
  
  Steps to Setup Control Tower.
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1: Create a landing zone
&lt;/h3&gt;

&lt;p&gt;Landing zone is that central place where all your AWS accounts will land in the form of OUs.&lt;/p&gt;

&lt;p&gt;In simple language, a landing zone in AWS Control Tower is like a starting point or foundation for setting up and managing your AWS environment. It is a pre-configured and secure AWS environment that includes multiple AWS accounts organised in a structured manner.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9luhtlxyeki9f6kdy2bt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9luhtlxyeki9f6kdy2bt.png" alt="AWS Control Tower"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsx1mh0qj9l8eh7gzfywf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsx1mh0qj9l8eh7gzfywf.png" alt="AWS Control Tower"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Pricing of AWS Control Tower
&lt;/h3&gt;

&lt;p&gt;There is not extra cost for using AWS control tower, you only pay for the services which are enabled by control tower.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F79539tk2gd47j2v8kru8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F79539tk2gd47j2v8kru8.png" alt="AWS Control Tower"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the regions which you want to add it under the governance of your landing zone. I am choosing &lt;code&gt;us-east-1&lt;/code&gt; as my home region. Click &lt;strong&gt;Next&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Create a foundational ou
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1oc6svddchgfdh0k6xbe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1oc6svddchgfdh0k6xbe.png" alt="AWS Control Tower"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AWS control tower will create a &lt;strong&gt;security&lt;/strong&gt; OU(organisation unit) in which it will create two shared AWS accounts: log-archive and audit.&lt;/p&gt;

&lt;p&gt;By creating a foundational OU, AWS Control Tower helps establish a structured hierarchy for your AWS accounts, enabling better governance and management. You can also add additional OUs in this landing zone.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Setting up shared accounts
&lt;/h3&gt;

&lt;p&gt;After creating a foundational ou, now you have to setup that two shared accounts like adding account email and names for those accounts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frl8v14axmd9q83xhr88j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frl8v14axmd9q83xhr88j.png" alt="AWS Control Tower"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4587vbvg4puiar0q5bem.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4587vbvg4puiar0q5bem.png" alt="AWS Control Tower"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is not mandatory that you only create new accounts, you can also include the existing accounts as log-archive and audit account.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Additional configurations.
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhaauo96yf2ijt4xxf56q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhaauo96yf2ijt4xxf56q.png" alt="AWS Control Tower"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we are in the final stage where you can add additional configurations where you can setup IAM identity center to manage access of your team. &lt;/p&gt;

&lt;p&gt;You can enable or disable &lt;strong&gt;cloudtrail&lt;/strong&gt; to monitor all account activities in the form of logs at a central s3 bucket.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Review and setup landing zone.
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsobfsfxp8eycazmwft68.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsobfsfxp8eycazmwft68.png" alt="AWS Control Tower"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Review all your changes and click setup landing zone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff8jcbp6g2evbjye06zkr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff8jcbp6g2evbjye06zkr.png" alt="AWS Control Tower"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ok, now the most important step comes. Grab a cup of coffee and wait until the process is completed.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/26tn94If2ADMC7ks0/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/26tn94If2ADMC7ks0/giphy.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And once it is done you can see 1 ou and 2 AWS accounts listed on the landing zone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdllnm6dnjmlrq25v98p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdllnm6dnjmlrq25v98p.png" alt="AWS Control Tower"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary:
&lt;/h2&gt;

&lt;p&gt;In this blog we saw how we can setup a landing zone to get started with AWS control tower. You can create &lt;strong&gt;different OUs&lt;/strong&gt; and add domain specific AWS accounts in those OUs. It will help you to organise your accounts for faster account access and better management.&lt;/p&gt;

&lt;p&gt;Other things you can do with control tower:&lt;br&gt;
1: Create a new AWS account.&lt;br&gt;
2: Add existing AWS account(accounts outside of landing zone)to the landing zone.&lt;br&gt;
3: Remove any added AWS account from landing zone.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>awscommunitybuilder</category>
      <category>devops</category>
      <category>awscontroltower</category>
    </item>
    <item>
      <title>A Beginner's Guide to Understanding Scalability in Cloud Computing</title>
      <dc:creator>Shivlal Sharma</dc:creator>
      <pubDate>Sun, 12 Mar 2023 08:16:44 +0000</pubDate>
      <link>https://dev.to/sshiv5768/a-beginners-guide-to-understanding-scalability-in-cloud-computing-8k2</link>
      <guid>https://dev.to/sshiv5768/a-beginners-guide-to-understanding-scalability-in-cloud-computing-8k2</guid>
      <description>&lt;h2&gt;
  
  
  🎯 What is Scalability?
&lt;/h2&gt;

&lt;p&gt;Let's make it simple for you. Suppose you're running your own e-commerce web app like Amazon or Flipkart. For handling customer data you use rented servers or your own purchased servers. You observed high sales growth and new customers during festival season.&lt;/p&gt;

&lt;p&gt;Now, what you would do to handle new customers ? &lt;/p&gt;

&lt;p&gt;Either you will increase the server capacity or you will add more servers to your list.&lt;br&gt;
This ability of your infrastructure to increase or decrease IT resources as per usage and need is called Scalability.&lt;/p&gt;

&lt;h2&gt;
  
  
  💥 Types of Scaling
&lt;/h2&gt;

&lt;p&gt;There are two basic types of scaling: Vertical scaling and Horizontal scaling. Let's take a look of each one by one.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vertical Scaling
&lt;/h3&gt;

&lt;p&gt;Let's say you have a resource it can be anything a database, a VM or a container. How would you scale it?&lt;br&gt;
You can scale it by increase it's size, wait what do you mean by size? Here size refers it's core features like CPU, memory and storage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o-9BrV5J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dacexc0h2mu4412830vw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o-9BrV5J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dacexc0h2mu4412830vw.png" alt="Image description" width="880" height="725"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This method of scaling where increasing or decreasing the size of the resources happens is known as Vertical Scaling. Increasing the size is called scaling up and decreasing the size is called scaling down. &lt;/p&gt;

&lt;p&gt;It is easy to scale vertically but sometimes you have to face major downtime which will affect your system performance 🥵&lt;/p&gt;

&lt;h3&gt;
  
  
  Horizontal Scaling
&lt;/h3&gt;

&lt;p&gt;In this method we increase or decrease the amount of resources in our system to spread the workload equally. Which will result us better performance and higher availability.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0t3KIPzC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rg74pv2v9vthrqrsxi14.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0t3KIPzC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rg74pv2v9vthrqrsxi14.png" alt="Image description" width="880" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The risk of downtime with horizontal scaling is lower than vertically scaling. So that most of people suggest to use this type of scaling.&lt;/p&gt;

&lt;h2&gt;
  
  
  👋End credits
&lt;/h2&gt;

&lt;p&gt;Now, most of the cloud service providers have a feature of Auto-scaling, which allows you to automatically scale up or scale down your cloud services like EC2, AWS S3, etc. Check-out &lt;a href="https://avinetworks.com/glossary/auto-scaling/"&gt;this&lt;/a&gt; for more about Auto-scaling.&lt;/p&gt;

&lt;p&gt;So that's all about scaling and its types. I will be back again with new topic in cloud and DevOps. Do subscribe my blog 🤠&lt;/p&gt;

</description>
      <category>devops</category>
      <category>community</category>
      <category>cloud</category>
      <category>devrel</category>
    </item>
    <item>
      <title>Creating Docker Image with Dockerfile</title>
      <dc:creator>Shivlal Sharma</dc:creator>
      <pubDate>Sun, 16 Jan 2022 11:10:15 +0000</pubDate>
      <link>https://dev.to/sshiv5768/creating-docker-image-with-dockerfile-1n58</link>
      <guid>https://dev.to/sshiv5768/creating-docker-image-with-dockerfile-1n58</guid>
      <description>&lt;p&gt;There are many way where you can create a Docker Image and make a container of it, but using &lt;code&gt;Dockerfile&lt;/code&gt; is an easy way. Let's create an &lt;strong&gt;Apache Server&lt;/strong&gt; Image using this method.&lt;/p&gt;

&lt;p&gt;In this method we are going to follow below steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First choose a &lt;code&gt;__base_image__&lt;/code&gt;. In our case, base image is &lt;code&gt;Ubuntu&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Execute some commands while building the image. Actually it doesn't build whole new image it converts base image into &lt;strong&gt;Apache server&lt;/strong&gt; image.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Okay, create a new folder and give whatever name you want to give it. I am giving it &lt;code&gt;myapache&lt;/code&gt; and switching into it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ mkdir myapache
$ cd myapache
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a new file named as&lt;code&gt;Dockerfile&lt;/code&gt; (not mandatory to use the same name). Add below commands into it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FROM ubuntu
RUN "apt-get update"
RUN "apt-get install apache2 -y"

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's breakdown these instructions step by step. First line says that we are using &lt;strong&gt;Ubuntu&lt;/strong&gt; as &lt;code&gt;__base_image__&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Second and third line says to run the given commands. &lt;code&gt;apt-get update&lt;/code&gt; will install the latest version of packages currently installed on user's system. Next command will install &lt;strong&gt;Apache server&lt;/strong&gt; on the &lt;code&gt;__base_image__&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Here &lt;code&gt;-y&lt;/code&gt; suggests automatic yes for any prompts in between the installing process.&lt;/p&gt;

&lt;p&gt;Now using this &lt;code&gt;Dockerfile&lt;/code&gt; let's build a docker image.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ docker image build -t myapache .

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You don't need to remember above command it is already present, &lt;code&gt;docker image --help&lt;/code&gt; will help you. &lt;strong&gt;myapache&lt;/strong&gt; is the name of the image.&lt;/p&gt;

&lt;p&gt;One thing that i want to clarify that &lt;code&gt;.&lt;/code&gt; is for the path of &lt;code&gt;Dockerfile&lt;/code&gt;. I am currently in the same directory that's why i used put that.&lt;/p&gt;

&lt;p&gt;So above command will build the docker image using our &lt;code&gt;Dockerfile&lt;/code&gt;. It will run that instructions step by step.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ docker image ls

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Type above command and you will see that &lt;strong&gt;myapache&lt;/strong&gt; image is listed there. That confirms that our image is created successfully.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>devops</category>
      <category>container</category>
    </item>
  </channel>
</rss>
