<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: kubefeeds </title>
    <description>The latest articles on DEV Community by kubefeeds  (@kubefeeds).</description>
    <link>https://dev.to/kubefeeds</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2632313%2F622f0339-a768-427e-9cdd-44e3e16e1e6c.jpg</url>
      <title>DEV Community: kubefeeds </title>
      <link>https://dev.to/kubefeeds</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kubefeeds"/>
    <language>en</language>
    <item>
      <title>Kubectl CheatSheet 2025</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Sat, 01 Mar 2025 18:53:15 +0000</pubDate>
      <link>https://dev.to/kubefeeds/kubectl-cheatsheet-2025-4djj</link>
      <guid>https://dev.to/kubefeeds/kubectl-cheatsheet-2025-4djj</guid>
      <description>&lt;h2&gt;
  
  
  Kubectl Command Cheatsheet
&lt;/h2&gt;

&lt;p&gt;Kubectl is the command-line interface for interacting with Kubernetes clusters. It allows you to deploy applications, inspect and manage cluster resources, and view logs. This cheatsheet provides a comprehensive reference of commonly used kubectl commands, organized by operation type.&lt;/p&gt;

&lt;p&gt;Whether you're new to Kubernetes or an experienced administrator, this guide will help you quickly find the right command for your task. Commands are presented with their descriptions and practical examples to make your Kubernetes workflow more efficient.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cluster Management Commands
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl cluster-info&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Display cluster info&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl cluster-info&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl version&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show kubectl and cluster version&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl config view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show kubeconfig settings&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl config view&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl config current-context&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Display current context&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl config current-context&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl config use-context &amp;lt;context&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Switch to another context&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl config use-context minikube&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl config set-context&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Set a context parameter&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl config set-context --current --namespace=myapp&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl api-resources&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List supported API resources&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl api-resources&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Namespace Operations
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get namespaces&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List all namespaces&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get ns&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl create namespace&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create a namespace&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl create ns app-dev&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl delete namespace&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Delete a namespace&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl delete ns app-dev&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl config set-context --current --namespace=&amp;lt;ns&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Set default namespace&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl config set-context --current --namespace=app-dev&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Pod Operations
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List all pods in current namespace&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods --all-namespaces&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List pods in all namespaces&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods -A&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods -o wide&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List pods with more details&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods -o wide&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl describe pod &amp;lt;pod-name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show detailed pod information&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl describe pod nginx-pod&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl run &amp;lt;name&amp;gt; --image=&amp;lt;image&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create and run a pod&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl run nginx --image=nginx&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl delete pod &amp;lt;pod-name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Delete a pod&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl delete pod nginx-pod&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl logs &amp;lt;pod-name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Get pod logs&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl logs nginx-pod&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl logs -f &amp;lt;pod-name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Stream pod logs&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl logs -f nginx-pod&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl logs &amp;lt;pod-name&amp;gt; -c &amp;lt;container&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Get container logs from multi-container pod&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl logs webapp -c auth-service&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl exec -it &amp;lt;pod-name&amp;gt; -- &amp;lt;command&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Execute command in pod&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl exec -it nginx-pod -- /bin/bash&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl port-forward &amp;lt;pod-name&amp;gt; &amp;lt;local-port&amp;gt;:&amp;lt;pod-port&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Forward pod port to local&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl port-forward nginx-pod 8080:80&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Deployment Operations
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get deployments&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List all deployments&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get deploy&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl describe deployment &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show deployment details&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl describe deploy nginx-deploy&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl create deployment &amp;lt;name&amp;gt; --image=&amp;lt;image&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create a deployment&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl create deploy nginx --image=nginx&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl scale deployment &amp;lt;name&amp;gt; --replicas=&amp;lt;count&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Scale a deployment&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl scale deploy nginx --replicas=5&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl rollout status deployment &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Check rollout status&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl rollout status deploy nginx&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl rollout history deployment &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;View rollout history&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl rollout history deploy nginx&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl rollout undo deployment &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Rollback deployment&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl rollout undo deploy nginx&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl rollout restart deployment &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Restart deployment (for image refresh)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl rollout restart deploy nginx&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl set image deployment/&amp;lt;name&amp;gt; &amp;lt;container&amp;gt;=&amp;lt;image&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Update container image&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl set image deployment/nginx nginx=nginx:latest&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl delete deployment &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Delete a deployment&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl delete deploy nginx&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Service Operations
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get services&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List all services&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get svc&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl describe service &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show service details&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl describe svc nginx-service&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl expose deployment &amp;lt;name&amp;gt; --port=&amp;lt;port&amp;gt; --type=&amp;lt;type&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create a service for deployment&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl expose deploy nginx --port=80 --type=LoadBalancer&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl delete service &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Delete a service&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl delete svc nginx-service&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  ConfigMap and Secret Operations
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get configmaps&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List all configmaps&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get cm&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get secrets&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List all secrets&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get secrets&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl create configmap &amp;lt;name&amp;gt; --from-file=&amp;lt;path&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create configmap from file&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl create cm app-config --from-file=config.properties&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl create configmap &amp;lt;name&amp;gt; --from-literal=&amp;lt;key&amp;gt;=&amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create configmap from literal&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl create cm app-config --from-literal=api.url=https://api.example.com&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl create secret generic &amp;lt;name&amp;gt; --from-literal=&amp;lt;key&amp;gt;=&amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create secret from literal&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl create secret generic db-creds --from-literal=password=s3cr3t&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl describe configmap &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show configmap details&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl describe cm app-config&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl describe secret &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show secret details&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl describe secret db-creds&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Persistent Volume Operations
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get persistentvolumes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List persistent volumes&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pv&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get persistentvolumeclaims&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List persistent volume claims&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pvc&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl describe persistentvolumeclaim &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show PVC details&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl describe pvc mysql-pvc&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl delete persistentvolumeclaim &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Delete a PVC&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl delete pvc mysql-pvc&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Node Operations
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get nodes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List all nodes&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get nodes&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl describe node &amp;lt;node-name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show node details&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl describe node worker-1&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl cordon &amp;lt;node-name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mark node as unschedulable&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl cordon worker-1&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl uncordon &amp;lt;node-name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mark node as schedulable&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl uncordon worker-1&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl drain &amp;lt;node-name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Drain node in preparation for maintenance&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl drain worker-1 --ignore-daemonsets&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl taint nodes &amp;lt;node-name&amp;gt; &amp;lt;key&amp;gt;=&amp;lt;value&amp;gt;:&amp;lt;effect&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Add a taint to node&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl taint nodes worker-1 gpu=true:NoSchedule&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Resource Management
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl top nodes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show CPU/Memory usage for nodes&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl top nodes&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl top pods&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show CPU/Memory usage for pods&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl top pods&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get events&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show events in the cluster&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get events&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get all&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show all resources&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get all&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  YAML Generation
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl create deployment &amp;lt;name&amp;gt; --image=&amp;lt;image&amp;gt; --dry-run=client -o yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Generate deployment YAML&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl create deploy nginx --image=nginx --dry-run=client -o yaml &amp;gt; deploy.yaml&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl run &amp;lt;name&amp;gt; --image=&amp;lt;image&amp;gt; --dry-run=client -o yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Generate pod YAML&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl run nginx --image=nginx --dry-run=client -o yaml &amp;gt; pod.yaml&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl expose deployment &amp;lt;name&amp;gt; --port=&amp;lt;port&amp;gt; --dry-run=client -o yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Generate service YAML&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl expose deploy nginx --port=80 --dry-run=client -o yaml &amp;gt; svc.yaml&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Apply and Diff
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl apply -f &amp;lt;file.yaml&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create/update resource from file&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl apply -f deploy.yaml&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl apply -f &amp;lt;directory&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create/update from all files in directory&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl apply -f ./configs&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl diff -f &amp;lt;file.yaml&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show difference with live configuration&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl diff -f deploy.yaml&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl delete -f &amp;lt;file.yaml&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Delete resources from file&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl delete -f deploy.yaml&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Context Switching
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl config get-contexts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List all contexts&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl config get-contexts&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl config current-context&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show current context&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl config current-context&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl config use-context &amp;lt;context&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Switch to context&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl config use-context prod-cluster&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl config rename-context &amp;lt;old&amp;gt; &amp;lt;new&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Rename context&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl config rename-context gke_proj_zone_name prod&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Common Flags
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Flag&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-n, --namespace&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Specify namespace&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods -n kube-system&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-A, --all-namespaces&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;All namespaces&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods -A&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-o, --output&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Output format (yaml/json/wide/custom)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pod nginx -o yaml&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--watch, -w&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Watch for changes&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods -w&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--selector, -l&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Filter by label&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods -l app=nginx&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--field-selector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Filter by field&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods --field-selector status.phase=Running&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--sort-by&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sort output&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get pods --sort-by=.metadata.creationTimestamp&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Advanced Operations
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl auth can-i &amp;lt;verb&amp;gt; &amp;lt;resource&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Check permissions&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl auth can-i create deployments&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl explain &amp;lt;resource&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Get documentation&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl explain pods.spec.containers&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl get componentstatuses&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Check component health&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl get cs&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl wait --for=condition=&amp;lt;condition&amp;gt; &amp;lt;resource&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Wait for condition&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl wait --for=condition=Ready pod/nginx&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl patch &amp;lt;resource&amp;gt; &amp;lt;name&amp;gt; -p '&amp;lt;patch&amp;gt;'&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Patch resource&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl patch deploy nginx -p '{"spec":{"replicas":3}}'&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kubectl kustomize &amp;lt;dir&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Print kustomization&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kubectl kustomize ./overlay/dev&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Helm Command Cheatsheet 2025</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Mon, 24 Feb 2025 07:34:38 +0000</pubDate>
      <link>https://dev.to/kubefeeds/helm-command-cheatsheet-2025-f7b</link>
      <guid>https://dev.to/kubefeeds/helm-command-cheatsheet-2025-f7b</guid>
      <description>&lt;p&gt;Celebrating 10 years of Helm...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://helm.sh" rel="noopener noreferrer"&gt;Helm&lt;/a&gt; is a tool for managing Charts. Charts are packages of pre-configured Kubernetes resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Use Cases
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Find and use popular software packaged as Helm Charts to run in Kubernetes&lt;/li&gt;
&lt;li&gt;Share your own applications as Helm Charts&lt;/li&gt;
&lt;li&gt;Create reproducible builds of your Kubernetes applications&lt;/li&gt;
&lt;li&gt;Intelligently manage your Kubernetes manifest files&lt;/li&gt;
&lt;li&gt;Manage releases of Helm packages&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Popularity &amp;amp; Stats
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;24.1K+ GitHub Stars&lt;/li&gt;
&lt;li&gt;7.2K+ Forks&lt;/li&gt;
&lt;li&gt;1000+ Contributors&lt;/li&gt;
&lt;li&gt;40K+ Weekly Docker Downloads&lt;/li&gt;
&lt;li&gt;Used by 65% of Kubernetes users (CNCF Survey 2023)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This cheatsheet provides a quick reference for common Helm commands and configurations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic Commands
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm create mychart&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Initialize a new Helm chart&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm install release-name chart-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Install a chart&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm install release-name chart-name --namespace my-namespace&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Install a chart in specific namespace&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm install release-name chart-name --values values.yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Install with custom values&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm upgrade release-name chart-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Upgrade a release&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm upgrade --install release-name chart-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Install or upgrade if exists&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm rollback release-name revision-number&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Rollback to a previous version&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List all releases&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm ls --all-namespaces&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List releases across all namespaces&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm ls -n namespace&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List releases in a namespace&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm uninstall release-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Uninstall a release&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Repository Management
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm repo add repo-name repo-url&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Add a repository&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm repo update&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Update repositories&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm repo list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List repositories&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm repo remove repo-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Remove a repository&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm search repo chart-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Search in repositories&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm search hub chart-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Search in Artifact Hub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Chart Management
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm package chart-path/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Package a chart&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm lint chart-path/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Verify chart&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm show chart chart-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show chart details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm show values chart-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show chart values&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm show all chart-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show all chart information&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm pull repo-name/chart-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Pull a chart&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm pull repo-name/chart-name --untar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Pull and extract a chart&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Testing and Debugging
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm install release-name chart-name --dry-run --debug&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Test installation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm get manifest release-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Get manifest&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm get values release-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Get release values&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm history release-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Get release history&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm status release-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Get release status&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Template Commands
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm template release-name chart-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Render templates locally&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm template release-name chart-name --values values.yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Render with values&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm lint chart-path/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Validate templates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm get manifest release-name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show computed templates&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Dependencies
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm dependency update chart-path/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Update dependencies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm dependency list chart-path/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List dependencies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm dependency build chart-path/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Build dependencies&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Chart Structure
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File/Directory&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Chart.yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Chart metadata&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;values.yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Default values&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;values.schema.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Values schema&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;charts/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Chart dependencies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;templates/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Template files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;templates/NOTES.txt&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Usage notes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;templates/_helpers.tpl&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Named templates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;templates/deployment.yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kubernetes manifests&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Environment Values
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm install -f values-dev.yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Install with dev values&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm install -f values-prod.yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Install with prod values&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;helm install -f values.yaml -f values-prod.yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Install with multiple values&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Common Configuration Values
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;replicaCount&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Number of replicas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;image.repository&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Container image repository&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;image.tag&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Container image tag&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;image.pullPolicy&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Image pull policy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;service.type&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Service type&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;service.port&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Service port&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;resources.limits&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource limits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;resources.requests&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource requests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ingress.enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Enable ingress&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ingress.className&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Ingress class&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Further Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://kubefeeds.com" rel="noopener noreferrer"&gt;All Things Kubernetes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>help</category>
      <category>kubernetes</category>
      <category>docker</category>
    </item>
    <item>
      <title>Why Kubernetes in 2025? The Evolution of Cloud Native Orchestration</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Sun, 23 Feb 2025 07:28:47 +0000</pubDate>
      <link>https://dev.to/kubefeeds/why-kubernetes-in-2025-the-evolution-of-cloud-native-orchestration-c04</link>
      <guid>https://dev.to/kubefeeds/why-kubernetes-in-2025-the-evolution-of-cloud-native-orchestration-c04</guid>
      <description>&lt;p&gt;In 2025, Kubernetes has evolved far beyond its original container orchestration roots to become a comprehensive cloud-native platform. Let's dive deep into why Kubernetes remains the de facto standard for modern infrastructure management and what new capabilities make it indispensable.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. AI/ML Workload Orchestration
