<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-376119486257498269</id><updated>2026-10-15T02:25:12.151+05:30</updated><category term="How to Get a Free Domain Name"/><category term="email"/><category term="gmail"/><category term="install free ssl certificate&#xa;free ssl"/><title type='text'>Tech2Towards</title><subtitle type='html'>Learn Something And Get something.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>261</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-1853702297066043455</id><published>2026-09-02T15:51:11.143+05:30</published><updated>2026-09-02T15:51:11.143+05:30</updated><title type='text'>Self-Healing Applications in Kubernetes</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What is Self-Healing?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Self-Healing is a Kubernetes feature that automatically detects failed Pods or containers and restores the desired state by restarting or recreating them.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Why Do We Need Self-Healing?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Suppose you have 3 Pods running:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Pod-1&lt;/p&gt;&lt;p&gt;Pod-2&lt;/p&gt;&lt;p&gt;Pod-3&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If Pod-2 crashes:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Pod-1&lt;/p&gt;&lt;p&gt;Pod-2 (Failed)&lt;/p&gt;&lt;p&gt;Pod-3&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Kubernetes automatically creates a new Pod:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Pod-1&lt;/p&gt;&lt;p&gt;Pod-3&lt;/p&gt;&lt;p&gt;Pod-4 (New)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This will ensures the desired number of Pods is always maintained.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;How Self-Healing Works&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Deployment&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;&amp;nbsp;ReplicaSet&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;3 Pods&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;Pod Crashes&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;ReplicaSet Detects Failure&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;New Pod Created Automatically&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Practical Demo&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Check running Pods&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- kubectl get pods&lt;/p&gt;&lt;p&gt;Delete one Pod manually&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- kubectl delete pod &amp;lt;pod-name&amp;gt;&lt;/p&gt;&lt;p&gt;Check again&lt;span style=&quot;white-space: pre;&quot;&gt;			&lt;/span&gt;- kubectl get pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You will see Kubernetes automatically creating a new Pod.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Benefits&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;High Availability&lt;/p&gt;&lt;p&gt;Reduced Manual Intervention&lt;/p&gt;&lt;p&gt;Automatic Recovery&lt;/p&gt;&lt;p&gt;Better Reliability&lt;/p&gt;&lt;p&gt;Continuous Application Availability&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/1853702297066043455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/self-healing-applications-in-kubernetes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/1853702297066043455'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/1853702297066043455'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/self-healing-applications-in-kubernetes.html' title='Self-Healing Applications in Kubernetes'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-2503708410054961249</id><published>2026-09-02T15:50:30.784+05:30</published><updated>2026-09-02T15:50:30.784+05:30</updated><title type='text'>Init Containers</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What is an Init Container?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;An Init Container is a special container that performs startup tasks before the main application container starts. It is used for initialization tasks such as checking dependencies, preparing configurations, or waiting for services to become available. The application container starts only after the Init Container completes successfully.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Why Use Init Containers?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Init Containers are commonly used for:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Checking if a database is available&lt;/p&gt;&lt;p&gt;Waiting for another service to start&lt;/p&gt;&lt;p&gt;Downloading configuration files&lt;/p&gt;&lt;p&gt;Initializing data or directories&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;How It Works&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Step 1: Init Container Runs&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;↓&lt;/p&gt;&lt;p&gt;Step 2: Init Container Completes&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;↓&lt;/p&gt;&lt;p&gt;Step 3: Main Application Container Starts&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion: v1&lt;/p&gt;&lt;p&gt;kind: Pod&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: init-container-demo&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; initContainers:&lt;/p&gt;&lt;p&gt;&amp;nbsp; - name: init-myservice&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; image: busybox&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; command: [&#39;sh&#39;, &#39;-c&#39;, &#39;echo Initializing...; sleep 10&#39;]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; containers:&lt;/p&gt;&lt;p&gt;&amp;nbsp; - name: nginx&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; image: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Create the Pod&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- kubectl apply -f pod.yaml&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What Happens?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Init Container starts.&lt;/p&gt;&lt;p&gt;Waits for 10 seconds.&lt;/p&gt;&lt;p&gt;Exits successfully.&lt;/p&gt;&lt;p&gt;Nginx container starts.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Real-Life Example&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Suppose your application needs MySQL to be available before starting.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Init Container&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |--&amp;gt; Check MySQL Connection&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;Success?&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Yes&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;Application Starts&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Without Init Container?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Application Starts&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/p&gt;&lt;p&gt;MySQL Not Ready&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/p&gt;&lt;p&gt;Application Fails&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;With Init Container?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Wait for MySQL&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/p&gt;&lt;p&gt;MySQL Ready&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/p&gt;&lt;p&gt;Application Starts Successfully&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Verify Init Container&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Check Pod details&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- kubectl describe pod init-container-demo&lt;/p&gt;&lt;p&gt;View logs&lt;span style=&quot;white-space: pre;&quot;&gt;			&lt;/span&gt;- kubectl logs init-container-demo -c init-myservice&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/2503708410054961249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/init-containers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/2503708410054961249'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/2503708410054961249'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/init-containers.html' title='Init Containers'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-6174823347839038595</id><published>2026-09-02T15:49:45.776+05:30</published><updated>2026-09-02T15:49:45.777+05:30</updated><title type='text'>Multi-Container Pods</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;What is a Multi-Container Pod?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A Multi-Container Pod is a Pod that contains more than one container. These containers run together in the same Pod and share the same network and storage.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Why Use Multi-Container Pods?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Sometimes an application needs a helper container which is also Sidecar Container for tasks such as:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Log collection&lt;/p&gt;&lt;p&gt;Monitoring&lt;/p&gt;&lt;p&gt;Proxy service&lt;/p&gt;&lt;p&gt;Data synchronization&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Instead of running them separately, both containers can run inside the same Pod.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Pod&lt;/p&gt;&lt;p&gt;├── Nginx Application Container (Main Application)&lt;/p&gt;&lt;p&gt;└── BusyBox Logging Container (Log Collector)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Both containers:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Containers work closely together.&lt;/p&gt;&lt;p&gt;Share the same IP address&lt;/p&gt;&lt;p&gt;Can communicate using localhost&lt;/p&gt;&lt;p&gt;Can share volumes (storage)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Multi-Container Pod YAML&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion: v1&lt;/p&gt;&lt;p&gt;kind: Pod&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: multi-container-pod&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; containers:&lt;/p&gt;&lt;p&gt;&amp;nbsp; - name: nginx&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; image: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; - name: busybox&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; image: busybox&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; command: [&quot;sh&quot;, &quot;-c&quot;, &quot;while true; do echo Hello; sleep 10; done&quot;]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Create the Pod&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- kubectl apply -f pod.yaml&lt;/p&gt;&lt;p&gt;Verify&lt;span style=&quot;white-space: pre;&quot;&gt;			&lt;/span&gt;- kubectl get pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/6174823347839038595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/multi-container-pods.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/6174823347839038595'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/6174823347839038595'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/multi-container-pods.html' title='Multi-Container Pods'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-1478970196112005299</id><published>2026-09-02T15:49:11.616+05:30</published><updated>2026-09-02T15:49:11.616+05:30</updated><title type='text'>Scale Applications in Kubernetes</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What is Scaling?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Scaling is the process of increasing or decreasing the number of application Pods to handle workload changes.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Why Do We Need Scaling?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Suppose your e-commerce application is receives a lot of traffic during a sale day:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Instead of: 2 Pod You can scale it to: 5 Pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Normal Days&amp;nbsp; → 2 Pods&lt;/p&gt;&lt;p&gt;Sale Days&amp;nbsp; &amp;nbsp; → 5 Pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Kubernetes scales the application to handle more users without downtime and This will improves:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Performance&lt;/p&gt;&lt;p&gt;Availability&lt;/p&gt;&lt;p&gt;Load distribution&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Scale Up&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Current Deployment&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- replicas: 2&lt;/p&gt;&lt;p&gt;Scale to 5 Pods&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- kubectl scale deployment nginx-deployment --replicas=5&lt;/p&gt;&lt;p&gt;Verify&lt;span style=&quot;white-space: pre;&quot;&gt;			&lt;/span&gt;- kubectl get pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Scale Down&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Current Deployment&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- replicas: 5&lt;/p&gt;&lt;p&gt;Scale to 5 Pods&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- kubectl scale deployment nginx-deployment --replicas=2&lt;/p&gt;&lt;p&gt;Verify&lt;span style=&quot;white-space: pre;&quot;&gt;			&lt;/span&gt;- kubectl get pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/1478970196112005299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/scale-applications-in-kubernetes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/1478970196112005299'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/1478970196112005299'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/scale-applications-in-kubernetes.html' title='Scale Applications in Kubernetes'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-1214509426663712824</id><published>2026-09-02T15:48:42.375+05:30</published><updated>2026-09-02T15:48:42.375+05:30</updated><title type='text'>Creating a ConfigMap in Kubernetes</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What is a ConfigMap?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A ConfigMap is a Kubernetes object which is used to store non-sensitive configuration data in the form of key-value pairs.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Examples:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Application environment&lt;/p&gt;&lt;p&gt;Server URL&lt;/p&gt;&lt;p&gt;Application port&lt;/p&gt;&lt;p&gt;Log level&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Why we Use a ConfigMap?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Instead of hardcoding values in the Deployment, Store them in a ConfigMap and use them wherever it needed.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Create a ConfigMap&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl create configmap app-config --from-literal=APP_ENV=Production --from-literal=APP_PORT=8080&lt;/p&gt;&lt;p&gt;kubectl get configmap&lt;/p&gt;&lt;p&gt;kubectl describe configmap app-config&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Use ConfigMap in a Deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion: apps/v1&lt;/p&gt;&lt;p&gt;kind: Deployment&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: nginx-config-demo&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; replicas: 1&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; selector:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; matchLabels:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; app: nginx-config-demo&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; template:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; labels:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app: nginx-config-demo&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; containers:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - name: nginx&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; image: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; env:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - name: APP_ENV&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; valueFrom:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; configMapKeyRef:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name: app-config&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; key: APP_ENV&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - name: APP_PORT&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; valueFrom:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; configMapKeyRef:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name: app-config&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; key: APP_PORT&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Apply&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- kubectl apply -f deployment.yaml&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Verify Inside the Pod&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Get the Pod name&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- kubectl get pods&lt;/p&gt;&lt;p&gt;Login to the Pod&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- kubectl exec -it &amp;lt;pod-name&amp;gt; -- bash&lt;/p&gt;&lt;p&gt;Check values&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- printenv APP_ENV&lt;/p&gt;&lt;p&gt;Check values&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- printenv APP_PORT&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ConfigMap YAML Example&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion: v1&lt;/p&gt;&lt;p&gt;kind: ConfigMap&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: app-config&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;data:&lt;/p&gt;&lt;p&gt;&amp;nbsp; APP_ENV: Production&lt;/p&gt;&lt;p&gt;&amp;nbsp; APP_PORT: &quot;8080&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; LOG_LEVEL: INFO&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl apply -f configmap.yaml&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/1214509426663712824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/creating-configmap-in-kubernetes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/1214509426663712824'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/1214509426663712824'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/creating-configmap-in-kubernetes.html' title='Creating a ConfigMap in Kubernetes'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-1988217282211189683</id><published>2026-09-02T15:48:06.408+05:30</published><updated>2026-09-02T15:48:06.408+05:30</updated><title type='text'>Configure Secret Resources for Sensitive Values</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What is a Secret?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A Secret is a Kubernetes object which is used to store and manage sensitive data in Kubernetes such as:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Passwords&lt;/p&gt;&lt;p&gt;API Keys&lt;/p&gt;&lt;p&gt;Database Credentials&lt;/p&gt;&lt;p&gt;Tokens&lt;/p&gt;&lt;p&gt;Certificates&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Why Use Secrets?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Not Recommended:-&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;env:&lt;/p&gt;&lt;p&gt;- name: DB_PASSWORD&lt;/p&gt;&lt;p&gt;&amp;nbsp; value: &quot;admin123&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Anyone can see the password in the YAML file.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Recommended:- Store the password in a Kubernetes Secret and use it in the Deployment.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Step 1: Create a Secret&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl create secret generic mysql-secret --from-literal=username=admin --from-literal=password=admin123&lt;/p&gt;&lt;p&gt;kubectl get secrets&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Step 2: Use Secret in Deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion: apps/v1&lt;/p&gt;&lt;p&gt;kind: Deployment&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: nginx-secret-demo&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; replicas: 2&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; selector:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; matchLabels:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; app: nginx-secret-demo&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; template:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; labels:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app: nginx-secret-demo&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; containers:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - name: nginx&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; image: nginx:latest&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; env:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - name: DB_USER&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; valueFrom:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; secretKeyRef:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name: mysql-secret&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; key: username&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - name: DB_PASSWORD&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; valueFrom:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; secretKeyRef:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name: mysql-secret&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; key: password&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl apply -f deployment.yaml&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Step 3: Verify Inside the Container&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl get pods&lt;/p&gt;&lt;p&gt;kubectl exec -it &amp;lt;pod-name&amp;gt; -- bash&lt;/p&gt;&lt;p&gt;printenv DB_USER&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Real-Life Example&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Suppose your application connects to MySQL:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Database Host&amp;nbsp; &amp;nbsp; &amp;nbsp; = mysql-service&lt;/p&gt;&lt;p&gt;Database User&amp;nbsp; &amp;nbsp; &amp;nbsp; = admin&lt;/p&gt;&lt;p&gt;Database Password&amp;nbsp; = admin123&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Store the password in a Secret instead of hardcoding it in the Deployment YAML, This keeps sensitive data separate from application configuration.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/1988217282211189683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/configure-secret-resources-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/1988217282211189683'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/1988217282211189683'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/configure-secret-resources-for.html' title='Configure Secret Resources for Sensitive Values'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-7706071744372638369</id><published>2026-09-02T15:47:29.559+05:30</published><updated>2026-09-02T15:47:29.560+05:30</updated><title type='text'>Configure Environment Variables in Kubernetes</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;What are Environment Variables?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Environment variables are key-value pairs which is used to pass the configuration values to an application without changing the application code.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Database URL&lt;/p&gt;&lt;p&gt;Username&lt;/p&gt;&lt;p&gt;Application Mode (dev, test, prod)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Why Use Environment Variables?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Instead of hardcoding values in the application code, We can pass them from Kubernetes.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;DB_HOST=localhost&lt;/p&gt;&lt;p&gt;DB_HOST=mysql-service&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This makes the application more flexible and easier to manage.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example Deployment YAML&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion: apps/v1&lt;/p&gt;&lt;p&gt;kind: Deployment&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: myapp&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; replicas: 2&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; selector:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; matchLabels:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; app: myapp&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; template:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; labels:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app: myapp&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; containers:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - name: myapp&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; image: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; env:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - name: APP_ENV&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value: &quot;production&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - name: COMPANY&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value: &quot;HCL Pvt Ltd&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Understanding the Configuration&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;env:&lt;/p&gt;&lt;p&gt;- name: APP_ENV&lt;/p&gt;&lt;p&gt;&amp;nbsp; value: &quot;production&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;- name: DB_HOST&lt;/p&gt;&lt;p&gt;&amp;nbsp; value: &quot;mysql-service&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Creates an environment variable.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;APP_ENV=production&lt;/p&gt;&lt;p&gt;DB_HOST=&quot;HCL Pvt Ltd&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Verify Environment Variables&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Find the Pod&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- kubectl get pods&lt;/p&gt;&lt;p&gt;Access the Pod&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- kubectl exec -it &amp;lt;pod-name&amp;gt; -- /bin/bash&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;View environment variables command:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;env Or printenv&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;env APP_ENV Or printenv APP_ENV&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/7706071744372638369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/configure-environment-variables-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/7706071744372638369'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/7706071744372638369'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/configure-environment-variables-in.html' title='Configure Environment Variables in Kubernetes'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-7615820487978823232</id><published>2026-09-02T15:46:45.779+05:30</published><updated>2026-09-02T15:46:45.779+05:30</updated><title type='text'>Using Rolling Updates in Kubernetes</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What is a Rolling Update?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A Rolling Update is a Kubernetes deployment strategy that updates an application without downtime by gradually replacing old Pods with new Pods.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Why Use Rolling Updates?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;No downtime during application updates.&lt;/p&gt;&lt;p&gt;Users can continue accessing the application.&lt;/p&gt;&lt;p&gt;Safer deployment process.&lt;/p&gt;&lt;p&gt;Easy rollback if something goes wrong.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example:&amp;nbsp; Suppose you have a Pods running version pod-v1 You update the image to pod-v2, Kubernetes performs the update gradually, Users can access the application throughout the update process.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Perform a Rolling Update&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Update the image&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- kubectl set image deployment/nginx-deployment nginx=nginx:latest&lt;/p&gt;&lt;p&gt;Check update status:&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- kubectl rollout status deployment/nginx-deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;View Rollout History&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl rollout history deployment nginx-deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Rollback to Previous Version&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If the new version has issues, then Kubernetes restores the previous working version.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl rollout undo deployment nginx-deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Verify Deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl get deployments&lt;/p&gt;&lt;p&gt;kubectl get pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;How It Works&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Deployment&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/p&gt;&lt;p&gt;Rolling Update&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/p&gt;&lt;p&gt;Old Pods ---&amp;gt; New Pods&lt;/p&gt;&lt;p&gt;(v1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (v2)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Kubernetes removes old Pods and creates new Pods gradually until all Pods run the new version.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/7615820487978823232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/using-rolling-updates-in-kubernetes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/7615820487978823232'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/7615820487978823232'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/using-rolling-updates-in-kubernetes.html' title='Using Rolling Updates in Kubernetes'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-2601853695314436570</id><published>2026-09-02T15:46:07.368+05:30</published><updated>2026-09-02T15:46:07.368+05:30</updated><title type='text'>Understanding Pods, ReplicaSets &amp; Deployments</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Pods, ReplicaSets &amp;amp; Deployments These three components work together to run and manage applications in Kubernetes.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1. Pod&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A Pod is the smallest unit in Kubernetes. It contains one or more containers that run your application.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Pod&lt;/p&gt;&lt;p&gt;&amp;nbsp;└── Nginx Container&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2. ReplicaSet&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A ReplicaSet ensure that the desired number of identical Pods are running.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If you want 3 Pods running:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ReplicaSet&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/p&gt;&lt;p&gt;&amp;nbsp; ---------&lt;/p&gt;&lt;p&gt;&amp;nbsp; |&amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp;|&lt;/p&gt;&lt;p&gt;Pod Pod Pod&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If one Pod crashes:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ReplicaSet&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;|--&amp;gt; Creates a new Pod&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3. Deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A Deployment manages ReplicaSets and Pods.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;It provides:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Scaling&lt;/p&gt;&lt;p&gt;Rolling Updates&lt;/p&gt;&lt;p&gt;Rollbacks&lt;/p&gt;&lt;p&gt;Self-Healing&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Deployment&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;&amp;nbsp; ReplicaSet&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;&amp;nbsp; -----------&lt;/p&gt;&lt;p&gt;&amp;nbsp; |&amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;&amp;nbsp;Pod&amp;nbsp; Pod&amp;nbsp; Pod&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Relationship Between Them&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;How It Works&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You create a Deployment.&lt;/p&gt;&lt;p&gt;Deployment creates a ReplicaSet.&lt;/p&gt;&lt;p&gt;ReplicaSet creates the required Pods.&lt;/p&gt;&lt;p&gt;If a Pod fails, ReplicaSet creates a new Pod.&lt;/p&gt;&lt;p&gt;Deployment manages updates and scaling.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Real-Life Example&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Imagine a company:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Deployment = Manager&lt;/p&gt;&lt;p&gt;ReplicaSet = Supervisor&lt;/p&gt;&lt;p&gt;Pods&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp;= Workers&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Manager decides how many workers are needed.&lt;/p&gt;&lt;p&gt;Supervisor ensures the required workers are present.&lt;/p&gt;&lt;p&gt;Workers perform the actual work.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Summary: A Pod runs the application, a ReplicaSet ensures the required number of Pods are running, and a Deployment manages ReplicaSets by providing scaling, rolling updates, rollbacks, and self-healing capabilities.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/2601853695314436570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/understanding-pods-replicasets.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/2601853695314436570'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/2601853695314436570'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/understanding-pods-replicasets.html' title='Understanding Pods, ReplicaSets &amp; Deployments'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-113861162475837132</id><published>2026-09-02T15:45:13.041+05:30</published><updated>2026-09-02T15:45:13.041+05:30</updated><title type='text'>Creating a Service in Kubernetes</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What is a Service?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A Service is a Kubernetes object that provides a stable IP address and DNS name to access Pods.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Since Pod IP addresses can change when Pods are recreated, a Service acts as a fixed endpoint for accessing the application.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Why Do We Need a Service?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Suppose you have 3 Pods: Pod-1/Pod-2/Pod-3&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If Pod-1 crashes, Kubernetes creates a new Pod with a different IP address.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Without a Service:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Users need to know individual Pod IPs.&lt;/p&gt;&lt;p&gt;Pod IPs keep changing.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;With a Service:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Users connect to one stable IP/DNS.&lt;/p&gt;&lt;p&gt;The Service automatically forwards traffic to available Pods.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Service YAML Example&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion: v1&lt;/p&gt;&lt;p&gt;kind: Service&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: nginx-service&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; selector:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; app: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; ports:&lt;/p&gt;&lt;p&gt;&amp;nbsp; - protocol: TCP&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; port: 80&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; targetPort: 80&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; type: ClusterIP&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Understanding the YAML&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;selector&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- The Service finds all Pods having (labels:&amp;nbsp; app: nginx)&lt;/p&gt;&lt;p&gt;selector:&lt;/p&gt;&lt;p&gt;&amp;nbsp; app: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;port&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- The port exposed by the Service.&lt;/p&gt;&lt;p&gt;port: 80&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;targetPort&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- The port on the container where the application is running.&lt;/p&gt;&lt;p&gt;targetPort: 80&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;type&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- Defines how the Service is exposed.&lt;/p&gt;&lt;p&gt;type: ClusterIP&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;How Service Works (The Service distributes incoming requests among all available Pods.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;nginx-service&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;|&lt;/span&gt;&lt;/p&gt;&lt;p&gt;------------------&lt;/p&gt;&lt;p&gt;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;Pod1&amp;nbsp; &amp;nbsp;Pod2&amp;nbsp; &amp;nbsp; Pod3&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Create a Service&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl apply -f service.yaml&lt;/p&gt;&lt;p&gt;kubectl get svc&lt;/p&gt;&lt;p&gt;kubectl get services&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Types of Services&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1. ClusterIP (Default)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Accessible only inside the Kubernetes cluster.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;type: ClusterIP&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2. NodePort&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Exposes the application on a port of every worker node. &amp;lt;Node-IP&amp;gt;:30000&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;type: NodePort&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3. LoadBalancer&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Creates an external load balancer (AWS, Azure, GCP). [Access: External IP]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;type: LoadBalancer&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/113861162475837132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/creating-service-in-kubernetes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/113861162475837132'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/113861162475837132'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/creating-service-in-kubernetes.html' title='Creating a Service in Kubernetes'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-7492483495027738282</id><published>2026-09-02T15:43:14.919+05:30</published><updated>2026-09-02T15:43:14.919+05:30</updated><title type='text'>Creating a Deployment in Kubernetes using YAML</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;You&#39;ll learn how real applications are deployed, configured, scaled, updated, and healed automatically.&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;What is a Deployment?&lt;/p&gt;&lt;p&gt;A Deployment is a Kubernetes resource used to manage and deploy applications. It ensures that the desired number of Pods are running and provides features like scaling, rolling updates, and self-healing.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Deployment YAML Example&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Create a file named deployment.yaml:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion: apps/v1&lt;/p&gt;&lt;p&gt;kind: Deployment&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: nginx-deployment&lt;/p&gt;&lt;p&gt;spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; replicas: 3&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; selector:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; matchLabels:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; app: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; template:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; labels:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; containers:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - name: nginx&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; image: nginx:latest&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ports:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - containerPort: 80&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Understanding the YAML&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Specifies the API version used by the Deployment.&lt;/p&gt;&lt;p&gt;apiVersion: apps/v1&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kind&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- Defines the resource type. example (Pod, Deployment, Services)&lt;/p&gt;&lt;p&gt;kind: Deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;metadata&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Gives the deployment a name.&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: nginx-deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;replicas&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Creates desired no of identical Pods.&lt;/p&gt;&lt;p&gt;replicas: 3&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;selector&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Used to identify the Pods managed by this Deployment. (Selector identifies which Pods are managed by the Deployment.)&lt;/p&gt;&lt;p&gt;selector:&lt;/p&gt;&lt;p&gt;&amp;nbsp; matchLabels:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; app: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;template&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Represents the Pod template. (Create Pods with label app: nginx and run the nginx container.)&lt;/p&gt;&lt;p&gt;template:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;container image&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Specifies the container image to use.&lt;/p&gt;&lt;p&gt;image: nginx:latest&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Create Deployment&lt;/p&gt;&lt;p&gt;kubectl apply -f deployment.yaml&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Verify Deployment&lt;/p&gt;&lt;p&gt;kubectl get deployments&lt;/p&gt;&lt;p&gt;kubectl get rs&lt;/p&gt;&lt;p&gt;kubectl get pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Scale Deployment (Increase replicas from 3 to 5)&lt;/p&gt;&lt;p&gt;kubectl scale deployment nginx-deployment --replicas=5&lt;/p&gt;&lt;p&gt;kubectl get pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Update Deployment&lt;/p&gt;&lt;p&gt;Update image version&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- kubectl set image deployment/nginx-deployment nginx=nginx:1.26&lt;/p&gt;&lt;p&gt;Check rollout status&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- kubectl rollout status deployment/nginx-deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Rollback Deployment&lt;/p&gt;&lt;p&gt;View rollout history&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- kubectl rollout history deployment nginx-deployment&lt;/p&gt;&lt;p&gt;Rollback&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;- kubectl rollout undo deployment nginx-deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Self-Healing Example (Delete a Pod)&lt;/p&gt;&lt;p&gt;kubectl delete pod &amp;lt;pod-name&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Kubernetes automatically creates a new Pod to maintain the desired replica count.&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/7492483495027738282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/creating-deployment-in-kubernetes-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/7492483495027738282'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/7492483495027738282'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/creating-deployment-in-kubernetes-using.html' title='Creating a Deployment in Kubernetes using YAML'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-7825415380961594039</id><published>2026-09-02T15:32:55.551+05:30</published><updated>2026-09-02T16:01:03.875+05:30</updated><title type='text'>MODULE-3  K8s APPLICATION DEPLOYMENT</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/creating-deployment-in-kubernetes-using.html&quot; target=&quot;_blank&quot;&gt;Creating a Deployment in Kubernetes using YAML&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/creating-service-in-kubernetes.html&quot; target=&quot;_blank&quot;&gt;Creating a Service in Kubernetes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/understanding-pods-replicasets.html&quot; target=&quot;_blank&quot;&gt;Understanding pod &amp;amp; Replication &amp;amp; Deployment configuration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/using-rolling-updates-in-kubernetes.html&quot; target=&quot;_blank&quot;&gt;Using Rolling Updates in Kubernetes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/configure-environment-variables-in.html&quot; target=&quot;_blank&quot;&gt;Configure Environment variables in the application&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;Configure Secret Resources for Sensitive Values&quot; target=&quot;_blank&quot;&gt;Configure secret resources for sensitive value&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/creating-configmap-in-kubernetes.html&quot; target=&quot;_blank&quot;&gt;Creating Config Map&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/scale-applications-in-kubernetes.html&quot; target=&quot;_blank&quot;&gt;Scale Applications&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/multi-container-pods.html&quot; target=&quot;_blank&quot;&gt;Multi Container PODs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/init-containers.html&quot; target=&quot;_blank&quot;&gt;Init Containers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/self-healing-applications-in-kubernetes.html&quot; target=&quot;_blank&quot;&gt;Self-Healing Applications&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/7825415380961594039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/module-3-k8s-application-deployment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/7825415380961594039'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/7825415380961594039'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/module-3-k8s-application-deployment.html' title='MODULE-3  K8s APPLICATION DEPLOYMENT'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-3850793431602838659</id><published>2026-09-02T15:28:28.917+05:30</published><updated>2026-09-02T15:28:28.917+05:30</updated><title type='text'>K8s Installation Using Minikube</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What is Minikube?&lt;/p&gt;&lt;p&gt;Minikube is a tool that allows you to run a single-node Kubernetes cluster on your local machine for learning, development, and testing purposes.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Perfect for:&lt;/p&gt;&lt;p&gt;Learning Kubernetes&lt;/p&gt;&lt;p&gt;Running demos&lt;/p&gt;&lt;p&gt;Practicing kubectl commands&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Not suitable for:&lt;/p&gt;&lt;p&gt;Production workloads&lt;/p&gt;&lt;p&gt;High availability&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Architecture&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Laptop&lt;/p&gt;&lt;p&gt;&amp;nbsp;|&lt;/p&gt;&lt;p&gt;Minikube VM/Container&lt;/p&gt;&lt;p&gt;&amp;nbsp;|&lt;/p&gt;&lt;p&gt;Control Plane + Worker&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Basis on your Operating System follow Official Document&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Install kubectl&lt;/p&gt;&lt;p&gt;Install Minikube&lt;/p&gt;&lt;p&gt;Start Cluster&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/3850793431602838659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/k8s-installation-using-minikube.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/3850793431602838659'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/3850793431602838659'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/k8s-installation-using-minikube.html' title='K8s Installation Using Minikube'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-1585481183877052184</id><published>2026-09-02T15:27:21.809+05:30</published><updated>2026-09-02T15:30:38.016+05:30</updated><title type='text'>MODULE-2 KUBERNETES INSTALLATION</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;This module covers multiple ways to install Kubernetes, from local learning environments to enterprise-grade highly available clusters.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/k8s-installation-using-minikube.html&quot; target=&quot;_blank&quot;&gt;Installation minikube&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Installation using kubeadm utility in HA mode (Optional)&lt;/li&gt;&lt;li&gt;Install Kubernetes the hard Way (Optional)&lt;/li&gt;&lt;li&gt;How to use kops and create (Optional)&lt;/li&gt;&lt;li&gt;Kubernetes cluster (Optional)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/1585481183877052184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/module-2-kubernetes-installation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/1585481183877052184'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/1585481183877052184'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/module-2-kubernetes-installation.html' title='MODULE-2 KUBERNETES INSTALLATION'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-7577644022875407707</id><published>2026-09-02T15:16:53.662+05:30</published><updated>2026-09-02T15:16:53.662+05:30</updated><title type='text'>Understanding YAML</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Kubernetes resources are defined using YAML files.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion: v1&lt;/p&gt;&lt;p&gt;kind: Pod&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; containers:&lt;/p&gt;&lt;p&gt;&amp;nbsp; - name: nginx&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; image: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;YAML Structure&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;apiVersion&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Which Kubernetes API version to use.&lt;/p&gt;&lt;p&gt;apiVersion: v1&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;kind&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Resource type.&lt;/p&gt;&lt;p&gt;kind: Pod&lt;/p&gt;&lt;p&gt;kind: Service&lt;/p&gt;&lt;p&gt;kind: Deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;metadata&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Information about object.&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;spec&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Desired state.&lt;/p&gt;&lt;p&gt;spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; containers:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Deployment Example&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion: apps/v1&lt;/p&gt;&lt;p&gt;kind: Deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: nginx-deployment&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; replicas: 3&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; selector:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; matchLabels:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; app: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; template:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; labels:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; containers:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - name: nginx&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; image: nginx:latest&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl apply -f deployment.yaml&lt;/p&gt;&lt;p&gt;kubectl get deploy&lt;/p&gt;&lt;p&gt;kubectl get pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/7577644022875407707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/understanding-yaml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/7577644022875407707'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/7577644022875407707'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/understanding-yaml.html' title='Understanding YAML'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-8233315660299180651</id><published>2026-09-02T15:14:35.538+05:30</published><updated>2026-09-02T15:14:35.539+05:30</updated><title type='text'>Exploring Your Cluster</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Most common commands.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl get nodes&lt;/p&gt;&lt;p&gt;kubectl get pods&lt;/p&gt;&lt;p&gt;kubectl get pods -A&lt;/p&gt;&lt;p&gt;kubectl describe pod nginx&lt;/p&gt;&lt;p&gt;kubectl logs nginx&lt;/p&gt;&lt;p&gt;kubectl exec -it nginx -- /bin/bash&lt;/p&gt;&lt;p&gt;kubectl get nodes&lt;/p&gt;&lt;p&gt;kubectl cluster-info&lt;/p&gt;&lt;p&gt;kubectl describe node worker1&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You can manage Kubernetes in two ways:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;1) Using Commands (kubectl)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You can manage Kubernetes resources directly from the command line using the kubectl command.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl create deployment nginx --image=nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;2) Using YAML Files&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You can define Kubernetes resources in a YAML file and apply them to the cluster.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/8233315660299180651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/exploring-your-cluster.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/8233315660299180651'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/8233315660299180651'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/exploring-your-cluster.html' title='Exploring Your Cluster'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-3609032964050367388</id><published>2026-09-02T15:13:24.365+05:30</published><updated>2026-09-02T15:13:24.366+05:30</updated><title type='text'>ETCD, Controller, API Server &amp; Scheduler Deep Dive (In Practical Way)</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Imagine you execute: kubectl run nginx --image=nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Flow:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 1&lt;/b&gt;&lt;/p&gt;&lt;p&gt;kubectl sends request.&lt;/p&gt;&lt;p&gt;kubectl --&amp;gt; API Server&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 2&lt;/b&gt;&lt;/p&gt;&lt;p&gt;API Server validates request.&lt;/p&gt;&lt;p&gt;Create nginx Pod&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 3&lt;/b&gt;&lt;/p&gt;&lt;p&gt;API Server stores desired state in ETCD.&lt;/p&gt;&lt;p&gt;ETCD --&amp;gt; nginx Pod Required&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 4&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Scheduler checks unscheduled pod.&lt;/p&gt;&lt;p&gt;Pod Needs Node&lt;/p&gt;&lt;p&gt;Finds best worker node.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 5&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Scheduler updates ETCD.&lt;/p&gt;&lt;p&gt;Run Pod on Node-2&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 6&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Kubelet on Node-2 creates pod.&lt;/p&gt;&lt;p&gt;containerd pulls image&lt;/p&gt;&lt;p&gt;nginx starts&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 7&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Controller continuously checks:&lt;/p&gt;&lt;p&gt;Desired = 1 pod&lt;/p&gt;&lt;p&gt;Actual&amp;nbsp; = 1 pod&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Healthy.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/3609032964050367388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/etcd-controller-api-server-scheduler.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/3609032964050367388'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/3609032964050367388'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/etcd-controller-api-server-scheduler.html' title='ETCD, Controller, API Server &amp; Scheduler Deep Dive (In Practical Way)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-6609729358498348745</id><published>2026-09-02T15:09:04.216+05:30</published><updated>2026-09-02T15:09:04.216+05:30</updated><title type='text'>Core Concept of Kubernetes Services</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;What is a Pod?&lt;/p&gt;&lt;p&gt;Smallest deployable unit in Kubernetes.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A Pod contains:&lt;/p&gt;&lt;p&gt;Pod&lt;/p&gt;&lt;p&gt;&amp;nbsp;├── Application Container&lt;/p&gt;&lt;p&gt;&amp;nbsp;└── Optional Sidecar Container&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example: nginx Pod&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apiVersion: v1&lt;/p&gt;&lt;p&gt;kind: Pod&lt;/p&gt;&lt;p&gt;metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; name: nginx&lt;/p&gt;&lt;p&gt;spec:&lt;/p&gt;&lt;p&gt;&amp;nbsp; containers:&lt;/p&gt;&lt;p&gt;&amp;nbsp; - name: nginx&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; image: nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Problem with Pods&lt;/p&gt;&lt;p&gt;Pod IP changes after restart.&lt;/p&gt;&lt;p&gt;Example: Pod IP = 10.10.1.20&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Pod dies:&amp;nbsp;&lt;/p&gt;&lt;p&gt;New Pod IP = 10.10.1.30&lt;/p&gt;&lt;p&gt;Clients break.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Kubernetes Service&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Provides a stable endpoint.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Client&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;|&lt;/p&gt;&lt;p&gt;Service&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;|&lt;/p&gt;&lt;p&gt;-----------&lt;/p&gt;&lt;p&gt;|&amp;nbsp; |&amp;nbsp; |&lt;/p&gt;&lt;p&gt;P1 P2 P3&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Service never changes.&lt;/p&gt;&lt;p&gt;Pods can change.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Service Types&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;ClusterIP (Default)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Internal communication.&lt;/p&gt;&lt;p&gt;Example: Frontend ---&amp;gt; Backend&lt;/p&gt;&lt;p&gt;Inside cluster only.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;NodePort&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Exposes application on worker node port.&lt;/p&gt;&lt;p&gt;Example: 192.168.1.10:30080&lt;/p&gt;&lt;p&gt;External users can access.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;LoadBalancer&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Cloud environments: AWS/Azure/GCP&lt;/p&gt;&lt;p&gt;Internet&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;Load Balancer&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;&amp;nbsp;Service&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;Pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Most commonly used in production.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;ExternalName&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Maps service to external DNS.&lt;/p&gt;&lt;p&gt;Example: externalName: database.company.com&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/6609729358498348745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/core-concept-of-kubernetes-services.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/6609729358498348745'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/6609729358498348745'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/core-concept-of-kubernetes-services.html' title='Core Concept of Kubernetes Services'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-5089735907608041470</id><published>2026-09-02T15:04:20.403+05:30</published><updated>2026-09-02T15:04:20.403+05:30</updated><title type='text'>Kubernetes Cluster Architecture</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;A Kubernetes Cluster contains:&lt;/p&gt;&lt;p&gt;┌─────────────────────────────┐&lt;/p&gt;&lt;p&gt;│ &lt;span style=&quot;white-space: pre;&quot;&gt;			&lt;/span&gt;Control Plane &lt;span style=&quot;white-space: pre;&quot;&gt;				&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; │&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/p&gt;&lt;p&gt;└─────────────────────────────┘&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;|&lt;/span&gt;&lt;/p&gt;&lt;p&gt;------------------------------------------&lt;/p&gt;&lt;p&gt;|&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt; &lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;| &lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;|&lt;/p&gt;&lt;p&gt;Worker1 &lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Worker2 &lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Worker3&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Control Plane (Master Node)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Brain of Kubernetes.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Responsible for:&lt;/p&gt;&lt;p&gt;Scheduling&lt;/p&gt;&lt;p&gt;Monitoring&lt;/p&gt;&lt;p&gt;Cluster decisions&lt;/p&gt;&lt;p&gt;State management&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Cluster&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;├── Control Plane&lt;/p&gt;&lt;p&gt;&amp;nbsp;│ ├── API Server&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;│ ├── ETCD&lt;/p&gt;&lt;p&gt;&amp;nbsp;│ ├── Scheduler&lt;/p&gt;&lt;p&gt;&amp;nbsp;│ └── Controller Manager&lt;/p&gt;&lt;p&gt;&amp;nbsp;│&lt;/p&gt;&lt;p&gt;&lt;b&gt;&amp;nbsp;└── Worker Nodes&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; ├── Kubelet&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; ├── Kube-Proxy&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; └── Container Runtime&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Components:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;API Server&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;kubectl --&amp;gt; API Server --&amp;gt; Cluster&lt;/p&gt;&lt;p&gt;Entry point of Kubernetes.&lt;/p&gt;&lt;p&gt;Every request goes through API Server.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Examples:&lt;/p&gt;&lt;p&gt;kubectl get pods&lt;/p&gt;&lt;p&gt;kubectl create deployment nginx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;ETCD&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Database of Kubernetes.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Stores:&lt;/p&gt;&lt;p&gt;Cluster state&lt;/p&gt;&lt;p&gt;Pod information&lt;/p&gt;&lt;p&gt;Secrets&lt;/p&gt;&lt;p&gt;ConfigMaps&lt;/p&gt;&lt;p&gt;Node info&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example:&lt;/p&gt;&lt;p&gt;Current State: 3 Pods running&lt;/p&gt;&lt;p&gt;Stored inside ETCD.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Scheduler&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Decides: Which worker node should run a pod?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example:&lt;/p&gt;&lt;p&gt;Cluster:&lt;/p&gt;&lt;p&gt;Node1 CPU = 90%&lt;/p&gt;&lt;p&gt;Node2 CPU = 20%&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Scheduler chooses:&lt;/p&gt;&lt;p&gt;Pod --&amp;gt; Node2&lt;/p&gt;&lt;p&gt;because Node2 has more resources.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Controller Manager&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Monitors desired state versus current state.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example:&lt;/p&gt;&lt;p&gt;Desired: 3 Pods&lt;/p&gt;&lt;p&gt;Current: 2 Pods&lt;/p&gt;&lt;p&gt;Controller notices mismatch and starts: New Pod TO MAKE IT 3 Pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;== Worker Node Components ==&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Worker node is actual responsible for manage and runs your applications.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Kubelet&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Agent running on every worker node.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Responsibilities:&lt;/p&gt;&lt;p&gt;Talks with API Server&lt;/p&gt;&lt;p&gt;Creates pods&lt;/p&gt;&lt;p&gt;Health checking&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Think:&lt;/p&gt;&lt;p&gt;Manager --&amp;gt; Worker&lt;/p&gt;&lt;p&gt;API Server --&amp;gt; Kubelet&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Container Runtime&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Responsible for container execution.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Examples:&lt;/p&gt;&lt;p&gt;containerd&lt;/p&gt;&lt;p&gt;CRI-O&lt;/p&gt;&lt;p&gt;Older Kubernetes: Docker&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Kube-Proxy&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Handles network traffic.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Responsibilities:&lt;/p&gt;&lt;p&gt;Service routing&lt;/p&gt;&lt;p&gt;Load balancing&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Example:&lt;/p&gt;&lt;p&gt;User Request&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;|&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Kube-Proxy&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;|&lt;/span&gt;&lt;/p&gt;&lt;p&gt;------------------&lt;/p&gt;&lt;p&gt;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/p&gt;&lt;p&gt;Pod1&amp;nbsp; &amp;nbsp;Pod2&amp;nbsp; &amp;nbsp; Pod3&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/5089735907608041470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/kubernetes-cluster-architecture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/5089735907608041470'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/5089735907608041470'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/kubernetes-cluster-architecture.html' title='Kubernetes Cluster Architecture'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-2533133313038582017</id><published>2026-09-02T14:54:48.762+05:30</published><updated>2026-09-02T14:54:48.763+05:30</updated><title type='text'>Introduction to Kubernetes</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;What is Kubernetes?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Kubernetes (K8s) is an open-source container orchestration platform that automates:&lt;/p&gt;&lt;p&gt;Deployment&lt;/p&gt;&lt;p&gt;Scaling&lt;/p&gt;&lt;p&gt;Load balancing&lt;/p&gt;&lt;p&gt;Self-healing&lt;/p&gt;&lt;p&gt;Container management&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Think of it as:&lt;/p&gt;&lt;p&gt;Docker manages containers on one server.&lt;/p&gt;&lt;p&gt;Kubernetes manages containers across hundreds or thousands of servers.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Without Kubernetes&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Server-1&amp;nbsp;&lt;/p&gt;&lt;p&gt;├── App Container&amp;nbsp;&lt;/p&gt;&lt;p&gt;├── App Container&amp;nbsp;&lt;/p&gt;&lt;p&gt;└── Database Container&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Problems:&lt;/p&gt;&lt;p&gt;Manual scaling&lt;/p&gt;&lt;p&gt;Single point of failure&lt;/p&gt;&lt;p&gt;Difficult upgrades&lt;/p&gt;&lt;p&gt;No self-healing&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;With Kubernetes&lt;/p&gt;&lt;p&gt;Kubernetes Cluster&lt;/p&gt;&lt;p&gt;+----------------------+&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; | Control Plane |&lt;br /&gt;+----------------------+&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;&amp;nbsp;---------------------------------&amp;nbsp;&lt;br /&gt;&amp;nbsp;| &lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;|&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt; |&lt;br /&gt;Worker-1&amp;nbsp; &amp;nbsp; Worker-2 &lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp;Worker-3&lt;br /&gt;&amp;nbsp;|&lt;span style=&quot;white-space: pre;&quot;&gt;		&lt;/span&gt;|&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt; &lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt; |&lt;br /&gt;App Pods&amp;nbsp; &amp;nbsp; App Pods&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp;App Pods&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Benefits:&lt;/p&gt;&lt;p&gt;Auto Scaling&lt;/p&gt;&lt;p&gt;High Availability&lt;/p&gt;&lt;p&gt;Self Healing&lt;/p&gt;&lt;p&gt;Rolling Updates&lt;/p&gt;&lt;p&gt;Service Discovery&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Why Kubernetes Became Popular ?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Suppose Amazon receives:&lt;/p&gt;&lt;p&gt;1,000 users in regular day&lt;/p&gt;&lt;p&gt;1,000,00 users during Diwali Sale&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Kubernetes can automatically:&lt;/p&gt;&lt;p&gt;2 Pods → 20 Pods → 200 Pods&lt;/p&gt;&lt;p&gt;and reduce them later to save cost.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/2533133313038582017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/introduction-to-kubernetes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/2533133313038582017'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/2533133313038582017'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/introduction-to-kubernetes.html' title='Introduction to Kubernetes'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-8340006506153634457</id><published>2026-09-02T14:46:58.568+05:30</published><updated>2026-09-02T15:22:13.204+05:30</updated><title type='text'>MODULE-1 INTRODUCTION KUBERNETES</title><content type='html'>&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/introduction-to-kubernetes.html&quot; target=&quot;_blank&quot;&gt;Introduction to Kubernetes&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/kubernetes-cluster-architecture.html&quot; target=&quot;_blank&quot;&gt;Kubernetes Cluster Architecture&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/core-concept-of-kubernetes-services.html&quot; target=&quot;_blank&quot;&gt;Core Concept of Kubernetes Services&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/etcd-controller-api-server-scheduler.html&quot; target=&quot;_blank&quot;&gt;ETCD &amp;amp; Controller &amp;amp; API &amp;amp; scheduler&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/exploring-your-cluster.html&quot; target=&quot;_blank&quot;&gt;Exploring your Cluster&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;https://tech2towards.blogspot.com/2026/09/understanding-yaml.html&quot; target=&quot;_blank&quot;&gt;Understanding YAML&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/8340006506153634457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/module-1-introduction-kubernetes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/8340006506153634457'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/8340006506153634457'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/module-1-introduction-kubernetes.html' title='MODULE-1 INTRODUCTION KUBERNETES'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-4328000936914331742</id><published>2026-09-02T14:40:59.550+05:30</published><updated>2026-09-02T14:40:59.550+05:30</updated><title type='text'>Certified Kubernetes Administrator (CKE) Course</title><content type='html'>&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-size: large;&quot;&gt;MODULE-1 INTRODUCTION KUBERNETES&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Introduction to Kubernetes&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Kubernetes Cluster Architecture&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Core Concept of Kubernetes Services&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;ETCD &amp;amp; Controller &amp;amp; API &amp;amp; scheduler&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Exploring your Cluster&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Understanding YAML&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-size: large;&quot;&gt;MODULE-2 INSTALLATION&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Installation minikube&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Installation using kubeadm utility in HA mode&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Install Kubernetes the hard Way&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;How to use kops and create&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Kubernetes cluster&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;MODULE-3 APPLICATION DEPLOYMENT&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Creating a Deployment in Kubernetes using YAML&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Creating a Service in Kubernetes&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Understanding pod &amp;amp; Replication &amp;amp; Deployment configuration&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Using Rolling Updates in Kubernetes&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Configure Environment variables in the application&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Configure secret resources for sensitive value&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Creating Config Map&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Scale Applications&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Multi Container PODs&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Init Containers&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Self-Healing Applications&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;MODULE-4 STORAGE MANAGEMENT&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Creating Persistent volume&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Persistent Volume Claim&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Volume claim policy understanding&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Attach storage on deployment&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;MODULE-5 POD SCHEDULING&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Manual Scheduling&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Labels and Selectors&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Taints and Tolerations&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Node Selectors&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Node Affinity&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;DaemonSets&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Static Pods&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Multiple Schedulers&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Configuring Kubernetes Scheduler&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;MODULE-6 RESOURCE ALLOCATION&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Restrict Limit Memory &amp;amp; CPU use&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Creating Resource Quota&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Creating Limit Quota&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;MODULE-7 NETWORKING&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Network Namespace understanding&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Docker Network&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Deploy Kubernetes Network&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Cluster Networking&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Pod Networking&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Creating Service Network&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;DNS Concept in Kubernetes&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Ingress System Kubernetes&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;MODULE-8 MONITORING KUBERNETES&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Logging and Monitoring&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Monitoring Cluster Component&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Managing application Logs&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;MODULE-9 SECURITY&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Authentication&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;TLS Introduction&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Certificate System Kubernetes&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Creating Certificate&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Role base Access Controls&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Cluster Role and Role Binding&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;SCC: Security Constant Conta &amp;amp; Network Policy&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Image Security&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/4328000936914331742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/09/certified-kubernetes-administrator-cke.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/4328000936914331742'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/4328000936914331742'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/09/certified-kubernetes-administrator-cke.html' title='Certified Kubernetes Administrator (CKE) Course'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-3941783446440612902</id><published>2026-05-28T20:15:42.868+05:30</published><updated>2026-05-28T20:16:44.216+05:30</updated><title type='text'>Enable SSO In Jenkins Using Azure EntraID</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;In this document we are going to integrating Single Sign-On (SSO) Authentication In Jenkins Using Azure Entra ID After integration, users will be able to log in to Jenkins using their Azure Entra ID credentials.&lt;/p&gt;&lt;p&gt;This functionality improves security, simplifies user access management, and enhances the overall login experience by centralization login.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiCAJ5DCglpo7p5ax5kOFM1eBUfsrc3tTUHTknu8zlvMWBCb-sfTTW1R_FySPSrO3K1O4xT8barIRVHK0wwArcTxTf0YBye2p4CqyTujvcdB_oUY69DK7Putzz5-X0Dl0pe7aiV2fQrgIZ_6gkmKmmVEpwcJVJSfB6LCB_ePQ40BjS4clw-s4bCIEJjo4k&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1024&quot; data-original-width=&quot;1536&quot; height=&quot;213&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiCAJ5DCglpo7p5ax5kOFM1eBUfsrc3tTUHTknu8zlvMWBCb-sfTTW1R_FySPSrO3K1O4xT8barIRVHK0wwArcTxTf0YBye2p4CqyTujvcdB_oUY69DK7Putzz5-X0Dl0pe7aiV2fQrgIZ_6gkmKmmVEpwcJVJSfB6LCB_ePQ40BjS4clw-s4bCIEJjo4k&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Key Points To Learn:-&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;What Is &lt;a href=&quot;https://www.fortinet.com/resources/cyberglossary/single-sign-on&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;SSO&lt;/a&gt;, &lt;a href=&quot;https://www.jenkins.io/doc/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Jenkins&lt;/a&gt;, &lt;a href=&quot;https://www.cloudflare.com/learning/access-management/what-is-saml/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;SAML &lt;/a&gt;and &lt;a href=&quot;https://learn.microsoft.com/en-us/entra/fundamentals/what-is-entra&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;EntraID&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Prerequisites:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Jenkins is accessible using an HTTPS URL.&lt;/li&gt;&lt;li&gt;Azure account with permission to manage Entra ID.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;Step 1) In Jenkins Install Plugin &quot;&lt;b&gt;SAML Single Sign On (SSO)&quot;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;Step 2) Configure Security for Installed Plugin (Part 1)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Under Security &amp;gt; Configure&lt;/p&gt;&lt;p&gt;Under Security Realm &amp;gt; Select &lt;b&gt;&quot;Mini Orange SAML 2.0&quot;&lt;/b&gt; &amp;gt; Save&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;Step 3) Configure Security for Installed Plugin (Part 2)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Under Security &amp;gt; &quot;&lt;b&gt;Mini Orange SAML 2.0&quot;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Keep this page untuched details will required to fill in &quot;Step 5&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;Step 4) In Azure Configure Entra&lt;/span&gt;&lt;/p&gt;&lt;p&gt;EntraID &amp;gt; Manage &amp;gt; Enterprice Application&lt;/p&gt;&lt;p&gt;New Application &amp;gt; Create Your Own Application &amp;gt; Write the Name of the application&lt;b&gt; &quot;Jenkins SSO&quot;&lt;/b&gt; &amp;gt; Create&lt;/p&gt;&lt;p&gt;Set Up Single Sign On &amp;gt; SAML &amp;gt; Edit &quot;Basic SAML Configuration&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;Step 5) Copy &amp;amp; Paste the Details from &lt;b&gt;[Plugin]&lt;/b&gt; To &lt;b&gt;[Entra ID]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Copy &amp;amp; Paste the &lt;b&gt;&quot;Entity ID&quot;&lt;/b&gt; &amp;amp; &lt;b&gt;&quot;Assertion Consumer Service URL&quot;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Save&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;Step 6) Copy, Paste &amp;amp; Test the Details from &lt;b&gt;[Entra ID]&lt;/b&gt; To &lt;b&gt;[Plugin]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Copy &lt;b&gt;&quot;App Fedration Metadeta URL&quot;&lt;/b&gt; and Paste under plugin &lt;b&gt;&quot;Metadeta URL&quot;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Validate Metadeta URL &amp;gt; Apply&amp;nbsp;&lt;/p&gt;&lt;p&gt;Test Configuration &amp;gt; Under &lt;b&gt;&quot;IDP Signing Certificate&quot;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Click here to see the test configuration result&lt;/p&gt;&lt;p&gt;Apply &amp;gt; Save&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;Step 7) Final ! Access Jenkins via SSO&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/3941783446440612902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/05/enable-sso-in-jenkins-using-azure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/3941783446440612902'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/3941783446440612902'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/05/enable-sso-in-jenkins-using-azure.html' title='Enable SSO In Jenkins Using Azure EntraID'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiCAJ5DCglpo7p5ax5kOFM1eBUfsrc3tTUHTknu8zlvMWBCb-sfTTW1R_FySPSrO3K1O4xT8barIRVHK0wwArcTxTf0YBye2p4CqyTujvcdB_oUY69DK7Putzz5-X0Dl0pe7aiV2fQrgIZ_6gkmKmmVEpwcJVJSfB6LCB_ePQ40BjS4clw-s4bCIEJjo4k=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-5680707623051527855</id><published>2026-02-05T22:05:00.002+05:30</published><updated>2026-02-05T22:05:19.768+05:30</updated><title type='text'>Advanced Apache Features</title><content type='html'>&lt;p&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;span style=&quot;white-space-collapse: preserve;&quot;&gt;👉🏿 &lt;/span&gt;&lt;span style=&quot;font-size: large;&quot;&gt;This guide explains how to use advanced Apache features used in production servers to monitor live traffic, automatically block malicious users, restrict access by country, and secure websites with authentication to prevent unauthorized access and attacks.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiMpRGbv709lC-_1qaQqy8WtW6vzTa8vLvD9bZu86HO-9v70MG6HRAtzpO8VNmL6bRrkg_izHgRnunHN5x-EMfi4cS9HPUNhutDyaXvxiVhvu5q9f_xN4j6g0KKTPdyCyIvj1mlZbsXSRgAu7ZJYW2JGmRq6-e4YGY-hRzBxZeDDY8DlrPujIuCS3MJR3o&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;img data-original-height=&quot;1024&quot; data-original-width=&quot;1536&quot; height=&quot;266&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiMpRGbv709lC-_1qaQqy8WtW6vzTa8vLvD9bZu86HO-9v70MG6HRAtzpO8VNmL6bRrkg_izHgRnunHN5x-EMfi4cS9HPUNhutDyaXvxiVhvu5q9f_xN4j6g0KKTPdyCyIvj1mlZbsXSRgAu7ZJYW2JGmRq6-e4YGY-hRzBxZeDDY8DlrPujIuCS3MJR3o=w400-h266&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;1) Real‑Time Log Monitoring via Web Browser&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;View and analyze Apache access/error logs live in your browser for quick diagnostics and monitoring.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Link: &lt;a href=&quot;https://tech2towards.blogspot.com/2024/12/master-in-apache.html&quot; target=&quot;_blank&quot;&gt;Click Me&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;2) Automated User Blocking with Fail2Ban&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Protect your website by blocking users who access a specific URL more than 100 times per minute.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Link: &lt;a href=&quot;https://tech2towards.blogspot.com/2024/12/master-in-apache.html&quot; target=&quot;_blank&quot;&gt;Click Me&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;3) Geo‑Blocking Specific Countries ( e.g., US / IN )&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Restrict access to your website from selected countries using Apache’s mod_geoip or mod_maxminddb.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Link: &lt;a href=&quot;https://tech2towards.blogspot.com/2026/02/block-website-access-for-specific.html&quot; target=&quot;_blank&quot;&gt;Click Me&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;4) Implementing Apache Authentication on website&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Secure your website by enabling user authentication through Apache’s built‑in auth mechanisms.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Link: &lt;a href=&quot;https://tech2towards.blogspot.com/2024/12/master-in-apache.html&quot; target=&quot;_blank&quot;&gt;Click Me&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/5680707623051527855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/02/advanced-apache-features.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/5680707623051527855'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/5680707623051527855'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/02/advanced-apache-features.html' title='Advanced Apache Features'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiMpRGbv709lC-_1qaQqy8WtW6vzTa8vLvD9bZu86HO-9v70MG6HRAtzpO8VNmL6bRrkg_izHgRnunHN5x-EMfi4cS9HPUNhutDyaXvxiVhvu5q9f_xN4j6g0KKTPdyCyIvj1mlZbsXSRgAu7ZJYW2JGmRq6-e4YGY-hRzBxZeDDY8DlrPujIuCS3MJR3o=s72-w400-h266-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-376119486257498269.post-2322666639354252560</id><published>2026-02-02T22:13:00.005+05:30</published><updated>2026-02-02T22:19:21.418+05:30</updated><title type='text'>Block Website Access for Specific Country</title><content type='html'>&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;T&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;his guide explains how to block access to a website directory based on country (United States, Mexico, and India) using Apache and the GeoIP module on Ubuntu.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi3m2-ceYC_h0Kqd-JDVNw-Zwm9HYrmIZY2sIetLQjuUHGG8uxP2iZMV7kLvYxSNEXo4tvzxnUyw1adGOPwnXCAEWw5pZ3JqNiJPt7SkZ21hIKpRSomJAitNyAWlGZmPkyDVql79Qrv9FvRMgjBtHbVFmhR2MF7OPQnP-4DdwIF2EjaV_Xd7Nk9_LJNy_0&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img data-original-height=&quot;1024&quot; data-original-width=&quot;1536&quot; height=&quot;266&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi3m2-ceYC_h0Kqd-JDVNw-Zwm9HYrmIZY2sIetLQjuUHGG8uxP2iZMV7kLvYxSNEXo4tvzxnUyw1adGOPwnXCAEWw5pZ3JqNiJPt7SkZ21hIKpRSomJAitNyAWlGZmPkyDVql79Qrv9FvRMgjBtHbVFmhR2MF7OPQnP-4DdwIF2EjaV_Xd7Nk9_LJNy_0=w400-h266&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Step 1: Install Required Packages&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;sudo apt update&lt;/div&gt;&lt;div&gt;sudo apt install apache2 libapache2-mod-geoip geoip-database -y&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Step 2: Enable the GeoIP Module&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;sudo a2enmod geoip&lt;/div&gt;&lt;div&gt;sudo systemctl restart apache2&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Verify that the module is loaded:&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;apachectl -M | grep geoip&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Step 3: Verify GeoIP Database&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;You should see GeoIP.dat in the output.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;ls /usr/share/GeoIP/&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Step 4: Configure GeoIP in Apache Separate virtual host file or apache2.conf&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;IfModule&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;geoip_module&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; GeoIPEnable On&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; GeoIPDBFile /usr/share/GeoIP/GeoIP.dat&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;IfModule&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;Directory&lt;/span&gt; &lt;span style=&quot;color: #f44747;&quot;&gt;/var/www/html/&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;RequireAll&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Require all granted&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Require not env BlockCountry&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;RequireAll&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; SetEnvIf GEOIP_COUNTRY_CODE US BlockCountry&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; SetEnvIf GEOIP_COUNTRY_CODE MX BlockCountry&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; SetEnvIf GEOIP_COUNTRY_CODE IN BlockCountry&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;Directory&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;Result:&lt;/span&gt; &lt;/b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Visitors from United States (US), Mexico (MX), and India (IN) will now be blocked from accessing the specified directory, while users from other countries will continue to have access.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://tech2towards.blogspot.com/feeds/2322666639354252560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://tech2towards.blogspot.com/2026/02/block-website-access-for-specific.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/2322666639354252560'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/376119486257498269/posts/default/2322666639354252560'/><link rel='alternate' type='text/html' href='https://tech2towards.blogspot.com/2026/02/block-website-access-for-specific.html' title='Block Website Access for Specific Country'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEi3m2-ceYC_h0Kqd-JDVNw-Zwm9HYrmIZY2sIetLQjuUHGG8uxP2iZMV7kLvYxSNEXo4tvzxnUyw1adGOPwnXCAEWw5pZ3JqNiJPt7SkZ21hIKpRSomJAitNyAWlGZmPkyDVql79Qrv9FvRMgjBtHbVFmhR2MF7OPQnP-4DdwIF2EjaV_Xd7Nk9_LJNy_0=s72-w400-h266-c" height="72" width="72"/><thr:total>0</thr:total></entry></feed>