DevOps, MLOps, and Cloud tips & Deep Dives (300 K Community)

Join 20,000+ Readers โ†’
Joined November 2014
47% OFF Linux Foundation Cybersecurity Sale ๐Ÿš€ Use code OCT26NONCYBERCT at kube.promo/devops to get a flat 35% off on individual certifications. using code OCT26CYBERCT, get upto 47% off the following security certifications and bundle - Certified Kubernetes Security Specialist (CKS) - Kubernetes and Cloud Native Security Associate (KCSA) - KCSA + CKS Cert Bundle Use OCT26NONCYBERCT to save up to 40% on the following bundles compared to individual purchases. - CKA + CKAD : kube.promo/cka-ckad - CKA + CKS: kube.promo/bundle - CKA + CKAD + CKS: kube.promo/k8s-bundle - KCNA + KCSA + CKA + CKAD + CKS: kube.promo/kubestronaut โณ Hurry, this offer expires soon. Donโ€™t miss this chance to certify & level up! โ™ป๏ธ P.S. Donโ€™t forget to repost and share it with the DevOps community and your friends! #devops #kubernetes #cka #ckad #cks
2
4
628
DNAT (Destination NAT) - A must-know concept in k8s networking If you have published a Docker container port on a typical bridge network using the default NAT mode, You have seen the DNAT concept in action. When we run a container, it gets a private IP on the container network and the app inside listens on port 80. By default, clients outside the Docker host cannot directly access that container IP. So we publish the container port using -p 8080:80. Clients can now connect to the Docker host IP on port 8080. When that packet arrives, the VM rewrites the destination from the VM IP to the pod IP and forwards it to the container. In this example, both the destination IP and port change. That rewrite is DNAT. When it comes to Kubernetes, It uses the same concept for Service traffic. With kube-proxy in iptables mode, DNAT redirects traffic from a Service IP and port to a backend Podโ€™s IP and target port. ---- If you like practical Kubernetes, DevOps & MLOPS content like this, we share deep dives every week. โ†’ ๐—๐—ผ๐—ถ๐—ป ๐Ÿฎ๐Ÿฌ๐—ž+ ๐—ฒ๐—ป๐—ด๐—ถ๐—ป๐—ฒ๐—ฒ๐—ฟ๐˜€ (๐Ÿญ๐Ÿฌ๐Ÿฌ% ๐—ณ๐—ฟ๐—ฒ๐—ฒ): devopscube.com โ™ป๏ธ PS: Repost and share it with the DevOps community. #Kubernetes #DevOps
4
4
12
433
A complete guide to Kubernetes VPA ๐Ÿš€ Here is what you will learn from this guide. - Vertical Pod Autoscaler key components - Recommender decaying histogram-based algorithm - End-to-end VPA workflow - In-Place Pod Resize With VPA and more.. ๐—ฅ๐—ฒ๐—ฎ๐—ฑ ๐—ถ๐˜ ๐—ต๐—ฒ๐—ฟ๐—ฒ: newsletter.devopscube.com/p/โ€ฆ โ™ป๏ธ PS: Repost and share it with the DevOps community. #devops #kubernetes
1
11
41
1,068
If you're aiming for the CKA certification, Or just diving into Kubernetes projects, here's one thing you can't ignore: ๐Ÿ‘‰ Cluster configurations. Also, when it comes to the CKA certification, You will get scenarios to rectify issues in the cluster. So understanding cluster configurations will make it easier to troubleshoot and find issues the right way. ๐Ÿ“˜ If you're preparing for CKA certification, we have a detailed study guide ๐—–๐—ต๐—ฒ๐—ฐ๐—ธ ๐—ถ๐˜ ๐—ผ๐˜‚๐˜ ๐—ต๐—ฒ๐—ฟ๐—ฒ: github.com/techiescamp/cka-cโ€ฆ Have you ever had to troubleshoot a tricky cluster config? PS: โ™ป๏ธ Repost if you find this useful. It helps the DevOps community Have any thoughts to add? Drop them in the comments below. #kubernetes #practicaldevops #cka
2
16
82
1,596
Where should your AI agent run untrusted code? An AI agent needs a workspace to run commands, install tools, and save files while completing a task. It may also generate code or download it from external sources. We should treat it as untrusted code and run it in an isolated workspace with limited access. This is where Kubernetes Agent Sandbox comes in. In our recent newsletter, we covered the following - Why AI agents need an isolated workspace to run untrusted code - How Kubernetes Agent Sandbox manages these workspaces - How gVisor and Kata Containers isolate agent workloads - Hands-on: Deploy a Kubernetes troubleshooting agent and run untrusted code and more.. ๐—ฅ๐—ฒ๐—ฎ๐—ฑ ๐—ถ๐˜ ๐—ต๐—ฒ๐—ฟ๐—ฒ: newsletter.devopscube.com/p/โ€ฆ Note: Kubernetes Agent Sandbox API is currently in Beta โ™ป๏ธ PS: Repost and share it with the DevOps community. #devops #mlops #aiops
21
22
89
2,254
Becoming a DevOps Engineer ๐Ÿ˜€ Those who persevere make it big. ---- Every week, we share one practical deep dive with illustrations and hands-on examples in our newsletter. ๐Ÿ“š ๐—๐—ผ๐—ถ๐—ป ๐—›๐—ฒ๐—ฟ๐—ฒ (๐—œ๐˜'๐˜€ ๐—™๐—ฟ๐—ฒ๐—ฒ): devopscube.com #devops
2
11
675
๐Ÿ›  DevOps Tool of the Week: kube-green Dev and staging environments often run 24/7, even when nobody is using them. That means idle Pods keep running at night and on weekends, while the infrastructure keeps costing money. You could write scripts to scale workloads down and bring them back up every day, but managing this across multiple namespaces can get complicated. Thatโ€™s where kube-green helps. kube-green is an open-source Kubernetes operator that automatically puts workloads to sleep when they are not needed and brings them back when work starts. Hereโ€™s what it can do ๐Ÿ‘‡ - Scales Deployments and StatefulSets to zero during sleep time. - Suspends CronJobs overnight. - Restores workloads at the scheduled wake-up time. - Supports weekdays and time zones. - Excludes selected resources using names or labels. - Supports custom resources through patches. ๐—ฆ๐˜๐—ฎ๐—ฟ๐˜ ๐—›๐—ฒ๐—ฟ๐—ฒ: github.com/kube-green/kube-gโ€ฆ Note: Scaling Pods to zero saves money only when the unused nodes also scale down. Pair kube-green with Cluster Autoscaler or Karpenter to get real infrastructure savings. #devopstool
3
15
60
1,621
Practical Guides and resources this week at DevOpsCube โ˜• Read these ๐Ÿ‘‡ 1. Kubernetes Client-Side vs Server-Side Apply - skills.devopscube.com/kubernโ€ฆ 2. How to Implement Native Admission Policies in Kubernetes - devopscube.com/kubernetes-adโ€ฆ 3. Kubernetes Native Admission Vs Custom Admission Controllers - linkedin.com/feed/update/urnโ€ฆ ๐ŸŽ“ ๐—–๐—ฒ๐—ฟ๐˜๐—ถ๐—ณ๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป๐˜€ & ๐——๐—ถ๐˜€๐—ฐ๐—ผ๐˜‚๐—ป๐˜๐˜€ CKA, CKAD, CKS aspirants! This months deal is live! Use code ๐—ข๐—–๐—ง๐Ÿฎ๐Ÿฒ๐—ก๐—ข๐—ก๐—–๐—ฌ๐—•๐—˜๐—ฅ๐—–๐—ง at kube.promo/devops to save up to ๐Ÿฏ๐Ÿฑ% ๐—ข๐—™๐—™ on individual certifications, and use code ๐—ข๐—–๐—ง๐Ÿฎ๐Ÿฒ๐—ก๐—ข๐—ก๐—–๐—ฌ๐—•๐—˜๐—ฅ๐—–๐—ง on bundles to save upto ๐Ÿฐ๐Ÿฌ% ๐—ผ๐—ณ๐—ณ. ๐Ÿ‘‰ Complete Kubernetes & CKA course: courses.devopscube.com/. Use code ๐——๐—˜๐—ฉ๐—ข๐—ฃ๐—ฆ๐Ÿฏ๐Ÿฌ to get ๐Ÿฏ๐Ÿฌ% ๐—ข๐—™๐—™ today ๐Ÿ‘‰ K8s Kustomize Crash Course(Free) - courses.devopscube.com/p/kubโ€ฆ ๐Ÿ‘‰ Container Fundamentals: A Practical Guide to Docker - courses.devopscube.com/p/conโ€ฆ ๐—ง๐—ต๐—ถ๐˜€ ๐—ช๐—ฒ๐—ฒ๐—ธ'๐˜€ ๐—ง๐—ผ๐—ฝ ๐—˜๐˜…๐—ฝ๐—ฒ๐—ฟ๐˜ ๐—ฃ๐—ถ๐—ฐ๐—ธ๐Ÿ‘‡ 1. How ML models are monitored in production- newsletter.devopscube.com/p/โ€ฆ ๐Ÿ› ๏ธ ๐——๐—ฒ๐˜ƒ๐—ข๐—ฝ๐˜€ ๐—ง๐—ผ๐—ผ๐—น ๐—ผ๐—ณ ๐˜๐—ต๐—ฒ ๐—ช๐—ฒ๐—ฒ๐—ธ: Popeye - github.com/derailed/popeye Which resource are you diving into this week? Drop a comment! #DevOps #Learning #techtips
1
10
30
798
Here are 5 engineering blogs worth reading this week๐Ÿ‘‡ If you work in DevOps, SRE, Platform Engineering, Cloud, or Infrastructure, this is for you. 1/ How Meta Handled 2026 World Cup Traffic at Scale - engineering.fb.com/2026/10/1โ€ฆ 2/ How Datadog Runs One Query Across Multiple Machines - datadoghq.com/blog/engineeriโ€ฆ 3/ How GitHub Cut Star History API Requests from 2,500 to 24 - github.blog/engineering/archโ€ฆ 4/ How Netflix Keeps Large GPU Jobs Running Through Failures - netflixtechblog.com/reliableโ€ฆ 5/ What Engineers Need to Know About the DNS Root Key Rollover - blog.cloudflare.com/root-kskโ€ฆ ๐ŸŽ“ ๐๐ซ๐ž๐ฉ๐š๐ซ๐ข๐ง๐  ๐Ÿ๐จ๐ซ ๐‚๐Š๐€? If you are preparing for the Certified Kubernetes Administrator exam, check out our CKA course by industry experts. You can also use ๐——๐—˜๐—ฉ๐—ข๐—ฃ๐—ฆ๐Ÿฏ๐Ÿฌ at checkout for a discount: ๐Ÿ‘‰ courses.devopscube.com/p/cerโ€ฆ #devops #kubernetes
5
18
790
Kubernetes HPA isn't limited to CPU and memory. You can also scale workloads using custom metrics, such as - Requests per second - Queue length - Active connections - Application latency You can do it with a combination of HPA, Prometheus, and Prometheus Adapter. The Prometheus Adapter exposes the metrics via the Kubernetes Custom Metrics API and is used by the HPA. But choosing the metric is only one part of autoscaling. You also need to control HPA scaling when the metric changes. Should HPA add or remove replicas every time that metric changes slightly? That is decided using the HPA tolerance configurations. We covered how HPA tolerance works in our guide. ๐—ฅ๐—ฒ๐—ฎ๐—ฑ ๐—ถ๐˜ ๐—ต๐—ฒ๐—ฟ๐—ฒ: newsletter.devopscube.com/p/โ€ฆ Over to you! What custom metrics are you using for autoscaling? #Kubernetes #HPA #DevOps
1
9
1
60
1,429
Basic Kubernetes skills will not get you hired anymore. Today, companies want engineers who can design, deploy, and secure production-grade clusters. Not just run kubectl apply. We have a Kubernetes Learning Roadmap to learn k8s the right way. It covers, - What to know before starting (prerequisites) - How to get free cloud credits for your first cluster - The key cluster concepts you must master - Best practices for reliability and security - Our favorite learning resources and more.. ๐—ธ๐Ÿด๐˜€ ๐—Ÿ๐—ฒ๐—ฎ๐—ฟ๐—ป๐—ถ๐—ป๐—ด ๐—ฅ๐—ผ๐—ฎ๐—ฑ๐—บ๐—ฎ๐—ฝ: devopscube.com/learn-kuberneโ€ฆ โ™ป๏ธ If this roadmap helps you, pass it along to your DevOps community. Over to you. What is the one Kubernetes concept you wish you had learned earlier? #devops #kubernetes
3
11
85
2,109
DevopsCube retweeted
Kubernetes NodeLocal DNSCache Explained ๐Ÿš€ When it comes to performance, every DNS lookup in Kubernetes matters. Without NodeLocal DNSCache, Pods send DNS queries to the kube-dns/CoreDNS Service IP. These requests go through kube-proxy, DNAT rules, and conntrack before reaching CoreDNS. In busy clusters, this can add latency and increase pressure on the conntrack table. NodeLocal DNSCache solves this by running a local DNS cache on every node as a DaemonSet. So, instead of talking to CoreDNS directly, Pods send DNS queries to the local cache on the same node. Here are its key benefits, - It reduces average DNS lookup time, as the DNS queries are resolved locally using the DNS cache - It reduces load on CoreDNS - It prevents conntrack table exhaustion, as Connections from Pods to their local cache don't create conntrack table entries - DNS queries for external URLs can be forwarded directly without involving CoreDNS We share deep dives on Kubernetes, DevOps, MLOps, Cloud, and GitOps โ†’ ๐—๐—ผ๐—ถ๐—ป ๐—›๐—ฒ๐—ฟ๐—ฒ (๐Ÿญ๐Ÿฌ๐Ÿฌ% ๐—ณ๐—ฟ๐—ฒ๐—ฒ): devopscube.com/ โ™ป๏ธ PS: Repost and share it with the DevOps community. ๐—ก๐—ผ๐˜๐—ฒ: NodeLocal DNSCache is not enabled by default in Kubernetes. It must be deployed manually as a DaemonSet (except on managed platforms like GKE Autopilot where it's now default). Got any tips? โฌ‡๏ธ Share and discuss in the comments below! โฌ‡๏ธ #devops #kubernetes
4
29
125
3,467
Kubernetes Native Admission Vs Custom Admission Controllers Native admission policies can now handle both validation and mutation, which covers many common policy requirements. However, they are not a complete replacement for tools like Kyverno. The following are the current limitations of native admission policies you should know. - Native policies don't cover every workflow available in dedicated policy engines, such as generating additional Kubernetes resources. - Tools like Kyverno can automatically create a NetworkPolicy or a RoleBinding whenever a new namespace is created. Native policies cannot do this. - CEL expressions run in the API server. It cannot call an external API, query a database, or check an OCI registry. If your validation logic needs to reach outside the cluster, you need a webhook. So, you can use native admission policies for straightforward admission rules. Use tools such as Kyverno or Gatekeeper when your policy requirements go beyond what native admission policies can handle. --- Every week, in our newsletter, we share one practical deep dive with illustrations and hands-on examples. It will help you learn something new. ๐Ÿ“š ๐—๐—ผ๐—ถ๐—ป ๐—›๐—ฒ๐—ฟ๐—ฒ (๐—œ๐˜'๐˜€ ๐—™๐—ฟ๐—ฒ๐—ฒ): devopscube.com โ™ป๏ธ If you find it useful, repost and share it with the community. #devops #kubernetes
2
10
52
1,272
99% of DevOps Engineers may not know this ๐Ÿš€ The Linux Foundation has 65+ absolutely FREE courses These courses span a variety of highly sought-after topics, such as: โœ… DevOps โœ… SRE โœ… GitOps โœ… Kubernetes โœ… Microservices โœ… Service Mesh and many more! ๐—™๐—ฟ๐—ฒ๐—ฒ ๐—ฐ๐—ผ๐˜‚๐—ฟ๐˜€๐—ฒ ๐—ฐ๐—ฎ๐˜๐—ฎ๐—น๐—ผ๐—ด: kube.promo/free-courses ๐Ÿ’ฌ Keep an eye on the comments section, where I'll be highlighting some of the key courses you may want to start with. ๐—” ๐—น๐—ถ๐˜๐˜๐—น๐—ฒ ๐—ง๐—ถ๐—ฝ ๐—ณ๐—ผ๐—ฟ ๐˜†๐—ผ๐˜‚ ๐—ฎ๐—น๐—น: Don't rush and subscribe to all the courses at once. Rather, take it one at a time. Choose a course that interests you, commit to a disciplined learning schedule, complete it in its entirety, and then move on to the next one. #LinuxFoundation #FreeCourses #DevOps
3
18
595
Gateway API vs Ingress Controller. Here is the Key Difference You Should Know In Kubernetes, the Ingress object only defines routing rules. The actual traffic routing happens through the Ingress Controller, which acts as both the controller and the proxy. With Gateway API, that workflow is almost similar. You define resources like Gateway and HTTPRoute to control traffic flow. The Gateway API controller (NGINX Gateway Fabric) then translates these configs into real routing rules and infrastructure. But here is the big difference with NGINX Gateway Fabric. It has separate control plane and data plane. When you create a Gateway resource, the controller sets up a dedicated NGINX proxy pod (data plane) to handle traffic. However, in Ingress, the controller itself acts as the proxy. We break down Gateway API, Ingress and other core Kubernetes concepts step by step (with illustrations) in our CKA course. If you are learning Kubernetes or preparing for CKA, ๐—๐—ผ๐—ถ๐—ป ๐—›๐—ฒ๐—ฟ๐—ฒ: courses.devopscube.com/p/cerโ€ฆ Have you experimented with Gateway API yet? What are your takeaways so far? #Kubernetes #CKA #GatewayAPI #DevOps
1
14
81
1,777
Terraform Interview Question ๐Ÿš€ How do you Prevent Concurrent Terraform Applies? Store the Terraform state in a remote backend such as Amazon S3 and enable native state locking using use_lockfile = true. Terraform uses an S3 lock file (.tflock) to prevent multiple Terraform operations from modifying the same state at the same time. ๐——๐—ฒ๐˜๐—ฎ๐—ถ๐—น๐—ฒ๐—ฑ ๐—”๐—ป๐˜€๐˜„๐—ฒ๐—ฟ: skills.devopscube.com/intervโ€ฆ If you have any insights to share, please drop them in the comments. โ™ป๏ธ PS: Repost and share it with the DevOps community. #Terraform #DevOps
17
77
1,647
Kubernetes Client-Side vs Server-Side Apply ๐Ÿš€ When you run kubectl apply, By default, you are using Client-Side Apply (CSA). With Client-Side Apply, kubectl looks at your manifest, the previously applied configuration, and the current object in the cluster. It determines what has changed and sends the required patch to the Kubernetes API server. Server-Side Apply (SSA) works differently. When you run kubectl apply --server-side, Kubernetes API server handles the apply operation. The biggest difference is field ownership. The following guide explains it well. ๐——๐—ฒ๐˜๐—ฎ๐—ถ๐—น๐—ฒ๐—ฑ ๐—š๐˜‚๐—ถ๐—ฑ๐—ฒ: skills.devopscube.com/kubernโ€ฆ โ™ป๏ธ PS: Repost and share it with the DevOps community. #Kubernetes #DevOps
3
13
1
68
1,614
Kubernetes can enforce admission rules without a separate webhook server. When you create or update a resource, k8s can check the request or change the object before saving it. Usually, this is done using custom webhooks. However, Kubernetes Admission Policies provide a native way to validate or modify API requests during admission, without running a separate admission webhook server. There are two Native Admission Policy types: - ๐—ฉ๐—ฎ๐—น๐—ถ๐—ฑ๐—ฎ๐˜๐—ถ๐—ป๐—ด๐—”๐—ฑ๐—บ๐—ถ๐˜€๐˜€๐—ถ๐—ผ๐—ป๐—ฃ๐—ผ๐—น๐—ถ๐—ฐ๐˜† - This checks the incoming API request and decides whether it should be allowed. - ๐— ๐˜‚๐˜๐—ฎ๐˜๐—ถ๐—ป๐—ด๐—”๐—ฑ๐—บ๐—ถ๐˜€๐˜€๐—ถ๐—ผ๐—ป๐—ฃ๐—ผ๐—น๐—ถ๐—ฐ๐˜† - This changes the incoming resource before it is created. We have created a detailed guide on admission policies. ๐Ÿ“š ๐—ฅ๐—ฒ๐—ฎ๐—ฑ ๐—ถ๐˜ ๐—ต๐—ฒ๐—ฟ๐—ฒ: devopscube.com/kubernetes-adโ€ฆ ๐—ก๐—ผ๐˜๐—ฒ: ValidatingAdmissionPolicy became GA in version 1.30, and MutatingAdmissionPolicy became stable in 1.36. โ™ป๏ธ If you find it useful, repost and share it with the community. #devops #kubernetes
2
15
67
2,112
๐Ÿ›  DevOps Tool of the Week: Popeye Over time, Kubernetes clusters can collect unused resources, such as ConfigMaps and Secrets that nobody uses anymore or Services that do not match any Pods. These may not cause problems today. But over time, they can lead to outages, security gaps, and wasted resources. Finding them manually across namespaces is not practical. That is where Popeye helps. Popeye is an open-source tool built by the same creator of k9s. It checks the resources in your live Kubernetes cluster for misconfigurations and unused resources. Here is what it does ๐Ÿ‘‡ - Finds unused ConfigMaps, Secrets, ServiceAccounts, PVs, PVCs, and RBAC roles. - Flags Services with no endpoints or matching Pods. - Checks Pods for missing probes, resource limits, and latest image tags. - Reports CPU and memory allocation when metrics-server is available. - Gives your cluster a score from 0 to 100. - Exports reports in HTML, JSON, YAML, JUnit, and Prometheus formats. - Can run as a CronJob and push reports to S3. ๐—ฆ๐˜๐—ฎ๐—ฟ๐˜ ๐—›๐—ฒ๐—ฟ๐—ฒ: github.com/derailed/popeye Note: Popeye is a read-only tool, so it does not change anything in your cluster. #devopstools
2
16
85
3,637