&lt;/h2&gt;

&lt;p&gt;Kubernetes has become the primary platform for AI/ML workload orchestration through several key advancements:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: scheduling.k8s.io/v1
kind: GPUPolicy
metadata:
  name: ai-workload
spec:
  resourceAllocation:
    mode: "dynamic"
    minGPUs: 2
    maxGPUs: 8
  powerManagement:
    autoScale: true
    sustainabilityTarget: "efficient"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Native GPU sharing and fractional allocation&lt;/li&gt;
&lt;li&gt;Dynamic resource scaling based on model inference demands&lt;/li&gt;
&lt;li&gt;Built-in distributed training coordination&lt;/li&gt;
&lt;li&gt;Automated model serving with version control&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. WebAssembly Integration
&lt;/h2&gt;

&lt;p&gt;The integration of WebAssembly brings near-native performance with enhanced security:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Pod
metadata:
  name: wasm-workload
spec:
  runtimeClass:
    name: wasmtime-v2
  containers:
  - name: wasm-app
    image: registry.example.com/wasm-app:v1
    wasmFeatures:
      - shared-memory
      - simd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Benefits include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduced container startup time (microseconds vs seconds)&lt;/li&gt;
&lt;li&gt;Smaller deployment footprints&lt;/li&gt;
&lt;li&gt;Enhanced isolation boundaries&lt;/li&gt;
&lt;li&gt;Cross-platform compatibility&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Advanced Service Mesh Capabilities
&lt;/h2&gt;

&lt;p&gt;Modern service mesh implementations provide:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: networking.k8s.io/v1
kind: ServiceMeshPolicy
metadata:
  name: mesh-config
spec:
  protocol: 
    - QUIC
    - HTTP/3
  security:
    mTLS: required
    certificateRotation: 24h
  observability:
    tracing: opentelemetry
    metrics: prometheus
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;HTTP/3 and QUIC protocol support&lt;/li&gt;
&lt;li&gt;Automated certificate management&lt;/li&gt;
&lt;li&gt;Advanced traffic shaping&lt;/li&gt;
&lt;li&gt;Real-time performance optimization&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Sustainability Features
&lt;/h2&gt;

&lt;p&gt;Kubernetes now includes built-in sustainability metrics:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: metrics.k8s.io/v1
kind: ResourceEfficiency
metadata:
  name: sustainability-metrics
spec:
  measurements:
    - carbonFootprint
    - powerConsumption
    - resourceUtilization
  targets:
    carbonFootprint: "50g/hour"
    powerEfficiency: "90%"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Carbon footprint tracking&lt;/li&gt;
&lt;li&gt;Power consumption optimization&lt;/li&gt;
&lt;li&gt;Resource efficiency metrics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Green scheduling algorithms&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Enhanced Security Controls
&lt;/h2&gt;

&lt;p&gt;Security has evolved with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: security.k8s.io/v1
kind: SecurityPolicy
metadata:
  name: enhanced-security
spec:
  runtime:
    seccompProfile: "restricted"
    seLinuxOptions: "enforcing"
  network:
    encryption: "always"
    firewallRules:
      - allowedPorts: [80, 443]
      - allowedProtocols: ["TCP"]

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

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Zero-trust networking by default&lt;/li&gt;
&lt;li&gt;Automated vulnerability scanning&lt;/li&gt;
&lt;li&gt;Real-time threat detection&lt;/li&gt;
&lt;li&gt;Supply chain security&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Cloud Native Development Tooling&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Development experience improvements include:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: dev.k8s.io/v1
kind: DevEnvironment
metadata:
  name: dev-setup
spec:
  ide:
    type: vscode
    extensions:
      - kubernetes-tools
      - debugger
  environmentSync:
    mode: "real-time"
    excludePaths: ["node_modules", "*.log"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Integrated development environments&lt;/li&gt;
&lt;li&gt;Hot reload capabilities&lt;/li&gt;
&lt;li&gt;Debug-in-production features&lt;/li&gt;
&lt;li&gt;GitOps workflow automation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://kubefeeds.com/why-kubernetes-in-2025-the-evolution-of-cloud-native-orchestration/" rel="noopener noreferrer"&gt;Read the complete blog&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubefeeds</category>
      <category>kubernetes</category>
      <category>docker</category>
    </item>
    <item>
      <title>What is Kubernetes in Plain English?</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Sat, 25 Jan 2025 06:29:45 +0000</pubDate>
      <link>https://dev.to/kubefeeds/what-is-kubernetes-in-plain-english-1p29</link>
      <guid>https://dev.to/kubefeeds/what-is-kubernetes-in-plain-english-1p29</guid>
      <description>&lt;p&gt;Kubernetes is like the event manager for a festival of food trucks (your applications). Each food truck serves a specific dish (your services) to visitors (your users). Without proper management, things could get messy quickly. That’s where Kubernetes comes in.&lt;/p&gt;

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

&lt;p&gt;Kubernetes acts as the manager to ensure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All food trucks are open and ready to serve customers.&lt;/li&gt;
&lt;li&gt;New food trucks are added when the crowd grows (scaling up).&lt;/li&gt;
&lt;li&gt;Extra trucks are sent away when the crowd shrinks (scaling down).&lt;/li&gt;
&lt;li&gt;If a truck breaks down, it’s replaced immediately (self-healing).
Visitors are guided to the right truck without getting lost (networking).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Does Kubernetes Do?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Automates Deployment: Think of it as auto-assigning food trucks to festival zones without manual intervention.&lt;/li&gt;
&lt;li&gt;Self-Healing: If a food truck closes, Kubernetes ensures another truck steps in without disrupting the festival.&lt;/li&gt;
&lt;li&gt;Scaling: If the crowd suddenly grows, more food trucks appear to handle the rush.&lt;/li&gt;
&lt;li&gt;Load Balancing: Ensures the crowds are evenly distributed across all food trucks. No single truck is overwhelmed.&lt;/li&gt;
&lt;li&gt;Efficient Resource Use: No idle trucks—each one is always doing something productive.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Do We Need Kubernetes?
&lt;/h2&gt;

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

&lt;p&gt;Without Kubernetes, managing a large-scale festival (applications) is chaotic. Imagine handling hundreds of food trucks spread across multiple cities without a centralized manager—it would be impossible to keep track of everything!&lt;/p&gt;

&lt;p&gt;Kubernetes brings order to the chaos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It ensures food trucks (applications) run smoothly and efficiently.&lt;/li&gt;
&lt;li&gt;Businesses can focus on delivering delicious food (services) to - customers, rather than worrying about logistical headaches.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://kubefeeds.com/what-is-kubernetes-in-plain-english/" rel="noopener noreferrer"&gt;Read the complete blog&lt;/a&gt;&lt;/p&gt;

</description>
      <category>containers</category>
      <category>kubernetes</category>
      <category>docker</category>
    </item>
    <item>
      <title>Understanding Kubernetes Volume Types (EmptyDir, ConfigMap, Secret, HostPath)</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Tue, 07 Jan 2025 09:55:04 +0000</pubDate>
      <link>https://dev.to/kubefeeds/understanding-kubernetes-volume-types-emptydir-configmap-secret-hostpath-2n4k</link>
      <guid>https://dev.to/kubefeeds/understanding-kubernetes-volume-types-emptydir-configmap-secret-hostpath-2n4k</guid>
      <description>&lt;p&gt;Kubernetes volumes provide a way for containers running in Pods to access and share data. Each volume type in Kubernetes serves a specific purpose, enabling different use cases such as temporary storage, configuration management, secret handling, or mounting host directories.&lt;/p&gt;

&lt;p&gt;This article explores key Kubernetes volume types: EmptyDir, ConfigMap, Secret, and HostPath.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. EmptyDir Volume
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Overview
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An EmptyDir volume is created when a Pod is assigned to a node and lasts as long as the Pod runs.&lt;/li&gt;
&lt;li&gt;It provides temporary storage that is initially empty.&lt;/li&gt;
&lt;li&gt;Commonly used for temporary scratch space or data sharing between containers in the same Pod.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Data is deleted when the Pod is deleted or moved to another node.&lt;/li&gt;
&lt;li&gt;Can use memory-backed storage for faster performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example: EmptyDir Volume
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Pod
metadata:
  name: emptydir-pod
spec:
  containers:
  - name: app-container
    image: busybox
    command: ["sh", "-c", "echo Hello &amp;gt; /data/hello.txt; sleep 3600"]
    volumeMounts:
    - mountPath: /data
      name: temp-storage
  volumes:
  - name: temp-storage
    emptyDir: {}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. ConfigMap Volume
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Overview
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A ConfigMap volume allows injecting configuration data into a Pod as files or environment variables.&lt;/li&gt;
&lt;li&gt;Useful for decoupling configuration from application code.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Data is stored in Kubernetes ConfigMaps and mounted as files or directories.&lt;/li&gt;
&lt;li&gt;Changes to the ConfigMap can propagate to running Pods.
Example: ConfigMap Volume&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Create a ConfigMap:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   kubectl create configmap app-config --from-literal=app.name=MyApp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Mount the ConfigMap:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   apiVersion: v1
   kind: Pod
   metadata:
     name: configmap-pod
   spec:
     containers:
     - name: app-container
       image: busybox
       command: ["sh", "-c", "cat /config/app.name; sleep 3600"]
       volumeMounts:
       - mountPath: /config
         name: config-volume
     volumes:
     - name: config-volume
       configMap:
         name: app-config
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Secret Volume
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Overview
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A Secret volume securely provides sensitive data like passwords, tokens, or keys to Pods.&lt;/li&gt;
&lt;li&gt;Data is encrypted at rest and mounted as files or injected as environment variables.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Built-in security for sensitive data.&lt;/li&gt;
&lt;li&gt;Supports base64-encoded strings.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example: Secret Volume
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Create a Secret:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl create secret generic app-secret --from-literal=api-key=12345
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Mount the Secret:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  apiVersion: v1
   kind: Pod
   metadata:
     name: secret-pod
   spec:
     containers:
     - name: app-container
       image: busybox
       command: ["sh", "-c", "cat /secrets/api-key; sleep 3600"]
       volumeMounts:
       - mountPath: /secrets
         name: secret-volume
     volumes:
     - name: secret-volume
       secret:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://kubefeeds.com" rel="noopener noreferrer"&gt;Read the complete blog&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>k8s</category>
      <category>containers</category>
      <category>devops</category>
    </item>
    <item>
      <title>Top 5 Reasons Why You Must Join the Kubefeeds Slack Channel</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Tue, 31 Dec 2024 07:15:54 +0000</pubDate>
      <link>https://dev.to/kubefeeds/top-5-reasons-why-you-must-join-the-kubefeeds-slack-channel-3n6a</link>
      <guid>https://dev.to/kubefeeds/top-5-reasons-why-you-must-join-the-kubefeeds-slack-channel-3n6a</guid>
      <description>&lt;p&gt;Are you passionate about Kubernetes, cloud-native technologies, and staying ahead in the DevOps world? If so, &lt;a href="https://join.slack.com/t/kubefeeds/shared_invite/zt-2wlos6j7l-4CuCaQS6vDHiuHCrFTzytQ" rel="noopener noreferrer"&gt;the Kubefeeds Slack Channel&lt;/a&gt; is the community space you didn’t know you needed. Packed with insights, collaboration opportunities, and real-time updates, this Slack channel is the perfect resource for Kubernetes enthusiasts and professionals alike.&lt;/p&gt;

&lt;p&gt;Here are the top 5 reasons why you should join the Kubefeeds Slack Channel today:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Exclusive Kubernetes Insights
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://kubefeeds.com" rel="noopener noreferrer"&gt;Kubefeeds&lt;/a&gt; Slack Channel is a goldmine of Kubernetes-related knowledge. Whether you’re a beginner trying to wrap your head around container orchestration or a seasoned pro looking for the latest trends, this community has something for everyone:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time discussions on Kubernetes features, releases, and updates.&lt;/li&gt;
&lt;li&gt;Deep dives into Kubernetes architecture and best practices.&lt;/li&gt;
&lt;li&gt;Tips and tricks shared by Kubernetes veterans.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By joining, you gain access to curated insights that go beyond what you’ll find in documentation or blogs.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Connect with Industry Experts
&lt;/h2&gt;

&lt;p&gt;Kubefeeds isn’t just another Slack channel; it’s a thriving community of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kubernetes maintainers and contributors.&lt;/li&gt;
&lt;li&gt;Cloud architects and DevOps professionals.&lt;/li&gt;
&lt;li&gt;Developers from leading organizations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll have direct access to industry experts who actively shape the Kubernetes ecosystem. Engage in discussions, ask questions, and receive advice from some of the brightest minds in the field.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Stay Ahead with Real-Time Updates
&lt;/h2&gt;

&lt;p&gt;Keeping up with Kubernetes can be overwhelming, given its rapid development and frequent updates. Kubefeeds simplifies this by providing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instant notifications about Kubernetes releases and patches.&lt;/li&gt;
&lt;li&gt;Updates from Kubernetes Special Interest Groups (SIGs).&lt;/li&gt;
&lt;li&gt;Early access to breaking news and announcements in the cloud-native world.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This ensures you’re always informed and prepared to implement the latest features and fixes.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Solve Problems Collaboratively
&lt;/h2&gt;

&lt;p&gt;Troubleshooting Kubernetes issues can feel like solving a puzzle in the dark. Kubefeeds offers a platform where you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Share your challenges and get solutions from the community.&lt;/li&gt;
&lt;li&gt;Collaborate on Kubernetes projects with other members.&lt;/li&gt;
&lt;li&gt;Discover tools, scripts, and utilities that simplify Kubernetes management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With collective problem-solving, you’ll save time and gain valuable insights into handling complex scenarios.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Expand Your Network
&lt;/h2&gt;

&lt;p&gt;In the tech world, networking is everything. The Kubefeeds Slack Channel is a gateway to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building professional relationships with like-minded individuals.&lt;/li&gt;
&lt;li&gt;Finding mentors to guide your Kubernetes journey.&lt;/li&gt;
&lt;li&gt;Exploring job opportunities in the Kubernetes and cloud-native space.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you’re looking to grow your career or contribute to open-source projects, the connections you make here will be invaluable.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Join the Kubefeeds Slack Channel
&lt;/h2&gt;

&lt;p&gt;Getting started is simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visit the Kubefeeds website or the official Kubernetes Slack workspace.&lt;/li&gt;
&lt;li&gt;Sign up or log in to Slack.&lt;/li&gt;
&lt;li&gt;Search for the "Kubefeeds" channel and join the conversation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The Kubefeeds Slack Channel is more than just a communication platform; it’s a vibrant community that empowers its members to learn, share, and grow. By joining, you’re not just staying updated—you’re becoming part of the Kubernetes movement.&lt;/p&gt;

&lt;p&gt;Don’t miss out on this incredible opportunity. Join the Kubefeeds Slack Channel today and take your Kubernetes journey to the next level!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://join.slack.com/t/kubefeeds/shared_invite/zt-2wlos6j7l-4CuCaQS6vDHiuHCrFTzytQ" rel="noopener noreferrer"&gt;Here's the direct link to join&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Observability in 2025: OpenTelemetry and AI to Fill In Gaps</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Tue, 31 Dec 2024 07:04:27 +0000</pubDate>
      <link>https://dev.to/kubefeeds/observability-in-2025-opentelemetry-and-ai-to-fill-in-gaps-4bpm</link>
      <guid>https://dev.to/kubefeeds/observability-in-2025-opentelemetry-and-ai-to-fill-in-gaps-4bpm</guid>
      <description>&lt;p&gt;By 2025, observability has evolved beyond the traditional three pillars (metrics, logs, and traces) to include AI-driven analysis and automated remediation. OpenTelemetry has become the de facto standard for instrumentation, while AI fills observability gaps that were previously impossible to bridge.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Advanced OpenTelemetry Implementation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: opentelemetry.io/v1alpha1
kind: Instrumentation
metadata:
  name: advanced-telemetry
spec:
  sampler:
    type: adaptive
    configuration:
      target_samples_per_second: 1000
      error_sampling_rate: 1.0
  propagators:
    - w3c
    - b3
    - jaeger
  exporters:
    - type: otlp
      endpoint: collector:4317
      compression: gzip
      ai_processing: enabled
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Key Features:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Adaptive sampling based on system load&lt;/li&gt;
&lt;li&gt;Automatic context propagation&lt;/li&gt;
&lt;li&gt;AI-enhanced data collection&lt;/li&gt;
&lt;li&gt;Resource attribute automation&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  2. AI-Driven Correlation Engine
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Example AI Correlation Configuration
correlation_config = {
    "model_type": "transformer",
    "input_sources": [
        "distributed_traces",
        "metrics",
        "logs",
        "infrastructure_events"
    ],
    "correlation_window": "5m",
    "confidence_threshold": 0.85,
    "learning_mode": "continuous"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Capabilities:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Automatic pattern recognition&lt;/li&gt;
&lt;li&gt;Cross-service dependency mapping&lt;/li&gt;
&lt;li&gt;Causality inference&lt;/li&gt;
&lt;li&gt;Real-time correlation updates&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  3. Intelligent Gap Detection
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "gap_detection": {
    "instrumentation_coverage": {
      "enabled": true,
      "min_coverage": 0.95,
      "auto_instrument": true
    },
    "data_quality": {
      "completeness_check": true,
      "consistency_validation": true,
      "cardinality_monitoring": true
    },
    "remediation": {
      "auto_fix": ["missing_attributes", "broken_context"],
      "notification_threshold": "warning"
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Features:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Automated instrumentation gap detection&lt;/li&gt;
&lt;li&gt;Data quality monitoring&lt;/li&gt;
&lt;li&gt;Context completeness verification&lt;/li&gt;
&lt;li&gt;Automatic remediation suggestions&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  4. Predictive Anomaly Detection
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;anomaly_config = {
    "detection_methods": [
        "isolation_forest",
        "lstm_autoencoder",
        "transformer_based"
    ],
    "baseline_period": "7d",
    "prediction_window": "1h",
    "sensitivity": 0.8,
    "auto_threshold": True
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Capabilities:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Multi-dimensional anomaly detection&lt;/li&gt;
&lt;li&gt;Predictive resource scaling&lt;/li&gt;
&lt;li&gt;Performance degradation forecasting&lt;/li&gt;
&lt;li&gt;Automated baseline adjustment&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  5. Context-Aware Root Cause Analysis
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;root_cause_analysis:
  enabled: true
  features:
    topology_analysis: true
    performance_impact: true
    change_correlation: true
    dependency_mapping: true
  ai_model:
    type: graph_neural_network
    update_frequency: 1h
    confidence_threshold: 0.9
  automation:
    suggested_fixes: true
    auto_remediation: controlled
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Features:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Automated topology mapping&lt;/li&gt;
&lt;li&gt;Impact analysis&lt;/li&gt;
&lt;li&gt;Change correlation&lt;/li&gt;
&lt;li&gt;ML-based cause identification&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  6. Intelligent Data Management
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data_management": {
    "retention": {
      "metrics": {
        "hot_storage": "7d",
        "warm_storage": "30d",
        "cold_storage": "1y"
      },
      "traces": {
        "sampling_strategy": "adaptive",
        "importance_based_retention": true
      }
    },
    "compression": {
      "algorithm": "contextual",
      "ratio_target": 10
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;ol&gt;
&lt;li&gt;Smart data retention&lt;/li&gt;
&lt;li&gt;Contextual compression&lt;/li&gt;
&lt;li&gt;Importance-based sampling&lt;/li&gt;
&lt;li&gt;Automated data lifecycle&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  7. Real-time Visualization and Analysis
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
interface VisualizationConfig {&lt;br&gt;
  realtime_processing: {&lt;br&gt;
    window_size: string;&lt;br&gt;
    update_frequency: string;&lt;br&gt;
    aggregation_level: "auto" | "custom";&lt;br&gt;
  };&lt;br&gt;
  ai_features: {&lt;br&gt;
    pattern_highlighting: boolean;&lt;br&gt;
    anomaly_visualization: boolean;&lt;br&gt;
    predictive_indicators: boolean;&lt;br&gt;
  };&lt;br&gt;
  interaction: {&lt;br&gt;
    drill_down: boolean;&lt;br&gt;
    context_aware_filtering: boolean;&lt;br&gt;
    automated_insights: boolean;&lt;br&gt;
  };&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;`&lt;/p&gt;

&lt;h2&gt;
  
  
  Features:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Real-time data processing&lt;/li&gt;
&lt;li&gt;AI-driven insights&lt;/li&gt;
&lt;li&gt;Interactive exploration&lt;/li&gt;
&lt;li&gt;Automated reporting&lt;/li&gt;
&lt;li&gt;Implementation Best Practices&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Deployment Strategy:
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
deployment:&lt;br&gt;
  phase1:&lt;br&gt;
    - Basic OpenTelemetry instrumentation&lt;br&gt;
    - Core AI model training&lt;br&gt;
    - Initial gap analysis&lt;br&gt;
  phase2:&lt;br&gt;
    - Advanced correlation&lt;br&gt;
    - Automated remediation&lt;br&gt;
    - Full AI integration&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Scaling Considerations:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Horizontal scaling for collectors&lt;/li&gt;
&lt;li&gt;Distributed AI processing&lt;/li&gt;
&lt;li&gt;Edge computing integration&lt;/li&gt;
&lt;li&gt;Resource optimization&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>How to Secure Kubernetes Clusters with RBAC, Network Policies, and Encryption</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Tue, 31 Dec 2024 07:02:00 +0000</pubDate>
      <link>https://dev.to/kubefeeds/how-to-secure-kubernetes-clusters-with-rbac-network-policies-and-encryption-1fc7</link>
      <guid>https://dev.to/kubefeeds/how-to-secure-kubernetes-clusters-with-rbac-network-policies-and-encryption-1fc7</guid>
      <description>&lt;p&gt;Securing Kubernetes clusters is critical to protect your applications, data, and infrastructure. Kubernetes offers a variety of built-in security mechanisms, including Role-Based Access Control (RBAC), Network Policies, and Encryption. Each of these tools addresses specific security aspects of the cluster, ensuring a layered approach to security.&lt;/p&gt;

&lt;p&gt;This article explains how to implement these mechanisms effectively in Kubernetes clusters.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Role-Based Access Control (RBAC)
&lt;/h2&gt;

&lt;p&gt;RBAC controls access to Kubernetes resources based on roles and the permissions assigned to them. It uses the principle of least privilege, ensuring that users and applications only have the permissions they need to function.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key RBAC Components
&lt;/h2&gt;

&lt;p&gt;Roles and ClusterRoles: Define permissions at the namespace level (Role) or cluster-wide (ClusterRole).&lt;br&gt;
RoleBindings and ClusterRoleBindings: Assign roles to users, groups, or service accounts.&lt;/p&gt;
&lt;h2&gt;
  
  
  Implementing RBAC
&lt;/h2&gt;
&lt;h2&gt;
  
  
  Create a Role:
&lt;/h2&gt;

&lt;p&gt;A Role grants access to specific resources in a namespace. Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   apiVersion: rbac.authorization.k8s.io/v1
   kind: Role
   metadata:
     namespace: default
     name: pod-reader
   rules:
   - apiGroups: [""]
     resources: ["pods"]
     verbs: ["get", "watch", "list"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create a RoleBinding:
&lt;/h2&gt;

&lt;p&gt;A RoleBinding associates a role with a user, group, or service account.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   apiVersion: rbac.authorization.k8s.io/v1
   kind: RoleBinding
   metadata:
     name: read-pods
     namespace: default
   subjects:
   - kind: User
     name: jane
     apiGroup: rbac.authorization.k8s.io
   roleRef:
     kind: Role
     name: pod-reader
     apiGroup: rbac.authorization.k8s.io
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Use ClusterRole and ClusterRoleBinding:
&lt;/h2&gt;

&lt;p&gt;For cluster-wide access, use ClusterRole and ClusterRoleBinding. Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   apiVersion: rbac.authorization.k8s.io/v1
   kind: ClusterRole
   metadata:
     name: node-reader
   rules:
   - apiGroups: [""]
     resources: ["nodes"]
     verbs: ["get", "list"]
   apiVersion: rbac.authorization.k8s.io/v1
   kind: ClusterRoleBinding
   metadata:
     name: read-nodes
   subjects:
   - kind: User
     name: john
     apiGroup: rbac.authorization.k8s.io
   roleRef:
     kind: ClusterRole
     name: node-reader
     apiGroup: rbac.authorization.k8s.io
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Network Policies
&lt;/h2&gt;

&lt;p&gt;Network Policies are used to control communication between Pods and other network endpoints in the cluster. They define rules for ingress (incoming) and egress (outgoing) traffic at the Pod level.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;p&gt;Allow or deny traffic to/from Pods based on labels.&lt;br&gt;
Restrict communication within the cluster and from external sources.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kubefeeds.com/how-to-secure-kubernetes-clusters-with-rbac-network-policies-and-encryption/" rel="noopener noreferrer"&gt;Read the complete story&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Let's Talk About the Kubernetes Source Code</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Tue, 31 Dec 2024 06:28:59 +0000</pubDate>
      <link>https://dev.to/kubefeeds/lets-talk-about-the-kubernetes-source-code-14d3</link>
      <guid>https://dev.to/kubefeeds/lets-talk-about-the-kubernetes-source-code-14d3</guid>
      <description>&lt;p&gt;Kubernetes is everywhere these days. It's the go-to tool for managing containers and has become a staple in modern cloud infrastructure. But for those diving into the codebase, it can feel like stepping into a labyrinth. Let’s break it down and talk about what makes Kubernetes tick—its repository, the branching strategy, and tips for understanding the code.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Inside the Kubernetes Repository?
&lt;/h2&gt;

&lt;p&gt;First things first: the Kubernetes code lives on GitHub. It’s the hub for everything—code, issues, and releases.&lt;/p&gt;

&lt;p&gt;Here are some cool stats about the repo in 2024:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stars: Over 120,000 (yes, it’s that popular!).&lt;/li&gt;
&lt;li&gt;Forks: More than 45,000.&lt;/li&gt;
&lt;li&gt;Contributors: An amazing 5,500+ people from all over the world.&lt;/li&gt;
&lt;li&gt;Commits: A whopping 250,000+ commits, keeping the project alive and evolving.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The repo is also governed by the Cloud Native Computing Foundation (CNCF), which ensures that it’s in good hands.&lt;/p&gt;

&lt;h2&gt;
  
  
  Repo Structure
&lt;/h2&gt;

&lt;p&gt;Kubernetes is big, so its code is well-organized:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cmd/: Where entry points for binaries like kubelet and kubectl live.&lt;/li&gt;
&lt;li&gt;pkg/: Shared reusable code.&lt;/li&gt;
&lt;li&gt;staging/: Temporary staging ground for dependencies.&lt;/li&gt;
&lt;li&gt;test/: Everything testing—unit, integration, end-to-end.&lt;/li&gt;
&lt;li&gt;docs/: Some documentation, though most of it’s moved to a separate docs repo.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Branching Strategy: Keeping It All Together
&lt;/h2&gt;

&lt;p&gt;Kubernetes’ branching strategy is what keeps development smooth, even with so many contributors.&lt;/p&gt;

&lt;h2&gt;
  
  
  Main Branches
&lt;/h2&gt;

&lt;h3&gt;
  
  
  main Branch:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This is where active development happens.&lt;/li&gt;
&lt;li&gt;Breaking changes? Yep, they can live here.&lt;/li&gt;
&lt;li&gt;Protected with strict PR reviews and tests.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Release Branches (release-x.y):
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Dedicated to minor versions, e.g., release-1.28.&lt;/li&gt;
&lt;li&gt;Maintained by the release team for patches and updates.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Feature Branches:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Experimental features live here.&lt;/li&gt;
&lt;li&gt;Typically created in personal forks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Pull Request Workflow
&lt;/h2&gt;

&lt;p&gt;Contributing? Here’s the drill:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fork the Kubernetes repo and clone it locally:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/&amp;lt;your-username&amp;gt;/kubernetes.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Create a feature branch:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout -b feature-xyz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Develop and test your code using:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;make test
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Submit your PR to the main branch or a release branch.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wait for reviews and CI tests to pass.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once approved, your PR is merged (usually via squash merges).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Releases and Support
&lt;/h2&gt;

&lt;p&gt;Kubernetes has a quarterly release cycle with four minor updates each year. It maintains support for the three most recent versions, ensuring stability with backported fixes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cracking the Code: Techniques to Understand Kubernetes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Start with kubectl&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The CLI tool kubectl is a great entry point to the codebase. For instance, the kubectl create -f command reads a YAML file and creates a resource.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Entry Point: Look for subcommands in the kubernetes/kubectl repo under pkg/cmd/.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Builders and Visitors
&lt;/h2&gt;

&lt;p&gt;Kubernetes makes heavy use of design patterns like Builders and Visitors. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Builder Pattern: Chains methods to set up complex objects step-by-step.&lt;/li&gt;
&lt;li&gt;Visitor Pattern: Walks through resources for processing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example code snippet for a Builder:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;func (b *Builder) Flatten() *Builder {
  b.flatten = true
  return b
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Debugging Tips
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Print Statements: Add fmt.Printf() to log what’s happening.&lt;/li&gt;
&lt;li&gt;Stack Traces: Use panic strategically to generate a stack trace.&lt;/li&gt;
&lt;li&gt;GitHub Blame: See who wrote a particular line of code and why.&lt;/li&gt;
&lt;li&gt;Chrome Sourcegraph Plugin: Hover over functions on GitHub to see details and definitions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Compiling Kubernetes
&lt;/h2&gt;

&lt;p&gt;Need to compile only kubectl? Save time with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;make WHAT='cmd/kubectl'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Want to run a local cluster for testing? Use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;KUBERNETES_PROVIDER=local hack/local-up-cluster.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;Kubernetes’ source code may seem overwhelming at first, but with a little guidance, it’s totally manageable. Start with kubectl, explore its design patterns, and use debugging tools to navigate the code. Kubernetes isn’t just a tool; it’s a community-driven marvel. Dive in, and you might just find your next big opportunity in the cloud-native world!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is Kubernetes used for?</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Mon, 30 Dec 2024 14:32:56 +0000</pubDate>
      <link>https://dev.to/kubefeeds/what-is-kubernetes-used-for-5h31</link>
      <guid>https://dev.to/kubefeeds/what-is-kubernetes-used-for-5h31</guid>
      <description>&lt;p&gt;In the world of modern software development, Kubernetes has become a cornerstone technology. Often abbreviated as K8s, Kubernetes is an open-source platform designed to automate deploying, scaling, and managing containerized applications. But what exactly is Kubernetes used for, and why has it gained such widespread adoption? Let’s dive in.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Core Purpose of Kubernetes
&lt;/h2&gt;

&lt;p&gt;At its heart, Kubernetes is all about managing containers. Containers are lightweight, portable units that package an application and its dependencies together. They allow developers to ensure that software runs consistently across different computing environments, from development to production.&lt;/p&gt;

&lt;p&gt;Kubernetes acts as an orchestrator for these containers. Instead of manually deploying and managing each container, Kubernetes automates the entire process, ensuring your application runs smoothly, efficiently, and reliably.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Use Cases of Kubernetes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Container Orchestration
&lt;/h3&gt;

&lt;p&gt;One of the primary uses of Kubernetes is orchestrating containers. In environments with hundreds or even thousands of containers, manual management becomes impractical. Kubernetes handles tasks such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploying containers across servers.&lt;/li&gt;
&lt;li&gt;Ensuring the right number of containers are running (auto-scaling).&lt;/li&gt;
&lt;li&gt;Restarting containers that fail or crash.&lt;/li&gt;
&lt;li&gt;Load-balancing traffic across containers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Scaling Applications
&lt;/h2&gt;

&lt;p&gt;Kubernetes makes scaling applications effortless. Based on traffic or resource usage, Kubernetes can automatically scale up (add more containers) or scale down (reduce containers). This ensures optimal performance without wasting resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Managing Microservices Architectures
&lt;/h2&gt;

&lt;p&gt;Kubernetes excels in environments built on microservices, where applications are broken down into smaller, independent services. It ensures that each microservice has the necessary resources, runs in the correct state, and communicates seamlessly with other services.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Cross-Platform Portability
&lt;/h2&gt;

&lt;p&gt;Kubernetes works across multiple environments, whether on-premises, in the cloud (AWS, Azure, Google Cloud), or hybrid setups. This flexibility allows businesses to deploy applications in the environment that suits their needs best, without being locked into a single vendor.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Continuous Integration and Continuous Deployment (CI/CD)
&lt;/h2&gt;

&lt;p&gt;Kubernetes integrates well with CI/CD pipelines, enabling rapid application updates with minimal downtime. It ensures that new versions of an application are deployed gradually and reliably, reducing the risk of disruptions.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Self-Healing Applications
&lt;/h2&gt;

&lt;p&gt;Kubernetes has built-in mechanisms to maintain application health:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If a container crashes, Kubernetes will restart it automatically.&lt;/li&gt;
&lt;li&gt;If a node (a server in the cluster) goes down, Kubernetes redistributes the workload to other nodes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  7. Multi-Tenancy Support
&lt;/h2&gt;

&lt;p&gt;For organizations running multiple projects or teams on shared infrastructure, Kubernetes provides strong isolation and resource allocation capabilities, ensuring fair usage and security.&lt;/p&gt;

&lt;p&gt;Industries and Real-World Applications&lt;/p&gt;

&lt;p&gt;Kubernetes is used across various industries, from tech startups to Fortune 500 companies. Here are some examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;E-commerce: To handle fluctuating traffic during sales or seasonal events.&lt;/li&gt;
&lt;li&gt;FinTech: For deploying secure, high-availability services.&lt;/li&gt;
&lt;li&gt;Healthcare: To manage sensitive data while ensuring compliance with regulations.&lt;/li&gt;
&lt;li&gt;Media and Entertainment: For video streaming platforms requiring scalable infrastructure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Kubernetes Matters in Modern Development
&lt;/h2&gt;

&lt;p&gt;Kubernetes has become a linchpin in modern DevOps practices because it aligns perfectly with key trends like cloud-native development, microservices, and infrastructure as code. Its flexibility and automation capabilities make it invaluable for teams looking to deliver software faster and more reliably.&lt;/p&gt;

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

&lt;p&gt;Kubernetes is more than just a tool for managing containers—it's a framework for building, deploying, and scaling applications in a world that demands speed, agility, and reliability. Whether you’re running a small startup or managing a complex enterprise system, Kubernetes offers the tools you need to stay ahead in today’s fast-paced tech landscape.&lt;/p&gt;

&lt;p&gt;If you’re new to Kubernetes, there’s no better time to start exploring its capabilities. Its community, tools, and ecosystem are vast and constantly evolving, making it an essential part of modern software development.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Dev Tools Evolution: LLMs, Wasm, and What's Next for 2025</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Mon, 30 Dec 2024 11:27:09 +0000</pubDate>
      <link>https://dev.to/kubefeeds/the-dev-tools-evolution-llms-wasm-and-whats-next-for-2025-1kbb</link>
      <guid>https://dev.to/kubefeeds/the-dev-tools-evolution-llms-wasm-and-whats-next-for-2025-1kbb</guid>
      <description>&lt;p&gt;For developer tools, big changes don’t come often—they tend to evolve slowly over time. But the rise of large language models (LLMs) is shaking things up in a way that feels downright revolutionary. The real question, though, is whether these changes are giving developers what they actually need. Let’s talk about what might be coming in 2025 for dev tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  LLMs and Generative AI
&lt;/h2&gt;

&lt;p&gt;We’re starting to wake up to something pretty major: the big LLM vendors are training their models on data that often doesn’t belong to them. Plus, when you use cloud-based AI, you’re sharing a lot of private info—whether you realize it or not. Kind of like how Google knows everything you’re searching for because, well, you’re telling them.&lt;/p&gt;

&lt;p&gt;LLM vendors want your queries to stay in their clouds. That’s why the development speed and innovation we’re seeing are fast but kind of limited. Tools like CodeGate, which act as firewalls to keep AI workflows separate from vendors, point out the problem but only solve part of it. Sensitive data isn’t just passwords—it’s all the “information exhaust” you leave behind.&lt;/p&gt;

&lt;p&gt;I think people are going to start being more careful about what they’re sharing with these systems. That’s going to create a bit of a standoff in the next year.&lt;/p&gt;

&lt;p&gt;And those agentic systems everyone’s excited about? The ones that chain tasks together automatically? Right now, they’re like a game of telephone—small errors add up, and suddenly nothing works. Until these systems get better at precision and reliability, they’re not going to hit their stride in 2025.&lt;/p&gt;

&lt;p&gt;Oh, and here’s a fun analogy: Remember learning to windsurf? If you didn’t figure out how to tack against the wind, you probably ended up stuck on the same part of the beach as every other beginner. That’s what happens to new devs relying too much on LLMs—they get pretty far but hit a wall because they skipped the basics. Hopefully, this becomes a teaching opportunity, with more coding platforms helping folks backtrack and build those foundational skills.&lt;/p&gt;

&lt;p&gt;As for generative AI? It’s getting better all the time—whether it’s creating art or other assets—but watermarking and copyright issues are still a mess. And here’s a twist: As generative AI gets more advanced (and expensive), it might actually want watermarking protection for itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  WebAssembly (Wasm)
&lt;/h2&gt;

&lt;p&gt;Wasm keeps showing up in dev conversations, and for good reason. It gives you near-native performance in the browser, which is no small thing. Sure, you still need complex JavaScript glue code to make it work, but the potential is huge—whether for speeding up certain tasks, making code more portable, or just handling heavy-lifting on the frontend.&lt;/p&gt;

&lt;p&gt;One cool tool I’ve noticed is Moonbit—it’s creating smaller Wasm executables than traditional languages manage. So yeah, Wasm might feel like the new kid on the block, but it’s slowly becoming part of the web’s natural flow.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fediverse
&lt;/h2&gt;

&lt;p&gt;Ah, the fediverse. If you haven’t explored it yet, it’s basically the world of platforms using ActivityPub—Mastodon is probably the most famous example. It’s got this grassroots, open-source vibe, but it’s still waiting for that breakout moment. Right now, it’s a bit like a hidden gem in the forest.&lt;/p&gt;

&lt;p&gt;Bluesky made waves this year, but not because of its AT protocol—it’s more about how they made onboarding simpler for new users. That’s a big lesson for the fediverse: usability matters. Maybe 2025 will bring some killer apps or new tools that help the fediverse gain traction.&lt;/p&gt;

&lt;h2&gt;
  
  
  More Small Projects from Small Teams
&lt;/h2&gt;

&lt;p&gt;It’s easier than ever for small teams to launch cool projects. LLMs might not give you the spark of creativity, but they sure can help with the heavy lifting, letting developers try out ideas on the edge of their knowledge. And once a tool or library gets traction, LLMs can recommend it to others, which keeps the momentum going.&lt;/p&gt;

&lt;p&gt;Web-based playgrounds remain the best way to show off your project. And I’m betting we’ll see more new languages and tools pop up this year. Who knows? Even darklang, which has been quiet for a while, might make a return.&lt;/p&gt;

&lt;p&gt;So yeah, 2025 is shaping up to be an exciting year for dev tools. Whether you’re experimenting with LLMs, diving into Wasm, or building something entirely new, there’s a lot to look forward to. If you’re launching something in the new year, good luck—I can’t wait to see what’s next!&lt;/p&gt;

</description>
      <category>developer</category>
      <category>webassembly</category>
      <category>llm</category>
      <category>genai</category>
    </item>
    <item>
      <title>What is Kubernetes Vs Terraform</title>
      <dc:creator>kubefeeds </dc:creator>
      <pubDate>Mon, 30 Dec 2024 08:34:19 +0000</pubDate>
      <link>https://dev.to/kubefeeds/what-is-kubernetes-vs-terraform-i00</link>
      <guid>https://dev.to/kubefeeds/what-is-kubernetes-vs-terraform-i00</guid>
      <description>&lt;p&gt;In the ever-evolving landscape of modern software development, &lt;a href="https://kubernetes.io" rel="noopener noreferrer"&gt;Kubernetes&lt;/a&gt; and &lt;a href="https://www.terraform.io/" rel="noopener noreferrer"&gt;Terraform&lt;/a&gt; stand out as two essential tools for managing infrastructure and applications. While both are critical for modern DevOps and cloud-native ecosystems, they serve different purposes and operate in distinct domains. Understanding the differences between Kubernetes and Terraform is key to leveraging them effectively. Let’s dive deeper into what these tools are and how they compare.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes: The Orchestrator for Containers
&lt;/h2&gt;

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

&lt;p&gt;Kubernetes, often abbreviated as K8s, is an open-source container orchestration platform designed to automate the deployment, scaling, and management of containerized applications. Originally developed by Google and now maintained by the Cloud Native Computing Foundation (CNCF), Kubernetes has become the de facto standard for managing containerized workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of Kubernetes:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automated Scaling&lt;/strong&gt;: Kubernetes can scale applications horizontally by adding or removing containers based on demand.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Self-Healing&lt;/strong&gt;: Automatically restarts failed containers, replaces nodes, and reschedules pods to maintain application health.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Service Discovery and Load Balancing&lt;/strong&gt;: Provides built-in mechanisms to route traffic to the correct container instances.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Declarative Configuration&lt;/strong&gt;: Applications and their configurations are defined in YAML or JSON files, ensuring consistent and repeatable deployments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Multi-Cloud and Hybrid Support&lt;/strong&gt;: Kubernetes can run on any cloud platform or on-premises, making it highly portable.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Use Case:
&lt;/h2&gt;

&lt;p&gt;Kubernetes is ideal for managing microservices architectures and ensuring seamless scalability and reliability for containerized applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Terraform: The Infrastructure as Code Pioneer
&lt;/h2&gt;

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

&lt;p&gt;Terraform, developed by HashiCorp, is an open-source Infrastructure as Code (IaC) tool that allows you to define and provision infrastructure using a high-level configuration language. Unlike Kubernetes, which focuses on application orchestration, Terraform is designed for infrastructure management, enabling you to automate the creation and management of servers, storage, networking, and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of Terraform:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Multi-Cloud Support&lt;/strong&gt;: Works with various providers like AWS, Azure, GCP, and even on-premises solutions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Declarative Syntax&lt;/strong&gt;: Uses the HashiCorp Configuration Language (HCL) to define infrastructure resources in a readable, reusable format.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;State Management&lt;/strong&gt;: Maintains a state file to track the current infrastructure configuration and ensures idempotent deployments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dependency Management&lt;/strong&gt;: Automatically determines the order of operations based on resource dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Modular Architecture&lt;/strong&gt;: Allows the creation of reusable modules for scalable and consistent infrastructure.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Use Case:
&lt;/h2&gt;

&lt;p&gt;Terraform is best suited for provisioning and managing infrastructure at scale, whether it's setting up cloud environments, networking, or virtual machines.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes vs Terraform: A Side-by-Side Comparison
&lt;/h2&gt;

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

&lt;p&gt;While Kubernetes and Terraform serve distinct purposes, they can work together to provide a seamless DevOps experience. For example, you might use Terraform to provision the infrastructure needed for your Kubernetes cluster and then leverage Kubernetes to manage and deploy your applications on that infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example Workflow:
&lt;/h2&gt;

&lt;p&gt;Use Terraform to provision a cloud environment, set up networking, and create the necessary virtual machines or managed Kubernetes service (e.g., Amazon EKS, Google GKE).&lt;/p&gt;

&lt;p&gt;Deploy Kubernetes to orchestrate containerized applications within the infrastructure set up by Terraform.&lt;/p&gt;

&lt;p&gt;By combining these tools, organizations can achieve a robust, scalable, and automated infrastructure and application management workflow.&lt;/p&gt;

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

&lt;p&gt;Kubernetes and Terraform are both indispensable tools in the modern DevOps toolkit. Kubernetes excels at managing containerized applications, while Terraform shines in provisioning and managing infrastructure. Understanding their unique roles and how they can complement each other is essential for building efficient, scalable, and resilient systems. Whether you are deploying microservices or managing complex cloud environments, these tools can help you achieve your goals with precision and automation.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>docker</category>
      <category>terraform</category>
      <category>container</category>
    </item>
  </channel>
</rss>
