<?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>Forem: Devtron</title>
    <description>The latest articles on Forem by Devtron (@devtron_).</description>
    <link>https://forem.com/devtron_</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%2Forganization%2Fprofile_image%2F4197%2F823ffc9e-9fa7-4cbc-ae48-528b7f1e4584.jpg</url>
      <title>Forem: Devtron</title>
      <link>https://forem.com/devtron_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/devtron_"/>
    <language>en</language>
    <item>
      <title>Devtron Year in Review 2024</title>
      <dc:creator>Akanksha Bhasin</dc:creator>
      <pubDate>Sun, 05 Jan 2025 07:51:42 +0000</pubDate>
      <link>https://forem.com/devtron_/devtron-year-in-review-2024-16hb</link>
      <guid>https://forem.com/devtron_/devtron-year-in-review-2024-16hb</guid>
      <description>&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%2Fqdc7f5jnewr6ozf5lzgg.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%2Fqdc7f5jnewr6ozf5lzgg.png" alt="Devtron Year in Review 2024" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2024 was a breakout year! As we close the 2024 chapter, we reflect on a remarkable year of growth, innovation and collaboration. This year has been filled with exciting milestones, impactful product updates and meaningful engagements with our global community. From receiving prestigious recognitions from AWS, surpassing new heights on GitHub to connecting with the cloud-native community at events worldwide, 2024 has been a year of impact and progress.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🚀 Key Product Updates&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This year, we delivered features to address challenges faced by developers and DevOps teams and simplify Kubernetes management for faster, more secure deployments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Application Deployment &amp;amp; Distribution:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;The new Software Distribution Hub centralizes management for microservices delivery across multiple customers and including air-gapped environments. &lt;/li&gt;
&lt;li&gt;Deployment windows (Blackout &amp;amp; Maintenance windows) were introduced to control deployments and avoid disruptions. &lt;/li&gt;
&lt;li&gt;Approval Groups enforce robust governance and Runtime Input Parameters provide dynamic CI/CD control.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Streamlined Configuration:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Compare Configuration across environments to prevent drift, Clone CI/CD Workflows, and lock configurations for enhanced security and consistency. Build Infrastructure Configurations for optimized resource utilization.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Cluster Management:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Minimizing downtime and MTTR using Auto Remediation and reducing manual intervention and faster error resolution. Simplify Kubernetes upgrades with automated compatibility checks using Silver Surfer&lt;/li&gt;
&lt;li&gt;GitOps Listing: Visualize multi-cluster ArgoCD &amp;amp; FluxCD applications for unified management.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Enhanced Security:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Secure kubectl access providing developers with controlled terminal access using fine-grained RBAC API tokens.&lt;/li&gt;
&lt;li&gt;User Access Management with SSO mapping for simplified administration.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Intelligence &amp;amp; Monitoring:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Devtron Intelligence (AI-powered error analysis) and centralized dashboards (Grafana, Kibana integration) for a single pane of glass view. &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🏊 Dive deeper into a detailed version of&lt;/strong&gt; &lt;a href="https://devtron.ai/blog/devtron-in-2024-key-product-updates-beneficial-for-your-teams/" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;u&gt;product updates from 2024&lt;/u&gt; now.&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🌟 &lt;em&gt;A Special Highlight -&lt;/em&gt;&lt;/strong&gt; The launch of &lt;a href="https://devtron.ai/blog/revolutionizing-kubernetes-operations-for-enterprises-using-ai/" rel="noopener noreferrer"&gt;&lt;strong&gt;Devtron 1.0&lt;/strong&gt;&lt;/a&gt;, a major milestone that transforms Kubernetes operations for enterprises using AI. Unveiled at KubeCon North America, Devtron 1.0 brings powerful new features like AI-driven troubleshooting, enhanced CI/CD workflows, auto-remediation, and robust RBAC to simplify Kubernetes management at scale. This release signifies a leap forward in DevOps automation, offering enterprises a unified platform for managing the entire application lifecycle and ensuring faster, more secure deployments.&lt;/p&gt;

&lt;p&gt;🔗 Read more about it &lt;a href="https://devtron.ai/blog/revolutionizing-kubernetes-operations-for-enterprises-using-ai/" rel="noopener noreferrer"&gt;here.&lt;/a&gt;&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%2Fmlrcgslgyptfxqzb88nf.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%2Fmlrcgslgyptfxqzb88nf.png" alt="Devtron Year in Review 2024" width="750" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🌟 Notable Achievements in 2024 🌟&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;2024 had been a great year for Devtron. With loads of new users, feedback, features, product enhancement, and community empowerment, the year had been filled with learning and fun.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🏆 Recognition from AWS&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A standout moment for us was winning the &lt;strong&gt;AWS Rising Star Award (India) and&lt;/strong&gt; being recognized as a &lt;strong&gt;finalist for&lt;/strong&gt; APJ Technology Partner of the Year, a testament to our commitment to delivering solutions that simplify Kubernetes adoption while driving innovation in cloud-native application management.&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%2F5hjhb7gvfwlhax92t96j.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%2F5hjhb7gvfwlhax92t96j.png" alt="Devtron Year in Review 2024" width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS Partner Spotlight - Devtron&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We highlighted the collaboration between Devtron and AWS, showcasing how our joint solutions streamline Kubernetes management on Amazon EKS.&lt;br&gt;&lt;br&gt;
&lt;a href="https://aws.amazon.com/blogs/apn/enhancing-devops-efficiency-on-amazon-eks-with-devtron/?ref=devtron.ai" rel="noopener noreferrer"&gt;Checkout this blog&lt;/a&gt; and explore how Devtron's powerful DevOps automation platform, integrated with AWS, helps teams improve development efficiency, accelerate software delivery and optimize costs.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🌍 Conferences&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Devtron made its mark at several global conferences, connecting with the cloud-native community including AWS re:Invent, KubeCon North America, KubeCon India, US Fintech Symposium, KCD Hyderabad, KCD Washington DC, KCD Kerala, Cloud Native Rejekts, Dine with DevOps and DevOps Conclave &amp;amp; Awards.&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%2Fdipu41314o2s8p7j82bt.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%2Fdipu41314o2s8p7j82bt.png" alt="Image description" width="800" height="832"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;👥 Events&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;We have hosted and participated in various industry-leading events including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;KubeCon India Networking Dinner&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With the first ever KubeCon in India this year, we planned an exclusive KubeCon India networking dinner party post-conference on Day 1 in collaboration with Middleware. We welcomed around 180 folks at the event joining us from different parts of the world. We saw over 500+ professionals including founders, managers and DevOps Engineers signing in a short period. 🎉&lt;br&gt;&lt;br&gt;
The attendees exchanged valuable insights over discussions in the Cloud Native ecosystem and enjoyed the most happening DJ night in the town. 🪩&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%2F262kkpki8zdjq2ru6zn4.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%2F262kkpki8zdjq2ru6zn4.png" alt="Devtron Year in Review 2024" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Top Golf Events&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We had a great time hosting Top Golf Events at the United States in Atlanta, Austin and Dallas and inviting Kubernetes Practitioners. They enjoyed exchanging insights on Kubernetes strategies, and basking in an evening filled with good food, drinks and a great company.&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%2Fviq3fh6xiiw6v5905m40.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%2Fviq3fh6xiiw6v5905m40.png" alt="Devtron Year in Review 2024" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Webinar with the AWS team &amp;amp; more&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enhancing DevOps Efficiency on Amazon EKS with Devtron - This webinar provided a comprehensive overview of how Devtron simplifies the deployment, management and scaling of Kubernetes applications on Amazon EKS, enabling teams to streamline operations and focus on building.&lt;/p&gt;

&lt;p&gt;🔗 Tune in to watch our previous webinars &lt;a href="https://devtron.ai/webinars-home/?ref=devtron.ai" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&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%2Fruwrp8n4j14r03548d2b.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%2Fruwrp8n4j14r03548d2b.png" alt="Devtron Year in Review 2024" width="800" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🗣️ Meetups:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Quite an eventful year I would say! We hosted meetups every month across India in Delhi NCR and Bangalore and partnered with organisations and CNCF communities and covered various topics including Kubernetes Cost Optimization, Observability, Software delivery, Platform Engineering, App Modernisation, Containerization, Cloud and more. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.meetup.com/container-talks-devtron/?ref=devtron.ai" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;u&gt;Follow our meetup page&lt;/u&gt;&lt;/strong&gt;&lt;/a&gt; to stay updated on all the meetups and webinars we host. Do check out some of our past meetups that we have hosted. &lt;/p&gt;

&lt;p&gt;We also expanded our footprint with meetups in the U.S. (at Austin, Virginia &amp;amp; Denver). Our team also attended &amp;amp; presented at various meetups across India, some of the notable ones include the KubernTENes Birthday bash meetup celebrating a decade of Kubernetes, DevOps Days, AWS Community Days, GitHub Constellation, GitTogether and more that fostered cloud-native collaborations.&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%2Fawffff7k9fmgsc9ftmv5.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%2Fawffff7k9fmgsc9ftmv5.png" alt="Devtron Year in Review 2024" width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;❤️ Community Growth&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Reached an incredible &lt;a href="https://linkedin.com/company/devtron-labs/?ref=devtron.ai" rel="noopener noreferrer"&gt;&lt;strong&gt;10k+ followers on Linkedin&lt;/strong&gt;&lt;/a&gt; and &lt;a href="https://github.com/devtron-labs/devtron/?ref=devtron.ai" rel="noopener noreferrer"&gt;&lt;strong&gt;4.6k GitHub Stars&lt;/strong&gt;&lt;/a&gt;, a huge thanks to our growing community for the support and love. These valuable connections &amp;amp; conversations are not just memories; they are the building blocks that are guiding our strategic vision for the year ahead.&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%2F7vl04df268mcxj5n03bs.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%2F7vl04df268mcxj5n03bs.png" alt="Devtron Year in Review 2024" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Looking Ahead
&lt;/h2&gt;

&lt;p&gt;As we move into 2025, we remain committed to empowering teams with tools that simplify Kubernetes management and accelerate development cycles. With your support, we’re excited to continue this Cloud Native journey of innovation and &lt;a href="https://rebrand.ly/Devtron-Discord?ref=devtron.ai" rel="noopener noreferrer"&gt;community building&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here’s to another incredible year ahead together, let’s redefine what’s possible in the cloud-native world. 🚀&lt;/p&gt;

</description>
      <category>devtron</category>
      <category>kubernetes</category>
      <category>devops</category>
    </item>
    <item>
      <title>KubeCon India 2024 Recap</title>
      <dc:creator>Akanksha Bhasin</dc:creator>
      <pubDate>Thu, 26 Dec 2024 05:30:51 +0000</pubDate>
      <link>https://forem.com/devtron_/kubecon-india-2024-recap-1gi</link>
      <guid>https://forem.com/devtron_/kubecon-india-2024-recap-1gi</guid>
      <description>&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%2Fkjcfm3hhoxw9ug44inzs.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%2Fkjcfm3hhoxw9ug44inzs.png" alt="KubeCon India 2024 Recap" width="800" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;KubeCon has always been a significant event in the cloud-native ecosystem. After a long journey, India finally had its first KubeCon in Delhi on the 11th and 12th of December. After a long wait, KubeCon was finally organized in India, giving the Indian community an amazing opportunity to attend a KubeCon and network with some of the amazing folks within the industry. India is among the top five countries with the most active contributors, and this number is rapidly growing. &lt;/p&gt;

&lt;p&gt;KubeCon India was a remarkable experience, and there were a lot of key takeaways that team Devtron had from the event. Let’s dive into all of the new announcements and learnings from KubeCon India.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keynote Highlights
&lt;/h2&gt;

&lt;p&gt;The event started with the iconic KubeCon keynotes. The Day 1 keynotes focused on sharing the amazing scaling power of Kubernetes and highlighted the entire Kubernetes journey from its origin, to where it is today, and what is to come. The Day 2 Keynotes focused more on the role of AI in the Kubernetes ecosystem, and the two technologies will continue to integrate. Let’s take a quick recap of the themes that were being discussed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Service Mesh Adoption at Scale:&lt;/strong&gt; Purushotham Malipedda and I V Prasad Reddy from Flipkart, one of India’s largest E-commerce websites, took to the stage to explain their journey of adopting a service mesh. They were facing challenges with scaling their workloads and implementing disaster recovery mechanisms. They onboarded Istio and migrated around 6,000 services, giving them the ability to leverage the mesh’s features such as service graphs and securing east-west traffic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Cloud Native Story:&lt;/strong&gt; Nikhita Raghunath from VMware in her keynote walked through the entire journey of Kubernetes and cloud-native, and how it has evolved over the years. From the creation of the first containers to Kubernetes and where it has evolved from there. We’ve moved over to a standardized container runtime i.e. CRI, and even have the WASM runtime. Kubernetes has matured into a stable technology that folks are beginning to adopt. Nikita shared that the next few years of Kubernetes are going to be all-around optimization, from cost to performance, as well as improving the multi-cloud strategy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Unison of Cloud Native and AI:&lt;/strong&gt; During the Keynotes of Day 2, AI was all the hype. Aparna Subramanian and Sumedh Degaonkar from Shopify talked about how they searched and found Kubernetes to be the perfect orchestration tool for deploying their AI and ML workloads. Arun Gupta from Intel walked through CNCF’s AI Working Group and talked about the entire cloud native AI landscape and how it’s evolving. Finally, Janakiram talked about how they orchestrated AI agents in Kubernetes using the built-in Kubernetes properties such as CustomResourceDefinitions, StatefulSets, and HorizontalPodAutoscalers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fya03n1lpqzqvvn6xeir9.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%2Fya03n1lpqzqvvn6xeir9.png" alt="KubeCon India 2024 Recap" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;[Fig.1] Keynote Sessions&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Recommended Sessions to Watch
&lt;/h2&gt;

&lt;p&gt;KubeCon India had a plethora of talks on AI, WASM, Operational optimization, and much more. While there was a ton of information to learn from the talks, a few stood out. We recommend rewatching some of the following talks once they are out. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;How a Small Step turned into a Giant Leap to Cloud Native Adoption for an Enterprise:&lt;/strong&gt; Ashwin Gupta and Shubham Bansal, from Fidelity share their entire journey on how they adopted the cloud and cloud-native technologies. Initially, they started using open-source technologies and now, they have an entire stack of OSS tools from Kubernetes, Argo, Elastic, Helm, Cilium, and many more. This talk highlights all of the challenges that global financially regulated organizations can face when adopting Open Source technologies and the learnings Fidelity had along the way,&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimizing 5G Networks: Deploying AI/ML Workloads with AIMLFW of O-RAN SC:&lt;/strong&gt; Subash Kumar Singh from Samsung explored the AI/ML Framework (AIMLFW) within O-RAN SC (O-RAN Software Community) community. It was designed for dynamic and efficient 5G network management. This talk covered some of the core challenges in AI/ML workflows for distributed 5G networks, and how to overcome them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ensuring Seamless Service Continuity in 5G: Enhancing Kubernetes Disaster Recovery in Telecom:&lt;/strong&gt; Ganesh Chandrasekaran and Saurabh Swaraj from Samsung’s R&amp;amp;D department highlighted the importance of having proper service availability in the telecom industry and the importance of making local and geographic redundancy for disaster recovery. This session explores a Kubernetes native solution to bridge the gap between existing tools such as Velero, Portworx, and Stash and offer seamless redundancy for telecom workload. This talk walks through some CNCF projects including Nephio for intent-based automation and Prometheus for real-time Monitoring in the Telco space.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is GitOps a Broken Experience? Where’s the Ops in GitOps?:&lt;/strong&gt; Rajalakshmi Kamath V from VMWare delved into the limitations of GitOps in large-scale Kubernetes environments. The talk focused on GitOps’ inability to provide real-time visibility into the actual state of the system or immediate operational control during outages. Drawing from Walmart’s experience managing over 200,000 workloads and 10,000 daily deployments across thousands of clusters, the session highlighted the need for complementary operational tools. These tools enhance observability and runtime state insights, bridging critical gaps in GitOps workflows and ensuring greater resilience and efficiency in managing Kubernetes workloads.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scaling Private LLM Model Services with Kserve and Modelcar OCI: A Real-World Implementation:&lt;/strong&gt; Mayuresh Krishna from Initializ highlighted how Kubernetes, Kserve, and Modelcar OCI storage simplify the deployment and scaling of private LLM services. The talk addressed the challenges of complexity and cost and demonstrated how Kserve enables efficient, scalable model serving with optimized GPU utilization and how Modelcar OCI artifacts streamline artifact delivery by reducing duplicate storage, enhancing download speeds, and minimizing governance overhead.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GenAI Recipes for Cloud Native Deployment:&lt;/strong&gt; Arun Gupta and Kaushal Desai introduced OPEA, the Open Platform for Enterprise AI, that provides a framework of composable microservices for deploying GenAI applications. It showcased the process for deploying systems like ChatQnA, CodeGen, and RAG on Kubernetes across various Cloud Providers. The session showed the use of diverse data stores, including open-source vector databases and managed services, and highlighted scale testing with over 50,000 documents.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Faster Deployments at PepsiCo with Self-SErvice Continuous Delivery using the App of Apps Pattern:&lt;/strong&gt; Chaitanya and Prasanti Kadiyala from PepsiCo transitioned to the GitOps methodology using ArgoCD for streamlining the deployment workflows. They leveraged ArgoCD's App of Apps pattern, to define a bootstrapper Application, enabling the automation of application deployment which allowed them to achieve self-service Continuous Delivery, empowering teams to independently manage their deployments while maintaining centralized control and visibility. This talk highlights the various challenges while adopting GitOps including managing dependencies, configuring environments and ensuring consistency across deployments.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Devtron at KubeCon India
&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%2F01ruzposq1ix2gz2ne37.jpg" 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%2F01ruzposq1ix2gz2ne37.jpg" alt="KubeCon India 2024 Recap" width="800" height="600"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;[Fig.2] Team Devtron at KubeCon India&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The Devtron team had attended KubeCon India, with high spirits and a secret plan in the works. During the main conference, we had some amazing conversations with folks who have been involved in the tech and cloud-native landscape for decades. Some of the memorable conversations we had have been around Platform Engineering, Kubernetes Challenges, WASM, Observability, and how the cloud-native landscape has evolved over the past couple of years.&lt;/p&gt;

&lt;p&gt;Close to the end of the first day of the event, Devtron’s secret plan had begun execution. We organized a memorable networking party with our friends at Middleware. It was an evening full of insightful industry conversations, where founders, engineering managers, and Kubernetes experts from various companies came together over dinner to exchange ideas and foster new connections. Later we threw a DJ night and it was the most happening party in the town ever! &lt;/p&gt;

&lt;p&gt;Here are some pictures to help attendees relive the excitement, and for folks who couldn’t make it, we hope to see you at the next KubeCon.&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%2F3trcxstmrdzw7o1chcms.JPG" 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%2F3trcxstmrdzw7o1chcms.JPG" alt="KubeCon India 2024 Recap" width="800" height="533"&gt;&lt;/a&gt;&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%2Fe28xayxzn94fixau1tt0.JPG" 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%2Fe28xayxzn94fixau1tt0.JPG" alt="KubeCon India 2024 Recap" width="800" height="533"&gt;&lt;/a&gt;&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%2Fhwy86fmnsjg10m2qbivh.JPG" 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%2Fhwy86fmnsjg10m2qbivh.JPG" alt="KubeCon India 2024 Recap" width="800" height="533"&gt;&lt;/a&gt;&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%2Faexc9k3q9fv0io3f93s8.JPG" 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%2Faexc9k3q9fv0io3f93s8.JPG" alt="KubeCon India 2024 Recap" width="800" height="533"&gt;&lt;/a&gt;&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%2Fnwdx3plig0meekhdb9ec.JPG" 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%2Fnwdx3plig0meekhdb9ec.JPG" alt="KubeCon India 2024 Recap" width="800" height="533"&gt;&lt;/a&gt;&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%2Fnjegfvucqa288fjr60k9.JPG" 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%2Fnjegfvucqa288fjr60k9.JPG" alt="KubeCon India 2024 Recap" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conversations with Industry Veterans
&lt;/h2&gt;

&lt;p&gt;In the two exciting days of KubeCon, we were also able to interview some people who are working on some groundbreaking technologies and who have been involved in the landscape for years to ask them their thoughts on where the industry is headed as a whole.&lt;/p&gt;

&lt;p&gt;Please check out our &lt;a href="https://www.youtube.com/playlist?list=PLMdmkgzWAq-7MbR-YRfF6THXkokonO5N2&amp;amp;ref=devtron.ai" rel="noopener noreferrer"&gt;&lt;u&gt;YouTube channel to hear our conversations&lt;/u&gt;&lt;/a&gt; and gain insights into the direction of Kubernetes and cloud-native.&lt;/p&gt;

&lt;p&gt;See you all at our next event!&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devtron</category>
    </item>
    <item>
      <title>Best 5 Alternatives to Kubernetes Dashboard</title>
      <dc:creator>Akanksha Bhasin</dc:creator>
      <pubDate>Wed, 30 Oct 2024 17:23:44 +0000</pubDate>
      <link>https://forem.com/devtron_/best-5-alternatives-to-kubernetes-dashboard-ej3</link>
      <guid>https://forem.com/devtron_/best-5-alternatives-to-kubernetes-dashboard-ej3</guid>
      <description>&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%2Fstkk3m71tjrx5t172cud.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%2Fstkk3m71tjrx5t172cud.png" alt="Best 5 Alternatives to Kubernetes Dashboard" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While Kubernetes excels at scaling and operating systems efficiently, at larger scales the complexities of Kubernetes hamper the operational efficiency of teams. Key challenges emerge when organizations manage multiple clusters across regions, primarily relying on traditional command-line tools like &lt;code&gt;kubectl&lt;/code&gt;. The absence of comprehensive visibility and frequent context switching between clusters for routine tasks significantly impacts productivity, making cluster management increasingly challenging at scale.&lt;/p&gt;

&lt;p&gt;To eliminate the operational challenges of Kubernetes and provide an ease of managing Kubernetes clusters the Kubernetes dashboard was introduced. The Kubernetes dashboard is a web-based interface for managing your Kubernetes clusters. The Kubernetes dashboard provides a visual overview of your Kubernetes clusters and their workloads. You can use the Kubernetes dashboard to deploy containerized applications, troubleshoot your containerized applications, and manage the cluster resources. To read more about the Kubernetes dashboard &lt;a href="https://devtron.ai/what-is-kubernetes-dashboard?ref=devtron.ai" rel="noopener noreferrer"&gt;&lt;u&gt;refer to this blog&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In this blog, we will discuss powerful alternatives to the Kubernetes dashboard and examine their features and capabilities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why to Look for Alternatives to Kubernetes Dashboard
&lt;/h2&gt;

&lt;p&gt;The default Kubernetes dashboard offers basic visualization and operational capabilities for infrastructure management. However, it falls short of being a comprehensive Kubernetes management solution. Some of the key limitations of the default Kubernetes dashboard are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Limited Multi-Cluster Management&lt;/strong&gt; : The default Kubernetes dashboard is designed to manage single clusters, making it inefficient for organizations running multiple clusters across different regions. Teams need a unified view to manage and monitor all clusters from a single interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lack of Advanced Analytics&lt;/strong&gt; : The native dashboard provides basic metrics and visualization capabilities, lacking advanced analytics, and detailed insights needed for effective resource optimization and troubleshooting at scale.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Limited Access Management Support&lt;/strong&gt; : The dashboard does not provide a user-friendly way to implement fine-grained RBAC policies. Even with a Kubernetes dashboard, you need to manage robust RBAC through complex CLI tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Limited Dashboard Functionality&lt;/strong&gt; : The default Kubernetes dashboard provides basic cluster visualization and simple operations but lacks advanced features like real-time monitoring, robust troubleshooting tools, and integrated logging capabilities, requiring administrators to use multiple external tools for comprehensive cluster management.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Alternatives to Kubernetes Dashboard
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Devtron&lt;/strong&gt;
&lt;/h3&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%2F1duglagoo6bvh089y1i7.gif" 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%2F1duglagoo6bvh089y1i7.gif" alt="Image description" width="800" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Devtron’s Kubernetes dashboard is a modern Kubernetes management platform that provides operational efficiency over multiple Kubernetes clusters. The Devtron’s Kubernetes dashboard provides 360-degree visibility for the resources of your multiple Kubernetes clusters. Along with the visibility the dashboard provides capabilities like taking actions like visualizing and editing live Manifests, checking Events, and Logs, and a dedicated Terminal for debugging specific pods, which helps teams in troubleshooting tasks. &lt;/p&gt;

&lt;p&gt;When it comes to managing access to your multiple Kubernetes clusters, Devtron’s Kubernetes dashboard simplifies the RBAC and provides you with the capability to configure robust and fine-grained access control through an intuitive UI. Devtron also provides support for seven SSOs to facilitate access to your Kubernetes infrastructure.&lt;/p&gt;

&lt;p&gt;Devtron's Kubernetes dashboard extends its capabilities with comprehensive application management across Kubernetes clusters. Devtron comes with an in-built marketplace for Helm applications that streamlines the configuration and deployment of Helm applications. Beyond Helm support, Devtron provides unified visibility for applications deployed through tools like ArgoCD and FluxCD applications, offering a centralized view of all applications running within specific Kubernetes clusters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overview:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Cluster Operations Hub -&lt;/strong&gt; Centralized dashboard providing 360-degree visibility and operational control across multiple Kubernetes clusters, enabling efficient management of distributed infrastructure from a single platform.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Advanced Troubleshooting Suite -&lt;/strong&gt; Comprehensive debugging features like live manifest visualization/editing, event monitoring, real-time log streaming, and integrated pod terminal access for quick problem resolution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise-Grade Access Control -&lt;/strong&gt; Simplified RBAC management through intuitive UI with fine-grained access control capabilities and support for seven SSO providers, making Kubernetes infrastructure access both secure and convenient.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unified Application Management -&lt;/strong&gt; Built-in Helm marketplace for streamlined application deployment, plus integrated visibility for GitOps tools (ArgoCD, FluxCD), providing centralized control over all applications across clusters.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Streamline your Kubernetes workflow with Devtron's intuitive dashboard and check out their &lt;a href="https://github.com/devtron-labs/devtron/?tab=readme-ov-file" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt; to get started.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. OpenLens
&lt;/h3&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%2Fdevtron.ai%2Fblog%2Fcontent%2Fimages%2F2024%2F10%2Fopen-lens.webp" 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%2Fdevtron.ai%2Fblog%2Fcontent%2Fimages%2F2024%2F10%2Fopen-lens.webp" alt="Best 5 Alternatives to Kubernetes Dashboard" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;OpenLens is an open-source distribution of the popular Lens IDE. It’s specifically tailored for those who want the Lens experience but with more flexibility and less vendor lock-in. OpenLens is lightweight, user-friendly, and provides a powerful visual interface for managing Kubernetes clusters. OpenLens focuses on providing a streamlined experience, making it easier to manage and troubleshoot clusters without the overhead.&lt;/p&gt;

&lt;p&gt;OpenLens focuses on providing a simpler, more streamlined experience, making it a good choice for those who prefer a more lightweight tool without sacrificing power.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overview:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Cluster Management -&lt;/strong&gt; Unified view and management of multiple K8s clusters through a single pane of glass. Which enables teams to perform quick switches between clusters and consolidated monitoring across your entire K8s infrastructure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Resource Visualization -&lt;/strong&gt; Interactive graphical displays of pod status, resource usage, and cluster metrics with drill-down capabilities for detailed analysis of containers, logs, and events in real-time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built-in Terminal Access -&lt;/strong&gt; Direct terminal access to containers and nodes from within the UI, allowing quick debugging and troubleshooting without needing to switch between tools or use kubectl commands separately.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Skooner
&lt;/h3&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%2Ftn9hgpah2fsc8vq58mgl.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%2Ftn9hgpah2fsc8vq58mgl.png" alt="Best 5 Alternatives to Kubernetes Dashboard" width="800" height="586"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Skooner (formerly K8Dash) is a web-based Kubernetes dashboard that offers a clean and straightforward interface for managing your clusters. It’s designed to be fast and intuitive, making it a great choice for teams that need a simple yet powerful tool. Skooner keeps things simple, focusing on what matters most—efficient cluster management.&lt;/p&gt;

&lt;p&gt;Skooner shines when you need a quick and easy way to monitor and manage your Kubernetes clusters without getting bogged down in complex features.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Overview: *&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Resource-Centric Navigation -&lt;/strong&gt; Skooner provides an Intuitive navigation capability around K8s resources (pods, services, deployments) with quick filters and search capabilities that make it easier for you to find and manage specific components in large Kubernetes clusters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live Health Monitoring -&lt;/strong&gt; Real-time health status indicators for all resources with visual alerts for issues, enabling you to quickly spot and respond to problems across namespaces and resource types.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lightweight &amp;amp; Fast Interface -&lt;/strong&gt; Minimalist, performance-focused design that loads and updates quickly even with large clusters, making it more responsive than the default dashboard for day-to-day operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Headlamp
&lt;/h3&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%2F9m21pncyn15a5u20s5tv.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%2F9m21pncyn15a5u20s5tv.png" alt="Best 5 Alternatives to Kubernetes Dashboard" width="800" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Headlamp is another excellent alternative to the default Kubernetes dashboard, offering a more developer-centric approach to Kubernetes management. It’s open-source, with a focus on providing a great user experience for those working directly with Kubernetes. Headlamp is particularly well-suited for development teams who need quick access to the details of their clusters without dealing with the complexities of the CLI tool.&lt;/p&gt;

&lt;p&gt;Headlamp offers a clean and intuitive UI, providing a refreshing alternative that’s easier to navigate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overview:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Developer-Focused -&lt;/strong&gt; Designed with developers in mind, offering quick access to necessary tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Cluster Management -&lt;/strong&gt; Seamless handling of multiple clusters with easy switching and unified view, while maintaining separate contexts and configurations for each cluster.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource Editing &amp;amp; Management -&lt;/strong&gt; Direct YAML editing and updating of Kubernetes resources through the UI, with validation and preview capabilities before applying changes to prevent configuration errors.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Octant
&lt;/h3&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%2Fs8gopmwawn05grk59ncb.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%2Fs8gopmwawn05grk59ncb.png" alt="Best 5 Alternatives to Kubernetes Dashboard" width="800" height="585"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Octant is a highly visual, open-source tool designed for inspecting and understanding Kubernetes clusters. It’s particularly strong in providing insights into what’s happening within your clusters, making it a valuable tool for debugging and troubleshooting. Octant offers a more in-depth view of your Kubernetes environment compared to the default Kubernetes dashboard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overview:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plugin Extensibility -&lt;/strong&gt; Built-in plugin system supporting integration with tools like Helm, Starboard, and Knative, allowing developers to extend functionality beyond basic Kubernetes operations based on their needs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource Viewer &amp;amp; Navigation -&lt;/strong&gt; Comprehensive view of workloads and resources within namespaces, with filtering capabilities and real-time status updates of applications, making it easier to monitor and manage Kubernetes cluster resources.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;While the default Kubernetes dashboard provides a basic interface for managing Kubernetes clusters, its limitations in multi-cluster management, advanced analytics and role-based access control. Tools like Devtron, OpenLens, Skooner, Headlamp and Octant offer enhanced capabilities that address these shortcomings, providing users with improved visibility, streamlined operations, and better troubleshooting features. By adopting these alternatives, organizations can significantly enhance their operational efficiency and effectively manage their Kubernetes environments at scale.&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources to Read
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://devtron.ai/what-is-kubernetes-dashboard?ref=devtron.ai" rel="noopener noreferrer"&gt;What is Kubernetes Dashboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devtron.ai/blog/devtron-vs-openlens-a-comparative-analysis/" rel="noopener noreferrer"&gt;Devtron VS OpenLens&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devtron.ai/blog/the-kubernetes-dashboard-you-need/" rel="noopener noreferrer"&gt;Devtron VS Octant&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;If you have any questions, or want to discuss any specific usecase, feel free to&lt;/em&gt; &lt;a href="https://rebrand.ly/devtron-demo?ref=blog" rel="noopener noreferrer"&gt;connect with us&lt;/a&gt; or &lt;em&gt;ask them in our actively growing&lt;/em&gt; &lt;a href="https://rebrand.ly/Devtron-Discord?ref=devtron.ai" rel="noopener noreferrer"&gt;&lt;em&gt;Discord Community&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Happy Deploying!&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>cicd</category>
      <category>devtron</category>
      <category>devops</category>
    </item>
    <item>
      <title>SSO and RBAC: A Secure Access Strategy for your Kubernetes</title>
      <dc:creator>Devtron</dc:creator>
      <pubDate>Fri, 16 Aug 2024 03:12:22 +0000</pubDate>
      <link>https://forem.com/devtron_/sso-and-rbac-a-secure-access-strategy-for-your-kubernetes-2bma</link>
      <guid>https://forem.com/devtron_/sso-and-rbac-a-secure-access-strategy-for-your-kubernetes-2bma</guid>
      <description>&lt;p&gt;In the ever-evolving world of cloud-native computing, Kubernetes has emerged as a standard solution for container orchestration. However, managing access control across multiple Kubernetes clusters can quickly become a complex task, especially in large organizations with numerous teams and members. This is where the power of Single Sign-On (SSO) and Role-Based Access Control (RBAC) comes into play, providing a secure and efficient solution for access management.&lt;/p&gt;

&lt;h2&gt;
  
  
  Authentication/Authorization
&lt;/h2&gt;

&lt;p&gt;The very first way to secure something in the digital world is to set authentication and authorization. The authentication can be handled by SSO, and the authorization can be done through RBAC for the Kubernetes environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Challenge of Manual Access Control
&lt;/h2&gt;

&lt;p&gt;Imagine yourself as a seasoned DevOps engineer in a fast-paced cloud-native organization, responsible for managing access control across 50 Kubernetes clusters. Multiple teams are collaborating and performing deployments on these clusters at lightning speed. Manually managing access for all team members across all clusters can quickly become a nightmare.&lt;/p&gt;

&lt;p&gt;Traditionally, you would need to distribute Kubeconfig files among team members, granting them access to specific clusters. However, this approach has potential security risks because misconfigurations or misplaced files can leave clusters vulnerable to data breaches and unauthorized access. Additionally, manual RBAC configuration for each cluster is time-consuming, error-prone, and lacks fine-grained control. So when managing access control over large numbers of Kubernetes clusters using traditional methods, you can end up with the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Vulnerable clusters&lt;/strong&gt;: Team members need to have a kubeconfig file for each cluster to access it. Any misconfiguration in these files can leave clusters vulnerable to data breaches and security threats.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Distribution of Kubeconfig&lt;/strong&gt;: Sharing Kubeconfig files with team members is a challenge. An accidental leak or unauthorized access can compromise the entire cluster.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Complex RBAC&lt;/strong&gt;: In the Kubernetes cluster, you need to configure the RBAC manually. This process is time-consuming and error-prone. With this, you may not get proper, fine-grained control over your Kubernetes cluster.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;These are some major challenges that you may face when you choose to manage multiple clusters manually. And definitely, you don't want to spend time navigating through these complexities rather than focusing on what truly matters: efficient deployments and innovation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Single Sign-On (SSO) for Authentication
&lt;/h2&gt;

&lt;p&gt;SSO provides ease to the process of authentication by leveraging the concept of federated identity. Users can authenticate themselves using the existing credentials from identity providers. Using an authentication based on SSO for accessing all Kubernetes clusters. SSO will eliminate the need for distributing and managing multiple kubeconfig files to access the Kubernetes cluster, along with reducing the risk of unauthorized access to your clusters.&lt;/p&gt;

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

&lt;p&gt;We Devtron, a platform for managing your Kubernetes environments, offers an SSO solution. It's tailored specifically for Kubernetes workflows. Devtron with SSO provides you with the ease of accessing all authorized clusters with a single click. You can log in to Devtron with your single set of credentials (e.g., Google, GitHub, GitLab, etc.) and access all your Kubernetes clusters on the Devtron dashboard. So no more juggling with complex Kubeconfig files and static tokens. Devtron sprints for one extra mile; understanding the preferences and needs of every organization can be unique. For that, Devtron offers seven SSO integrations. Empowering organizations and users to choose the SSO that perfectly aligns with their existing infrastructure and security practices. Devtron offers SSO with most of the providers which can be used for authentication. Here are some of them.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Configure SSO with &lt;a href="https://docs.devtron.ai/global-configurations/authorization/sso-login/google" rel="noopener noreferrer"&gt;Google&lt;/a&gt;, &lt;a href="https://docs.devtron.ai/global-configurations/authorization/sso-login/github" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, &lt;a href="https://docs.devtron.ai/global-configurations/authorization/sso-login/gitlab" rel="noopener noreferrer"&gt;GitLab&lt;/a&gt;, &lt;a href="https://docs.devtron.ai/global-configurations/authorization/sso-login/microsoft" rel="noopener noreferrer"&gt;Microsoft&lt;/a&gt;, &lt;a href="https://docs.devtron.ai/global-configurations/authorization/sso-login/ldap" rel="noopener noreferrer"&gt;LDAP&lt;/a&gt;, &lt;a href="https://docs.devtron.ai/global-configurations/authorization/sso-login/oidc" rel="noopener noreferrer"&gt;OIDC&lt;/a&gt;, and &lt;a href="https://docs.devtron.ai/global-configurations/authorization/sso-login/openshift" rel="noopener noreferrer"&gt;OpenShift&lt;/a&gt;. You can also integrate other identity and access management tools like &lt;a href="https://docs.devtron.ai/global-configurations/authorization/sso-login/oidc/okta" rel="noopener noreferrer"&gt;Okta&lt;/a&gt; and &lt;a href="https://docs.devtron.ai/global-configurations/authorization/sso-login/oidc/keycloak" rel="noopener noreferrer"&gt;Keycloak&lt;/a&gt; for managing user permissions.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;h2&gt;
  
  
  Fine-Grained Access Control with RBAC - Authorization
&lt;/h2&gt;

&lt;p&gt;While SSO solves the authentication challenge for you. RBAC addresses the authorization aspect by allowing you to define granular permissions and restricting access to cluster resources for users. In Kubernetes, you can define roles, cluster roles, role bindings, and cluster role bindings to control access at both the namespace and cluster levels. While setting the manual configuration, you can face issues like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Error-Proneness and Complexities:&lt;/strong&gt; Configuring a vast number of roles and permissions in Kubernetes makes it difficult to configure them all accurately. You can face the issue of inconsistent configuration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scalability:&lt;/strong&gt; To allow a new team member to access your cluster, you need to configure the RBAC again. Imagine doing this for each new member and every new cluster. Manually configuring RBAC results in inefficiency.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security Concerns:&lt;/strong&gt; While configuring the RBAC manually, there are chances of granting more user access than is required. These will allow users to access sensitive resources like the production database. Now think you mistakenly granted permission to users for databases, and users will fire a delete query on that.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Devtron simplifies this process by providing a graphical user interface (GUI) for managing RBAC. RBAC in Devtron is specifically designed for the workflow of Kubernetes. It allows the administrator to manage access to Kubernetes clusters, environments, and all resources in the cluster. Ensures least-privileged access and creates a secure environment by defining roles and restricting access for other users. Devtron allows you to manage fine-grained access control down to the Kubernetes cluster resource level. You can grant users precise permissions for specific resources in the cluster. The User Access Management feature in Devtron allows you to add other users, like support engineers', and manage their access on your Devtron dashboard. You can mark the status of users as ‘Active’, ‘Inactive’, or ‘Keep active until’ (TTL). This feature gives you control over how other qualified users access your Devtron dashboard.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  The Power of SSO and RBAC Combined
&lt;/h2&gt;

&lt;p&gt;By combining SSO and RBAC, organizations can achieve a robust and secure access control strategy for their Kubernetes environments. This combination offers several benefits:&lt;/p&gt;

&lt;h3&gt;
  
  
  Enhanced Security
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;SSO for the Kubernetes environment allows you to centralize the process of authentication. Allowing you to use already-existing credentials to access all authorized clusters. SSO removes the chances of clusters getting compromised due to some misconfigurations or misplaced kubeconfig files.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RBAC allows super admins to define fine-grind permissions for users to access clusters and resources. RBAC is an authorization for your Kubernetes environment that restricts unauthorized users from accessing resources that are not permitted. This adds a layer of security post-SSO.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Setting RBAC and SSO manually for your Kubernetes environment can bring complexities. To simplify the process of setting SSO and RBAC, you can look at tools like Devtron. In Devtron, you can set SSO and RBAC both using a single dashboard and without any complexities.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Improved Manageability
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Managing multiple clusters across various environments becomes simpler with SSO. Administrators can centrally manage access for clusters rather than configuring each cluster separately.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;With RBAC, administrators can also optimize the Kubernetes environments for cost. Using RBAC, they can restrict user access and utilization of resources.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Scalability and Flexibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;SSO and RBAC can keep up with the scale of your Kubernetes environments. SSO and RBAC provide a robust framework to manage the scale of users and Kubernetes clusters. With the increased number of users, administrators can authenticate them using their Active Directory and use RBAC to allocate permissions and define roles.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Devtron allows administrators to map their existing Active Directory with Devtron SSO. With this, they can authenticate and allow team members to access all authorized microservices with a single click. Along with this, they can apply predefined roles and permissions to them. All of these are possible from a single dashboard.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;In the dynamic world of cloud-native computing, securing access to Kubernetes clusters is paramount. By leveraging the power of SSO and RBAC, organizations can streamline access management, enhance security, and ensure efficient collaboration across teams. Devtron offers a comprehensive solution, simplifying the implementation of SSO and RBAC while providing a centralized dashboard for access control management. Embrace the simplicity and security of SSO and RBAC in your Kubernetes environment, and empower your teams to innovate with confidence.&lt;/p&gt;

&lt;p&gt;Devtron's RBAC can also be extended and can be used for more secure and controlled kubectl access. Users don't have to log in to the dashboard and can use kubectl commands which would be proxied through Devtron with limited access and api-tokens given for the respective user. To learn more, check out &lt;a href="https://devtron.ai/blog/control-and-secure-kubectl-access/" rel="noopener noreferrer"&gt;this blog about control and secure kubectl access&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have any queries, don't hesitate to &lt;a href="https://rebrand.ly/devtron-demo?ref=blog" rel="noopener noreferrer"&gt;connect with us&lt;/a&gt;. Join the lively discussions and shared knowledge in our actively growing &lt;a href="https://rebrand.ly/Devtron-Discord?ref=devtron.ai" rel="noopener noreferrer"&gt;Discord Community&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devtron</category>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>12 Tools to make Kubernetes management easier in 2024</title>
      <dc:creator>Akanksha Bhasin</dc:creator>
      <pubDate>Mon, 12 Aug 2024 15:55:15 +0000</pubDate>
      <link>https://forem.com/devtron_/12-tools-to-make-kubernetes-management-easier-in-2024-2227</link>
      <guid>https://forem.com/devtron_/12-tools-to-make-kubernetes-management-easier-in-2024-2227</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7buofbflgk9gfo2v7vby.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7buofbflgk9gfo2v7vby.png" alt="12 Tools that will make Kubernetes management easier in 2024" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kubernetes, the revolutionary container orchestration platform, has empowered developers to build, deploy, and scale applications with unparalleled flexibility and efficiency for a decade. But let's be honest, Kubernetes' sheer scale and complexity can sometimes feel overwhelming, even for seasoned DevOps engineers. You're still battling tangled deployments, resource conflicts, and security concerns frequently. Developers may face distractions from core application development due to manual operational tasks and the steep learning curve.  &lt;/p&gt;

&lt;p&gt;But fear not, Intrepid CloudNative Warriors! This blog post is your guide to navigating the intricate world of Kubernetes with ease. We'll explore 12 essential tools that streamline workflows, boost efficiency, and make managing your Kubernetes management easier in 2024.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But Wait! Why Simplify Kubernetes - Management?&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;Let's face it, modern applications are demanding. You're juggling containerized workloads, scaling for peak usage, and ensuring everything runs smoothly. This is where efficient management tools come in, offering these crucial benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reduced Complexity:&lt;/strong&gt; No more wrestling with Kubectl commands or endless configuration files. These tools offer intuitive interfaces and automated processes that make your life easier. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Increased Efficiency:&lt;/strong&gt; Let's be real, you're a busy person. These tools automate repetitive tasks and streamline workflows, freeing you up to focus on problem-solving &amp;amp; innovation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhanced Security:&lt;/strong&gt; Security is non-negotiable. Dedicated security tools proactively scan for vulnerabilities, enforce policies, and help you keep your applications and infrastructure safe from harm. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved Cost Optimization:&lt;/strong&gt; You want to make the most of your resources and cost analyzers and autoscale help you optimize resource utilization, preventing over-provisioning and saving you money.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Now that we've recognized the significance, let's delve into 12 essential tools that streamline Kubernetes management.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. KEDA
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://keda.sh/?ref=devtron.ai" rel="noopener noreferrer"&gt;Keda&lt;/a&gt; (Kubernetes Event-Driven Autoscaling) is an event-driven autoscale for Kubernetes workloads. Simply defined, it can scale an application based on the number of events needing to be handled.&lt;/p&gt;

&lt;h3&gt;
  
  
  Installing KEDA
&lt;/h3&gt;

&lt;p&gt;KEDA has well-documented steps for installation in their documentation. You can install it with &lt;a href="https://keda.sh/docs/2.15/deploy/?ref=devtron.ai" rel="noopener noreferrer"&gt;Helm, Operator Hub, or YAML declarations&lt;/a&gt;. In this blog, let's go with the helm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Add Helm Repo&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo add kedacore https://kedacore.github.io/charts

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Update Helm Repo&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo update

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Install KEDA in &lt;code&gt;keda&lt;/code&gt; Namespace&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install keda kedacore/keda --namespace keda --create-namespace

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;p&gt;KEDA is a classic example of autoscaling based on different metrics. When you want to autoscale your application beyond the resource metrics like CPU/ Memory, you can use KEDA. It listens to specific events such as messages from message queues, HTTP requests, custom Prometheus metrics, Kafka lag, etc. &lt;a href="https://devtron.ai/blog/introduction-to-kubernetes-event-driven-autoscaling-keda/" rel="noopener noreferrer"&gt;To deep dive into KEDA, check out this blog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Karpenter
&lt;/h2&gt;

&lt;p&gt;Built in AWS, &lt;a href="https://karpenter.sh/?ref=devtron.ai" rel="noopener noreferrer"&gt;Karpenter&lt;/a&gt; is a high-performance, flexible, open-source Kubernetes cluster auto-scaler. One of its key features is the ability to launch EC2 instances based on specific workload requirements such as storage, compute, acceleration, and scheduling needs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;Install Karpenter in the Kubernetes cluster using Helm charts. But before doing this, you must ensure enough computing capacity is available. Karpenter requires permissions to provision compute resources that are based on the cloud provider you have chosen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Install Utilities&lt;/p&gt;

&lt;p&gt;Karpenter can be installed in clusters using a Helm chart. Install these tools before proceeding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html?ref=devtron.ai" rel="noopener noreferrer"&gt;AWS CLI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;kubectl - &lt;a href="https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/?ref=devtron.ai" rel="noopener noreferrer"&gt;the Kubernetes CLI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;eksctl (&amp;gt;= v0.180.0) - &lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html?ref=devtron.ai" rel="noopener noreferrer"&gt;the CLI for AWS EKS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;helm - &lt;a href="https://helm.sh/docs/intro/install/?ref=devtron.ai" rel="noopener noreferrer"&gt;the package manager for Kubernetes&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html?ref=devtron.ai" rel="noopener noreferrer"&gt;Configure the AWS CLI&lt;/a&gt; with a user that has sufficient privileges to create an EKS cluster. Verify that the CLI can authenticate properly by running aws sts get-caller-identity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Set Environment Variables&lt;/p&gt;

&lt;p&gt;After installing the dependencies, set the Karpenter namespace, version and Kubernetes version as follows.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export KARPENTER_NAMESPACE="kube-system"
export KARPENTER_VERSION="0.37.0"
export K8S_VERSION="1.30"

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

&lt;/div&gt;



&lt;p&gt;Then set the following environment variables which would be further used for creating an EKS cluster.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export AWS_PARTITION="aws" # if you are not using standard partitions, you may need to configure to aws-cn / aws-us-gov
export CLUSTER_NAME="${USER}-karpenter-demo"
export AWS_DEFAULT_REGION="us-west-2"
export AWS_ACCOUNT_ID="$(aws sts get-caller-identity --query Account --output text)"
export TEMPOUT="$(mktemp)"
export ARM_AMI_ID="$(aws ssm get-parameter --name /aws/service/eks/optimized-ami/${K8S_VERSION}/amazon-linux-2-arm64/recommended/image_id --query Parameter.Value --output text)"
export AMD_AMI_ID="$(aws ssm get-parameter --name /aws/service/eks/optimized-ami/${K8S_VERSION}/amazon-linux-2/recommended/image_id --query Parameter.Value --output text)"
export GPU_AMI_ID="$(aws ssm get-parameter --name /aws/service/eks/optimized-ami/${K8S_VERSION}/amazon-linux-2-gpu/recommended/image_id --query Parameter.Value --output text)"

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Create a Cluster&lt;/p&gt;

&lt;p&gt;The following configs will create an EKS cluster with the user configured in aws-cli having the relevant permissions to create an EKS cluster.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -fsSL https://raw.githubusercontent.com/aws/karpenter-provider-aws/v"${KARPENTER_VERSION}"/website/content/en/preview/getting-started/getting-started-with-karpenter/cloudformation.yaml &amp;gt; "${TEMPOUT}" \
&amp;amp;&amp;amp; aws cloudformation deploy \
  --stack-name "Karpenter-${CLUSTER_NAME}" \
  --template-file "${TEMPOUT}" \
  --capabilities CAPABILITY_NAMED_IAM \
  --parameter-overrides "ClusterName=${CLUSTER_NAME}"

eksctl create cluster -f - &amp;lt;&amp;lt;EOF
---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
  name: ${CLUSTER_NAME}
  region: ${AWS_DEFAULT_REGION}
  version: "${K8S_VERSION}"
  tags:
    karpenter.sh/discovery: ${CLUSTER_NAME}

iam:
  withOIDC: true
  podIdentityAssociations:
  - namespace: "${KARPENTER_NAMESPACE}"
    serviceAccountName: karpenter
    roleName: ${CLUSTER_NAME}-karpenter
    permissionPolicyARNs:
    - arn:${AWS_PARTITION}:iam::${AWS_ACCOUNT_ID}:policy/KarpenterControllerPolicy-${CLUSTER_NAME}

iamIdentityMappings:
- arn: "arn:${AWS_PARTITION}:iam::${AWS_ACCOUNT_ID}:role/KarpenterNodeRole-${CLUSTER_NAME}"
  username: system:node:{{EC2PrivateDNSName}}
  groups:
  - system:bootstrappers
  - system:nodes
  ## If you intend to run Windows workloads, the kube-proxy group should be specified.
  # For more information, see https://github.com/aws/karpenter/issues/5099.
  # - eks:kube-proxy-windows

managedNodeGroups:
- instanceType: m5.large
  amiFamily: AmazonLinux2
  name: ${CLUSTER_NAME}-ng
  desiredCapacity: 2
  minSize: 1
  maxSize: 10

addons:
- name: eks-pod-identity-agent
EOF

export CLUSTER_ENDPOINT="$(aws eks describe-cluster --name "${CLUSTER_NAME}" --query "cluster.endpoint" --output text)"
export KARPENTER_IAM_ROLE_ARN="arn:${AWS_PARTITION}:iam::${AWS_ACCOUNT_ID}:role/${CLUSTER_NAME}-karpenter"

echo "${CLUSTER_ENDPOINT} ${KARPENTER_IAM_ROLE_ARN}"

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

&lt;/div&gt;



&lt;p&gt;Unless your AWS account has already been onboarded to EC2 Spot, you will need to create the service-linked role to avoid the &lt;code&gt;ServiceLinkedRoleCreationNotPermitted&lt;/code&gt;&lt;a href="https://karpenter.sh/docs/troubleshooting/?ref=devtron.ai#missing-service-linked-role" rel="noopener noreferrer"&gt;error&lt;/a&gt;.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws iam create-service-linked-role --aws-service-name spot.amazonaws.com || true
# If the role has already been successfully created, you will see:
# An error occurred (InvalidInput) when calling the CreateServiceLinkedRole operation: Service role name AWSServiceRoleForEC2Spot has been taken in this account, please try a different suffix.

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Install Karpenter&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Logout of helm registry to perform an unauthenticated pull against the public ECR
helm registry logout public.ecr.aws

helm upgrade --install karpenter oci://public.ecr.aws/karpenter/karpenter --version "${KARPENTER_VERSION}" --namespace "${KARPENTER_NAMESPACE}" --create-namespace \
  --set "settings.clusterName=${CLUSTER_NAME}" \
  --set "settings.interruptionQueue=${CLUSTER_NAME}" \
  --set controller.resources.requests.cpu=1 \
  --set controller.resources.requests.memory=1Gi \
  --set controller.resources.limits.cpu=1 \
  --set controller.resources.limits.memory=1Gi \
  --wait

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

&lt;/div&gt;



&lt;p&gt;Once the installation is done, you can create NodePool and define the instance family, architecture, and start using Karpenter as your cluster autoscaler. For &lt;a href="https://karpenter.sh/docs/getting-started/?ref=devtron.ai" rel="noopener noreferrer"&gt;detailed installation information and its usage, feel free to refer to its documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;p&gt;Karpenter is used to automatically provision and optimize Kubernetes cluster resources, ensuring efficient and cost-effective scaling. It dynamically adjusts node capacity based on workload demands, reducing over-provisioning and underutilization, thus enhancing performance and lowering cloud infrastructure costs. Check out &lt;a href="https://devtron.ai/blog/karpenter-vs-kubernetes-cluster-autoscaler-choosing-right-autoscaling-tool/" rel="noopener noreferrer"&gt;this blog to understand in-depth about Karpenter and Cluster Autocaler&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  3.  Devtron
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://devtron.ai/?ref=devtron.ai" rel="noopener noreferrer"&gt;Devtron&lt;/a&gt; is a tool integration platform for Kubernetes and enables swift app containerization, seamless Kubernetes deployment, and peak performance optimization. It deeply integrates with products across the lifecycle of microservices i.e., CI/CD, security, cost, debugging, and observability via an intuitive web interface.&lt;br&gt;&lt;br&gt;
Devtron helps you to deploy, observe, manage &amp;amp; debug the existing Helm apps in all your clusters.&lt;/p&gt;
&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;Run the following command to install the latest version of Devtron along with the CI/CD module:&lt;/p&gt;




&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo add devtron https://helm.devtron.ai 

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

&lt;/div&gt;


&lt;p&gt;&amp;lt;!--kg-card-end: markdown--&amp;gt;&amp;lt;!--kg-card-begin: markdown--&amp;gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo update devtron

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

&lt;/div&gt;



&lt;p&gt;&amp;lt;!--kg-card-end: markdown--&amp;gt;&amp;lt;!--kg-card-begin: markdown--&amp;gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install devtron devtron/devtron-operator \
--create-namespace --namespace devtroncd \
--set installer.modules={cicd}

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

&lt;/div&gt;



&lt;p&gt;Check out the complete &lt;a href="https://docs.devtron.ai/install?ref=devtron.ai" rel="noopener noreferrer"&gt;guide&lt;/a&gt; here. If you have questions, please let us know on our &lt;a href="https://rebrand.ly/devtron-discord?ref=devtron.ai" rel="noopener noreferrer"&gt;discord channel.&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;p&gt;Devtron simplifies Kubernetes adoption by addressing key challenges, making it easier to deploy, monitor, observe, and debug applications at scale.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here's how Devtron helps:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Simplifying the Adoption Process:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Single Pane of Glass:&lt;/strong&gt; Provides a unified view of all Kubernetes resources, enabling easy navigation and understanding of cluster components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Application Status Monitoring:&lt;/strong&gt; Displays the health and status of applications in real time, highlighting potential issues and unhealthy components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplified Debugging:&lt;/strong&gt; Offers tools like event logs, pod logs, and interactive shells for debugging issues within the Kubernetes environment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Containerization Made Easy:&lt;/strong&gt; Provides templates and options for building container images, simplifying the containerization process for various frameworks and languages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Streamlining Tool Integration:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Helm Marketplace:&lt;/strong&gt; Integrates with the Helm chart repository to easily deploy and manage various Kubernetes tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built-in Integrations:&lt;/strong&gt; Offers native integrations with popular tools like Grafana, Trivy, and Clair for enhanced functionality.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Simplifying Multi-Cluster/Cloud Workloads:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Centralized Visibility:&lt;/strong&gt; Provides a unified view of applications across multiple clusters and cloud environments, enabling consistent management.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Environment-Specific Configurations:&lt;/strong&gt; Allows setting environment-specific configurations, making it easier to manage applications in diverse environments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Simplifying DevSecOps:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fine-Grained Access Control:&lt;/strong&gt; Enables granular control over user permissions for Kubernetes resources, ensuring secure access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security Scanning and Policies:&lt;/strong&gt; Offers built-in security scanning with Trivy and allows configuring policies to enforce security best practices.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. K9s
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://k9scli.io/?ref=devtron.ai" rel="noopener noreferrer"&gt;K9s&lt;/a&gt; is a terminal-based UI to interact with your Kubernetes clusters. This project aims to make it easier to navigate, observe, and manage your deployed applications in the wild. K9s continually watch Kubernetes for changes and offer subsequent commands to interact with your observed resources.&lt;/p&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;K9s is available on Linux, macOS, and Windows platforms. You can get the latest binaries for different architectures and operating systems from the &lt;a href="https://github.com/derailed/k9s/releases?ref=devtron.ai" rel="noopener noreferrer"&gt;releases on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MacOS/ Linux&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; # Via Homebrew
 brew install derailed/k9s/k9s
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Via chocolatey
choco install k9s

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

&lt;/div&gt;



&lt;p&gt;For other ways of installation, feel free to check out the &lt;a href="https://k9scli.io/topics/install/?ref=devtron.ai" rel="noopener noreferrer"&gt;documentation of K9s&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;p&gt;K9s make it much easier as compared to other Kubernetes clients like kubectl to manage and orchestrate applications on Kubernetes. You get a terminal-based GUI which helps you manage your resources,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Resource Monitoring and Visibility&lt;/strong&gt; : It provides continuous monitoring of your Kubernetes cluster, offering a clear view of resource statuses. It helps you understand your K8s cluster by displaying information about pods, deployments, services, nodes, and more. With K9s, you can easily navigate through cluster resources, ensuring better visibility and awareness.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource Interaction and Management&lt;/strong&gt; : K9s allows you to interact with resources directly from the terminal. You can view, edit, and delete resources without switching to a separate management tool. Common operations include scaling deployments, restarting pods, and inspecting logs. You can also initiate port-forwarding to access services running within pods.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Namespace Management&lt;/strong&gt; : This lets you focus on specific namespaces within your cluster. You can switch between namespaces seamlessly, making it easier to work with isolated environments. By filtering resources based on namespaces, you can avoid clutter and stay organized.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Advanced Features&lt;/strong&gt; : It also offers advanced capabilities, such as opening a shell in a container directly from the UI. It supports context switching between different clusters, making it convenient for multi-cluster environments. Additionally, K9s integrate with vulnerability scanning tools, enhancing security practices.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5.  Winter Soldier
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/devtron-labs/winter-soldier?ref=devtron.ai" rel="noopener noreferrer"&gt;Winter Soldier&lt;/a&gt; is an open-source tool from Devtron, it enables time-based scaling for Kubernetes workloads. The time-based scaling with Winter Soldier helps us to reduce the cloud cost, it can be deployed to execute things such as:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Batch deletion of the unused resources&lt;/li&gt;
&lt;li&gt;Scaling of Kubernetes workloads&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;If you want to dive deeper into it, please check the following resources -&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Installation steps - &lt;a href="https://devtron.ai/blog/winter-soldier-scale-down-your-infrastructure-in-the-easiest-possible-way/" rel="noopener noreferrer"&gt;https://devtron.ai/blog/winter-soldier-scale-down-your-infrastructure-in-the-easiest-possible-way&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Please star us on our Github: &lt;a href="https://github.com/devtron-labs/winter-soldier?ref=devtron.ai" rel="noopener noreferrer"&gt;https://github.com/devtron-labs/winter-soldier&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;p&gt;Winter Soldier is a valuable tool for anyone who wants to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Optimize Cloud Costs:&lt;/strong&gt; By automatically scaling Kubernetes workloads based on time, Winter Soldier helps reduce unnecessary resource usage, lowering cloud bills.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automate Routine Tasks:&lt;/strong&gt; Tasks like deleting unused resources or scaling workloads at specific times can be automated, freeing up time for other initiatives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improve Resource Utilization:&lt;/strong&gt; By ensuring resources are only allocated when needed, Winter Soldier maximizes resource utilization and improves overall efficiency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implement Time-Based Scaling:&lt;/strong&gt; It's ideal for scenarios where workloads have predictable usage patterns (e.g., a website that experiences heavy traffic during specific hours) or when resources need to be adjusted based on time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;E-commerce Website:&lt;/strong&gt; Scale up resources during peak shopping hours and scale down during off-peak periods to reduce costs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Processing Jobs:&lt;/strong&gt; Schedule resource scaling for batch processing jobs that run only during specific time windows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Development and Testing Environments:&lt;/strong&gt; Automatically scale down development and testing environments after hours to minimize resource usage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Benefits:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cost Reduction:&lt;/strong&gt; Optimizing resource utilization translates to lower cloud bills.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved Efficiency:&lt;/strong&gt; Automating resource management frees up time for other tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhanced Reliability:&lt;/strong&gt; By ensuring resources are allocated appropriately, Winter Soldier helps improve the reliability of Kubernetes applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  6. Silver Surfer
&lt;/h2&gt;

&lt;p&gt;Currently, there is no easy way to upgrade Kubernetes objects in case of Kubernetes upgrade. It's a tedious task to know whether the current ApiVersion of the Object is Removed, Deprecated, or Unchanged. It provides details of issues with the Kubernetes object in case they are migrated to a cluster with a newer Kubernetes version.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3psd57gftisdnyadnh4l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3psd57gftisdnyadnh4l.png" alt="12 Tools that will make Kubernetes management easier in 2024" width="800" height="232"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;Just with a few commands, it's ready to serve your cluster.&lt;/p&gt;




&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/devtron-labs/silver-surfer.git
cd silver-surfer
go mod vendor
go mod download
make

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

&lt;/div&gt;




&lt;p&gt;It's done. A bin directory might have created with the binary ready to use ./kubedd command.&lt;/p&gt;

&lt;p&gt;It categorises kubernetes objects based on change in ApiVersion. Categories are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Removed ApiVersion&lt;/li&gt;
&lt;li&gt;Deprecated ApiVersion&lt;/li&gt;
&lt;li&gt;Newer ApiVersion&lt;/li&gt;
&lt;li&gt;Unchanged ApiVersion&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Within each category it identifies the migration path to the newer Api Version, possible paths are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It cannot be migrated as there are no common ApiVersions between the source and target Kubernetes version&lt;/li&gt;
&lt;li&gt;It can be migrated but has some issues which need to be resolved&lt;/li&gt;
&lt;li&gt;It can be migrated with just an ApiVersion change&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This activity is performed for both current and new ApiVersion.&lt;/p&gt;

&lt;p&gt;Check out our Github repo and give it a star ⭐️: &lt;a href="https://github.com/devtron-labs/silver-surfer?ref=devtron.ai" rel="noopener noreferrer"&gt;https://github.com/devtron-labs/silver-surfer&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pre-Upgrade Planning:&lt;/strong&gt; Silver Surfer helps you identify potential issues before the upgrade, giving you time to plan and resolve them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamlined Upgrade Process:&lt;/strong&gt; The tool provides detailed guidance, minimizing downtime and errors during the upgrade.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kubernetes Object Management:&lt;/strong&gt; Silver Surfer provides greater visibility into the compatibility of your objects with different Kubernetes versions, aiding in managing your cluster.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Benefits&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reduced Upgrade Complexity:&lt;/strong&gt; Simplifies the Kubernetes upgrade process, reducing stress and the potential for errors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved Uptime:&lt;/strong&gt; Minimizes downtime during the upgrade process.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhanced Cluster Management:&lt;/strong&gt; Provides a better understanding of your Kubernetes objects and their compatibility with different versions.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  7.  Trivy
&lt;/h2&gt;

&lt;p&gt;Trivy is a simple and comprehensive vulnerability scanner for containers and other artifacts. A software vulnerability is a glitch, flaw, or weakness present in the software or in an Operating System. Trivy detects vulnerabilities of OS packages (Alpine, RHEL, CentOS, etc.) and application dependencies (Bundler, Composer, npm, yarn, etc.). Trivy is easy to use. Just install the binary and you're ready to scan. All you need to do for scanning is to specify a target such as an image name of the container.&lt;/p&gt;
&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;Installing from the the Aqua Chart Repository.&lt;/p&gt;




&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo add aquasecurity https://aquasecurity.github.io/helm-charts/ 
helm repo update 
helm search repo trivy 
helm install my-trivy aquasecurity/trivy

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

&lt;/div&gt;




&lt;p&gt;&lt;strong&gt;Installing the Chart.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
To install the chart with the release name &lt;code&gt;my-release&lt;/code&gt;:&lt;/p&gt;




&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install my-release .

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

&lt;/div&gt;




&lt;p&gt;The command deploys Trivy on the Kubernetes cluster in the default configuration. The &lt;a href="https://aquasecurity.github.io/trivy/v0.18.3/installation/?ref=devtron.ai#parameters" rel="noopener noreferrer"&gt;Parameters&lt;/a&gt; section lists the parameters that can be configured during installation.&lt;/p&gt;

&lt;p&gt;Know more about Trivvy installation &lt;a href="https://aquasecurity.github.io/trivy/v0.18.3/installation/?ref=devtron.ai" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo341nl36jf824p0kwuts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo341nl36jf824p0kwuts.png" alt="12 Tools that will make Kubernetes management easier in 2024" width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;DevSecOps Integration:&lt;/strong&gt; Trivvy seamlessly integrates into your CI/CD pipelines, identifying vulnerabilities early in the development process and enabling automated remediation. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secure Container Deployment:&lt;/strong&gt; It ensures only secure container images are deployed to production by scanning them before deployment and integrating with container registries for continuous scanning. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ongoing Security Monitoring:&lt;/strong&gt; Enables regular vulnerability scans and provides detailed reports, allowing for proactive security maintenance and tracking of remediation efforts. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Beyond Containers:&lt;/strong&gt; Extend security assessments to operating systems, server configurations, and other infrastructure components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software Supply Chain Analysis:&lt;/strong&gt; Analyze your entire software supply chain, from source to deployment, to identify and address vulnerabilities at every stage.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  8. Cert-Manager
&lt;/h2&gt;

&lt;p&gt;Cert Manager is an open-source tool designed to automate the management and provisioning of digital certificates in Kubernetes environments. It solves the challenge of handling TLS/SSL certificates for applications running on Kubernetes by simplifying the process of obtaining, renewing, and distributing certificates. Cert Manager enhances security and reduces operational complexity, ensuring that applications have valid and up-to-date certificates for secure communication.&lt;/p&gt;

&lt;p&gt;It automates the lifecycle of your TLS certificates! No more manual renewal!&lt;/p&gt;
&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;You don't require any tweaking of the cert-manager install parameters.&lt;/p&gt;

&lt;p&gt;The default static configuration can be installed as follows:&lt;/p&gt;




&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.1/cert-manager.yaml

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

&lt;/div&gt;




&lt;p&gt;📖 Read more about &lt;a href="https://cert-manager.io/docs/installation/kubectl/?ref=devtron.ai" rel="noopener noreferrer"&gt;installing cert-manager using kubectl apply and static manifests&lt;/a&gt; and &lt;a href="https://cert-manager.io/docs/installation/helm/?ref=devtron.ai" rel="noopener noreferrer"&gt;Installing with Helm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Checkout our blog to learn how to setup cert-manager using Devtron: &lt;a href="https://devtron.ai/blog/kubernetes-ssl-certificate-automation-using-certmanager-part-1/" rel="noopener noreferrer"&gt;https://devtron.ai/blog/kubernetes-ssl-certificate-automation-using-certmanager-part-1&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Automated Certificate Acquisition &amp;amp; Renewal:&lt;/strong&gt; Effortlessly obtain and renew certificates from providers like Let's Encrypt, eliminating manual effort and ensuring continuous security.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secure Ingress Controllers:&lt;/strong&gt; Automatically provision certificates for Ingress controllers, enabling secure HTTPS communication for services exposed through the Ingress.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Centralized Certificate Management:&lt;/strong&gt; Manage all your certificates from a single point of control, simplifying issuance, renewal, and revocation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhanced Application Security:&lt;/strong&gt; Strengthen encryption and protect sensitive data by ensuring valid and up-to-date TLS/SSL certificates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamlined Operations:&lt;/strong&gt; Reduce operational overhead, minimize downtime, and ensure continuous application availability by automating certificate management.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  9. Istio
&lt;/h2&gt;

&lt;p&gt;Istio extends Kubernetes to establish a programmable, application-aware network. Working with both Kubernetes and traditional workloads, Istio brings standard, universal traffic management, telemetry, and security to complex deployments.  &lt;/p&gt;

&lt;p&gt;Check out the Istio docs for &lt;a href="https://istio.io/latest/docs/setup/getting-started/?ref=devtron.ai" rel="noopener noreferrer"&gt;Getting Started&lt;/a&gt; and a complete walkthrough of &lt;a href="https://devtron.ai/blog/canary-deployment-with-flagger-and-istio/" rel="noopener noreferrer"&gt;Canary Deployment with Flagger and Istio on Devtron&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Simplify Microservice Communication&lt;/strong&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Istio abstracts away complex networking concerns like service discovery, routing, and load balancing.&lt;/li&gt;
&lt;li&gt;Developers can focus on business logic while Istio handles communication between microservices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Enhance Security:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implement consistent authentication, authorization, and encryption across all services using Istio.&lt;/li&gt;
&lt;li&gt;It mitigates security risks by enforcing security policies throughout the mesh.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Traffic Management&lt;/strong&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Istio enables A/B testing, canary deployments, and blue-green deployments.&lt;/li&gt;
&lt;li&gt;You can control traffic routing, timeouts, and fault injection seamlessly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Observability and Monitoring&lt;/strong&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Monitor service behavior, track performance metrics, and troubleshoot issues with Istio.&lt;/li&gt;
&lt;li&gt;It integrates with observability tools for better insights into your microservices.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  10.  KRR
&lt;/h2&gt;

&lt;p&gt;Robusta KRR (Kubernetes Resource Recommender) is a CLI tool for optimizing resource allocation in Kubernetes clusters. It gathers pod usage data from Prometheus and recommends requests and limits for CPU and memory. This reduces costs and improves performance.&lt;/p&gt;

&lt;p&gt;The installation is pretty straight-forward. You can install the &lt;a href="https://github.com/robusta-dev/krr/releases/?ref=devtron.ai" rel="noopener noreferrer"&gt;binary directly from their releases&lt;/a&gt;. &lt;a href="https://github.com/robusta-dev/krr?tab=readme-ov-file&amp;amp;ref=devtron.ai#installation-methods" rel="noopener noreferrer"&gt;To install the CLI&lt;/a&gt;, depending upon your operating system, you can install the KRR cli and use it for optimizing the resources. You can use Brew for installing on mac:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew tap robusta-dev/homebrew-krr

brew install krr

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cost Savings:&lt;/strong&gt; Reduce cloud bills by recommending optimal resource requests, eliminating over-provisioning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance Boost:&lt;/strong&gt; Improve application responsiveness by preventing resource contention and ensuring sufficient resources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data-Driven Insights:&lt;/strong&gt; Gain insights into resource usage patterns for better planning and scaling decisions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Optimization:&lt;/strong&gt; Integrate with CI/CD pipelines to automatically adjust resource allocation for continuous optimization.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  11.  Kyverno
&lt;/h2&gt;

&lt;p&gt;Kyverno is a Kubernetes-native policy engine designed for Kubernetes platform engineering teams. It enables security, automation, compliance, and governance using policy-as-code. Kyverno can validate, mutate, generate, and cleanup configurations using Kubernetes admission controls, background scans, and source code respository scans in real-time. Kyverno policies can be managed as Kubernetes resources and do not require learning a new language. Kyverno is designed to work nicely with tools you already use like kubectl, kustomize, and Git.&lt;/p&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;In order to install Kyverno with Helm, first add the Kyverno Helm repository.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo add kyverno https://kyverno.github.io/kyverno/

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

&lt;/div&gt;



&lt;p&gt;Scan the new repository for charts.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo update

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

&lt;/div&gt;



&lt;p&gt;Optionally, show all available chart versions for Kyverno.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm search repo kyverno -l

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

&lt;/div&gt;



&lt;p&gt;Check the whole guide &lt;a href="https://kyverno.io/docs/installation/methods/?ref=devtron.ai" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And be sure to check out our blog on &lt;a href="https://devtron.ai/blog/how-to-secure-kubernetes-clusters-with-kyverno-policies" rel="noopener noreferrer"&gt;securing Kubernetes clusters with Kyverno policies&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Security:&lt;/strong&gt; Enforce policies to prevent deployments with root privileges, restrict resource requests, control network access, and secure sensitive data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance:&lt;/strong&gt; Implement auditing, labeling, and access control policies to meet regulatory requirements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Practices:&lt;/strong&gt; Automate resource validation, enforce naming conventions, and manage resource lifecycles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extend Kubernetes:&lt;/strong&gt; Customize admission control and validate custom resources.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  12. Opencost
&lt;/h2&gt;

&lt;p&gt;OpenCost is a vendor-neutral open-source project for measuring and allocating cloud infrastructure and container costs. It’s built for Kubernetes cost monitoring to power real-time cost monitoring, showback, and chargeback. It is a sandbox project with the Cloud Native Computing Foundation (CNCF).  &lt;/p&gt;

&lt;p&gt;Check out the &lt;a href="https://www.opencost.io/docs/installation/install?ref=devtron.ai" rel="noopener noreferrer"&gt;Installation guide&lt;/a&gt; to start monitoring and managing your spend in minutes. Additional documentation is available for &lt;a href="https://www.opencost.io/docs/installation/prometheus?ref=devtron.ai" rel="noopener noreferrer"&gt;configuring Prometheus&lt;/a&gt; and managing your &lt;a href="https://www.opencost.io/docs/installation/helm?ref=devtron.ai" rel="noopener noreferrer"&gt;OpenCost with Helm&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Identifying Costly Workloads:&lt;/strong&gt; Identify specific pods or deployments consuming excessive resources and take steps to optimize their resource allocation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Allocating Costs to Teams:&lt;/strong&gt; Use OpenCost to generate detailed reports showing the cost incurred by each team or project using your Kubernetes cluster.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Right-sizing Resources:&lt;/strong&gt; Optimize resource requests and limits for pods based on actual usage, reducing unnecessary resource allocation and saving costs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Predictive Cost Management:&lt;/strong&gt; Forecast future costs based on historical data and identify potential spikes in resource consumption to proactively adjust resource allocation or budget.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Kubernetes has revolutionized the way we build and deploy applications. However, its complexity can be daunting. The 12 tools we've explored provide a comprehensive toolkit for simplifying and optimizing your Kubernetes management.&lt;/p&gt;

&lt;p&gt;The Coud-native landscape is overflowing with tools, each serving a specific purpose. Remember, there's no one-size-fits-all solution. Carefully evaluate your use case and choose the tools that best address your specific needs for a more efficient, secure, and cost-optimized Kubernetes experience.&lt;/p&gt;

&lt;p&gt;By leveraging these powerful tools, you can unlock greater efficiency, reduce costs, enhance security, and ultimately, focus on delivering innovative applications faster. So, embrace these powerful tools and build a better infrastructure with confidence!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you have any questions, or want to discuss any specific usecase, feel free to ask them in our &lt;a href="https://rebrand.ly/Devtron-Discord?ref=devtron.ai" rel="noopener noreferrer"&gt;Discord Community&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Happy Deploying!&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devtron</category>
      <category>devops</category>
    </item>
    <item>
      <title>Securing Kubernetes Production: Avoid These 11 Common Misconfigurations</title>
      <dc:creator>Devtron</dc:creator>
      <pubDate>Fri, 02 Aug 2024 05:44:33 +0000</pubDate>
      <link>https://forem.com/devtron_/securing-kubernetes-production-avoid-these-11-common-misconfigurations-2mo8</link>
      <guid>https://forem.com/devtron_/securing-kubernetes-production-avoid-these-11-common-misconfigurations-2mo8</guid>
      <description>&lt;p&gt;We know how scary it is when the production is down due to some misconfigurations. Do you know what is even scarier than misconfigurations? It is presenting RCA (root cause analysis) to your manager.&lt;/p&gt;

&lt;p&gt;In production, there is a mountain of configurations, when production is down someone has to find that single annoying misconfiguration. Finding it feels like  looking for a needle in a haystack.&lt;/p&gt;

&lt;p&gt;It's important to know the common misconfiguration which can be done by anyone. This blog will show those and how to prevent scary situations. Here are 11 common misconfigurations that should be avoided in any environment, be it Production or UAT.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Not enough available IPs in the vnet/subnet
&lt;/h2&gt;

&lt;p&gt;IPs are required for communication within a cluster and outside of a cluster as well. While creating a Kubernetes cluster using EKS, AKS or GKE, VPC or Vnet is used for IP Address management, network isolation, and security. The IPs for pods, services, and nodes are taken from the subnet.&lt;/p&gt;

&lt;p&gt;Each node requires an IP address within the network. If the available IP addresses are limited, there will be a point where no more nodes can be added to the cluster, which restricts the cluster's ability to handle additional load and autoscaling.&lt;/p&gt;

&lt;p&gt;Difficulty in Maintenance: Maintenance activities, such as updating nodes or migrating workloads, become more challenging if IP addresses are scarce. The lack of available IPs can complicate tasks, like gracefully moving pods during maintenance.&lt;/p&gt;

&lt;p&gt;To solve the issues caused by fewer available IPs in the subnet, take the precautionary actions that before doing any activity such as upgrading a cluster, adding a node, increasing the replica count, or deploying a large applications, check the numbers of IPs available and how many IPs will be need.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. No or misconfigured liveness or readiness
&lt;/h2&gt;

&lt;p&gt;Liveness and readiness probes are mechanisms used to determine the health and availability of application. They play a crucial role in ensuring the reliability and stability of applications.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If an application encounters a deadlock, memory leak, or any other internal issue that causes it to become unresponsive, the liveness probe will detect this state and restart the pod, attempting to bring the application back to a healthy state.&lt;/li&gt;
&lt;li&gt;A readiness probe determines whether or not a pod is ready to receive traffic. Before a pod is added to the load balancer, the readiness probe checks if it is ready to handle incoming traffic. This prevents traffic from being routed to pods that may not be fully initialized or ready to serve requests.&lt;/li&gt;
&lt;li&gt;When it comes to scaling down an application or performing upgrades, readiness probes are essential. When a pod's readiness probes fail, it will not receive additional traffic, allowing it to finish processing existing requests and perform a graceful shutdown without impacting the user experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are some issues which may be encountered when configuring liveness and readiness incorrectly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unnecessary Pod Restarts&lt;/li&gt;
&lt;li&gt;Delayed Failure Detection&lt;/li&gt;
&lt;li&gt;Delayed Scaling&lt;/li&gt;
&lt;li&gt;Rollback Issues&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. PDBs not configured/ incorrect configurations
&lt;/h2&gt;

&lt;p&gt;PDBs (Pod Distribution Budgets) are particularly useful for applications that require high availability and where maintaining a minimum number of operational instances is critical. They help prevent scenarios where all pods of an application are taken offline simultaneously, ensuring that a certain level of service availability is maintained even during maintenance or unexpected failures.&lt;/p&gt;

&lt;p&gt;Incorrect PDB configurations can also be problematic. For instance, when  upgrading the Kubernetes version of a cluster, if there is a wrong configuration in PDB that says ReplicaCount = 1 and maxUnavailability = 1, Kubernetes is not allowed to perform pod evictions. This will become a blockage for cluster upgrade activity. It's important to find a balance between availability and maintenance requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Horizontal Pod Autoscaler not enabled
&lt;/h2&gt;

&lt;p&gt;HPA (Horizontal Pod Autoscaler) is a resource controller in Kubernetes that automatically adjusts the number of replica pods in a deployment, statefulset, or replica set, based on observed CPU/Memory utilization or custom metrics. Key components and concepts related to the Horizontal Pod Autoscaler:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Metrics: indicate the current utilization of resources or custom application metrics&lt;/li&gt;
&lt;li&gt;Target Resource Utilization&lt;/li&gt;
&lt;li&gt;Current Resource Utilization&lt;/li&gt;
&lt;li&gt;Scaling Algorithm&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some basic misconfigurations that may cause issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inappropriate “--horizontal-pod-autoscaler-sync-period”, this will create a delay in scaling of pods.&lt;/li&gt;
&lt;li&gt;If some of the Pod's containers do not have the relevant resource request set, CPU utilization for the Pod will not be defined and the autoscaler will not take any action for that metric.&lt;/li&gt;
&lt;li&gt;Selection of fluctuating metrics, this will create confusion for HPA when deciding whether or not to scale up or scale down the resources.&lt;/li&gt;
&lt;li&gt;If the wrong metrics are chosen, or metrics that don't accurately reflect  application's behavior, the HPA might make incorrect scaling decisions. This can result in over or under-scaling, affecting performance and resource utilization.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Incorrect Autoscaling configurations
&lt;/h2&gt;

&lt;p&gt;We all know how important autoscaling is, but all the efforts are in vain when auto-scaling doesn't work with correct configurations. Here are some basic misconfigurations:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Defining the wrong tag or region for a nodegroup or node-pool. In simple words, the autoscaler doesn't know which nodegroups or node-pool needs autoscaling.&lt;/li&gt;
&lt;li&gt;The max size of nodegroups or node-pool was already reached, thus autoscaler is not able to increase the node count.&lt;/li&gt;
&lt;li&gt;Incorrect IAM permission where the cluster autoscaling pod is running. In the case of AWS, check the cluster autoscaler pod logs for permission issues. Node IAM role must have a policy defined. &lt;a href="https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md#iam-policy" rel="noopener noreferrer"&gt;https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md#iam-policy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Node type is not available in the availability zone. Lets say autoscaler wants to add a new node of type “t3.medium” and our region is “ap-south-1”, the “t3.medium” node type is not available in “ap-south-1”. To overcome this, configure node type correctly based on the region.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Feel free to &lt;a href="https://devtron.ai/blog/how-to-scale-your-application-in-kubernetes/" rel="noopener noreferrer"&gt;check out this blog for detailed understanding of autoscaling and how to scale applications in Kubernetes&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Not using the latest Kubernetes API versions
&lt;/h2&gt;

&lt;p&gt;Using old/ deprecated Kubernetes API versions will open the door to various unexpected issues such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Security Vulnerabilities&lt;/li&gt;
&lt;li&gt;Compatibility Issues&lt;/li&gt;
&lt;li&gt;Lack of Support&lt;/li&gt;
&lt;li&gt;Limited Access to Tools and Integrations&lt;/li&gt;
&lt;li&gt;Incompatible Add-ons&lt;/li&gt;
&lt;li&gt;Configuration Complexity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Plan on regular maintenance and upgrades of Kubernetes versions for reducing the vulnerabilities. While updating the cluster, make a backup and have a well-defined rollback plan in case any issues arise during the upgrade process.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Running "kubectl apply" manually in clusters and editing resources directly from cloud console
&lt;/h2&gt;

&lt;p&gt;When we talk about production being down, what is the first question that your manager asks?  “ Who did this ?” If this is the question then most managers are the same. We need an audit and better monitoring system for giving response to the manager. When someone runs the “kubectl apply” or “kubectl edit”, it becomes difficult to track the changes, and auditing them is even more difficult.&lt;/p&gt;

&lt;p&gt;Common issues that can be seen:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Configuration Drift: The actual state of resources diverges from the desired state.&lt;/li&gt;
&lt;li&gt;Inconsistent Changes: When multiple team members manually apply changes, there's a risk of conflicting updates or unintentional changes, leading to confusion and unexpected behavior.&lt;/li&gt;
&lt;li&gt;Overwriting Changes: When manually editing resources, critical configurations might accidentally be overwritten, leading to outages or unexpected behavior.&lt;/li&gt;
&lt;li&gt;Difficulty in Reproducing Issues: Troubleshooting issues becomes harder when changes are applied manually without proper records, as it's challenging to reproduce the state where the issue occurred.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A Platform Engineering tool like &lt;a href="https://devtron.ai/?ref=devtron.ai" rel="noopener noreferrer"&gt;Devtron&lt;/a&gt; is tailored to provide all the audit and monitoring of an application and its whereabouts. &lt;a href="https://devtron.ai/blog/kubernetes-access-management-made-easy/" rel="noopener noreferrer"&gt;Feel free to check this out for access management at scale in Kubernetes&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Sharing admin Kubeconfig with users or not having separate creds for each team member
&lt;/h2&gt;

&lt;p&gt;In a Kubernetes, sharing an admin Kubeconfig or failing to provide distinct credentials for each team member could cause serious security and accountability problems. Sharing administrator credentials allows uncontrolled access, which can lead to misconfigurations, safety hazards, and a lack of accountability for actions committed. On the other side, not having different credentials restricts proper access control and segregation of roles, making tracking and auditing user actions difficult. To solve these problems, it's critical to build granular Role-Based Access Control (RBAC), create individual user accounts, and enforce best practices such as credential rotation and multi-factor authentication. This guarantees that access is properly restricted, operations are traceable, and the cluster's overall security posture is maintained.&lt;/p&gt;

&lt;p&gt;To learn more about &lt;a href="https://devtron.ai/blog/the-4-pillars-for-securing-kubernetes-in-ci-cd/" rel="noopener noreferrer"&gt;securing Kubernetes CI/CD, feel free to check this blog.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Not setting up logging and monitoring stacks
&lt;/h2&gt;

&lt;p&gt;In a Kubernetes cluster, neglecting to set up appropriate logging and monitoring stacks might result in multiple problems and risks. Without these critical tools in place, visibility into application behaviour, system health, and performance is hampered, making debugging issues and assuring optimal performance difficult. Furthermore, the lack of extensive surveillance may hinder security efforts, restrict compliance with industry standards, and gaining clear visibility of the values of the deployed applications is difficult. To prevent these consequences, it is critical to have strong logging and monitoring practices, use technologies such as Prometheus, Grafana, Elasticsearch, and Fluentd to efficiently collect and analyze metrics, logs, and events.&lt;/p&gt;

&lt;p&gt;Check out this blog for &lt;a href="https://devtron.ai/blog/setup-monitoring-stack/" rel="noopener noreferrer"&gt;setting up a monitoring stack on Kubernetes.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Not setting-up autoscaling for cluster infra essentials
&lt;/h2&gt;

&lt;p&gt;In a Kubernetes cluster, failing to enable autoscaling for cluster essentials such as the nginx-ingress controller , kube-prometheus-stack, elasticsearch, CoreDNS, etc. might result in significant performance bottlenecks and decreased reliability. These components play key roles in network traffic management and DNS resolution, making them vulnerable to increasing demand during traffic spikes or heavy workloads. If autoscaling is not implemented, the cluster may struggle to handle additional traffic efficiently, resulting in latency, interruptions, and even application unavailability. Enabling autoscaling for these critical services guarantees that resources are dynamically assigned to meet demand, boosting performance, optimizing resource utilization, and ensuring uninterrupted service delivery even under variable workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  11. Not adding deletion protection on ALB
&lt;/h2&gt;

&lt;p&gt;Failure to include deletion protection in an AWS Application Load Balancer (ALB) can result in accidental data loss, service outages, and unwanted consequences. Deletion protection is a security feature that prevents essential resources such as ALBs from being removed mistakenly, hence protecting the infrastructure from human errors or unauthorized acts. Without deletion protection, a vital ALB used to route traffic to the applications could be erased, resulting in application downtime, altered user experiences, and potential revenue loss. Enabling deletion protection on ALBs adds an extra layer of security against accidental or malicious deletions, assuring the stability and availability of  applications.&lt;/p&gt;

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

&lt;p&gt;Preventing common misconfigurations is essential for maintaining operational stability. This blog highlighted 11 such pitfalls, including IP scarcity, improper probes, and inadequate logging. Proper strategies, like Pod Disruption Budgets and accurate HPA setups, can enhance availability. Staying updated with Kubernetes API versions, avoiding manual changes, and securing credentials are vital for a robust system. Robust monitoring, autoscaling essentials, and deletion protection for ALBs, ensure optimal performance. Proactive avoidance of these misconfigurations enhances reliability, security, and overall operational efficiency.&lt;/p&gt;

&lt;p&gt;If you have any questions feel free to reach out to us. Our thriving &lt;a href="https://discord.com/invite/jsRG5qx2gp" rel="noopener noreferrer"&gt;Discord Community&lt;/a&gt; is just a click away!&lt;/p&gt;

</description>
      <category>security</category>
      <category>kubernetes</category>
      <category>devops</category>
      <category>cloudnative</category>
    </item>
    <item>
      <title>Best Practices for Creating Container Images</title>
      <dc:creator>Devtron</dc:creator>
      <pubDate>Wed, 10 Jul 2024 05:34:18 +0000</pubDate>
      <link>https://forem.com/devtron_/best-practices-for-creating-container-images-3hm6</link>
      <guid>https://forem.com/devtron_/best-practices-for-creating-container-images-3hm6</guid>
      <description>&lt;p&gt;Imagine running 100s of microservices in production without knowing the dos and don'ts around creating container images. It’d be chaotic. You don’t want to spend hours building your container images and also you would not want to deploy images with vulnerabilities.&lt;/p&gt;

&lt;p&gt;Containerization has become a cornerstone of modern software development and deployment, offering numerous benefits in terms of scalability, consistency, portability, and efficiency. One of the key elements in the container ecosystem is the creation of optimized and secure container images. In this blog, we will delve into the best practices for creating container images to help you build lightweight, reliable, and most importantly secure images to make sure that your image is production-ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hacks for optimizing container images
&lt;/h2&gt;

&lt;p&gt;Creating a container image and optimizing it are two sides of a coin. For container creation, there are different ways which might involve writing a declarative Dockerfile or maybe using cloud-native buildpacks depending upon the use-cases. When it comes to optimization, it's true for all types of images being created. Here are some of the methods that can be used to optimize your container image and ensure the uptime of your applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  1) Docker Hub image pull rate limit
&lt;/h2&gt;

&lt;p&gt;In cases when you are dealing at scale, for instance - running a daemon set that is pulling its docker image from Docker Hub on a 100-node cluster at a time. In such scenarios, you’ll frequently face issues of rate limit. For example: You have reached your pull rate limit&lt;/p&gt;

&lt;p&gt;Now, How do we deal with it?&lt;/p&gt;

&lt;p&gt;i) Look for an alternative container registry where your helm chart’s public image could be available for instance, quay or ghcr. In these container registries, there aren't any image pull limits. [Recommended]&lt;/p&gt;

&lt;p&gt;ii) Keep the image in your organization’s container registry like ECR, ACR, etc. Make sure that the node has appropriate permissions for the pod to inherit. There would be an overhead to keep updating the image in case you are using your private registries for public helm charts.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: In the case of Docker Hub, 100 pull requests per 6 hours for anonymous users on a free plan. Enforced based on your IP Address. And 200 pull requests per 6 hours for authenticated users on a free plan.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  2) Use Build Contexts
&lt;/h2&gt;

&lt;p&gt;Avoid building your docker images like this - Docker build -t  . , unless you want to set the context as the current working directory. Here period (.) means context as the current working directory.&lt;/p&gt;

&lt;p&gt;Let’s say you have two directories: i) app and ii) consumer having the app’s code and consumer’s code respectively within the same repository then your build context should be app/ and consumer/ respectively. This would be helpful in scenarios where you are using COPY . . in Dockerfile as you will only be copying content from a specified folder instead of a complete repository and hence it’ll decrease time.&lt;/p&gt;

&lt;p&gt;PS: It is super easy to configure the build context if you are building your Dockerfile from Devtron&lt;/p&gt;

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

&lt;h2&gt;
  
  
  3) Multi-architecture Builds
&lt;/h2&gt;

&lt;p&gt;If you have multi-architecture nodes in your cluster, i.e., ARM-based and AMD-based machines, then you will need to set the –platform flag to specify the target platform. By default, you can only build for a single platform at a time. With IDPs like Devtron, you can easily build container images for multiple architectures at your fingertips.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  4) Implement Image Caching
&lt;/h2&gt;

&lt;p&gt;A container image has multiple different layers. Imagine the size of container image is in Gegabytes. Everytime you build an image, it will start from the initial layers and build each and every layer. Those layers comes from the steps given in your dockerfile or the steps involved in building the image. Once you build your image, in subsequent builds, it will again create all those layers which will increase the time to build. To optimise the build time, it is highly recommended to implement caching mechanism so that next time when a new image will be build, it will leverage the cache of previous build for all those steps which were not changed and using the existing cache, build time will be reduced.&lt;/p&gt;

&lt;h2&gt;
  
  
  5) Golden Image Creation
&lt;/h2&gt;

&lt;p&gt;It is one of the widely recommended practices to have golden images for your application. If all of your applications require a certain package, you don’t want to install it at run time; every time instead you can include it in the golden image and use that image as a bage image for your container images. It’ll save a lot of time.&lt;/p&gt;

&lt;p&gt;Techniques for optimizing container image&lt;br&gt;
Now let's discuss some of the common techniques that can help you optimize your container images.&lt;/p&gt;

&lt;h2&gt;
  
  
  1) Multi-Stage Builds
&lt;/h2&gt;

&lt;p&gt;Multi-stage builds enable you to create a final image that only includes the runtime dependencies and necessary artifacts. Unnecessary build tools, libraries, and intermediate files are discarded in subsequent stages, resulting in smaller image sizes. This reduction in size leads to faster image pulls and deployments, optimizing resource utilization. For applications such as Java which uses maven/gradle files, a multi-stage dockerfile can be helpful.&lt;/p&gt;

&lt;h2&gt;
  
  
  2) Minimize Layers
&lt;/h2&gt;

&lt;p&gt;Concatenate RUN commands to make your Dockerfile more readable and create fewer layers. Fewer layers mean a smaller container image. Each RUN statement in the Dockerfile creates a layer that gets cached. Concatenating reduces the number of layers.&lt;/p&gt;

&lt;h2&gt;
  
  
  3) Use Lightweight Images
&lt;/h2&gt;

&lt;p&gt;Always choose the smallest base images that do not contain the complete or full-blown OS with system utilities installed. You can install the specific tools and utilities needed for your application in the Dockerfile build. This will reduce possible vulnerabilities and the attack surface of your image.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a Secure Container Image
&lt;/h2&gt;

&lt;p&gt;Making sure the container image is secure and ready to be used in production is another important aspect and a part of DevSecOps practices. Here are some of the practices that can be incorporated for building a secure image.&lt;/p&gt;

&lt;h2&gt;
  
  
  1) Environment Variables
&lt;/h2&gt;

&lt;p&gt;Never inject environment variables within your container image. Embedding env variables within your container image means you are hardcoding them within the image. This way the image would not be generic to use across various microservices. So always use configMaps and Secrets to store env variables and credentials.&lt;/p&gt;

&lt;h2&gt;
  
  
  2) Vulnerability Scanning
&lt;/h2&gt;

&lt;p&gt;Never deploy images with critical CVEs into production as this way you would be an easy target for hackers to hack into your application. Make sure to integrate vulnerability scanning tools in your pipeline so that you ship an application without vulnerabilities. On top of vulnerability scanning, having governance policies such as automatically blocking the image with critical CVEs can help you strengthen the pipeline.&lt;/p&gt;

&lt;p&gt;Check out &lt;a href="https://devtron.ai/blog/improve-security-with-vulnerability-scanning-by-trivy/" rel="noopener noreferrer"&gt;this blog to understand more about vulnerability scanning of container images using Trivy and how Devtron integrates with it&lt;/a&gt;.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  3) Non-root User
&lt;/h2&gt;

&lt;p&gt;By default, Docker containers run as the root user, which can pose security risks if the container gets compromised. In such cases, the hacker would have root access to your host and could bring the entire node down. So always ensure that your images run as non-root by defining USER in your Dockerfile.&lt;/p&gt;

&lt;h2&gt;
  
  
  4) Avoid using :latest
&lt;/h2&gt;

&lt;p&gt;The latest image tag for any public repository might bring in unexpected bugs. So it’s always recommended to specify a specific version instead of the latest.&lt;/p&gt;

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

&lt;p&gt;Creating high-quality container images is a crucial aspect of modern application development and deployment. By following these best practices, you can produce container images that are optimized, secure, and well-suited for deployment in various environments. Well-crafted images contribute to faster deployment, improved security, better resource utilization, and enhanced application performance, setting the foundation for successful container-based workflows.&lt;/p&gt;

&lt;p&gt;If you have any queries, don't hesitate to connect with us. Join the lively discussions and shared knowledge in our vibrant Discord Community.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>kubernetes</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Kubernetes Dashboard Part 3: Helm Release Management</title>
      <dc:creator>Devtron</dc:creator>
      <pubDate>Wed, 12 Jun 2024 04:43:16 +0000</pubDate>
      <link>https://forem.com/devtron_/kubernetes-dashboard-part-3-helm-release-management-1hdn</link>
      <guid>https://forem.com/devtron_/kubernetes-dashboard-part-3-helm-release-management-1hdn</guid>
      <description>&lt;p&gt;TL;DR: In this blog, the authors talk about the helm dashboard by Devtron and how it can solve various issues related to helm CLI and help you manage everything around helm through the intuitive dashboard.&lt;br&gt;
This blog will discuss how the HELM dashboard is used to view the installed Helm charts, see their revision history and corresponding k8s resources, and how it brings convenience to the developer and DevOps team in all organizations.&lt;/p&gt;

&lt;p&gt;This blog is the third part of the Kubernetes Dashboard blog series.  Read part 2 on the &lt;a href="https://devtron.ai/blog/kubernetes-dashboard-for-cluster-management/"&gt;Kubernetes dashboard for cluster management&lt;/a&gt; to understand how to simplify multicluster cluster management for large teams. Read Part 1 on &lt;a href="https://devtron.ai/kubernetes-dashboard-for-application-management/?ref=devtron.ai"&gt;Kubernetes Dashboard for Application Management&lt;/a&gt; to witness the ease of deploying apps onto Kubenrtess on day 1.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devtron.ai/?ref=devtron.ai"&gt;Devtron&lt;/a&gt;, an open-source Kubernetes-native application management platform, introduced the HELM dashboard to get real visibility of all your HELM deployments across multiple clusters in one plane.&lt;/p&gt;

&lt;p&gt;Challenges while deploying with HELM&lt;br&gt;
As HELM came with the ability to template, package, and deploy applications, more and more organizations started adopting Kubernetes. It is said that at least 70% of the companies using Kubernetes today use HELM for deployments.&lt;br&gt;
However, a few operational challenges exist while deploying apps at scale using HELM.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Since HELM is a CLI-based tool, it involves a learning curve to remember all the commands for app deployments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No solid mechanism to view the health and status of applications deployed using HELM&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lack of understanding of the relation between workloads resources for respective HELM charts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Identifying the difference in HELM chart versions while troubleshooting issues is a big pain as the activity is carried out manually.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;And the visibility into various apps getting deployed into multiple clusters is time-consuming work.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Popular GitOps tools such as Argo CD, which supports HELM deployments, don't store historical data of HELM charts.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hence Devtron has launched the open-source HELM dashboard to bring convenience for developers and DevOps while deploying with HELM.&lt;/p&gt;
&lt;h2&gt;
  
  
  Devtron HELM Dashboard for app visibility and management
&lt;/h2&gt;

&lt;p&gt;Devtron HELM Dashboard is an open-source web interface for HELM-based app deployments. It provides visibility into the status of HELM-based deployments across clusters and helps you to view resources such as pods, workloads, resources, services, infrastructure, etc, in a single pane. With Devtron, your developers and Ops team can troubleshoot and diagnose problems in HELM releases from the UI.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/VivAj9Q-JVs"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Multicluster visibility of all HELM deployments
&lt;/h2&gt;

&lt;p&gt;Devtron HELM dashboard provides information about all the HELM-based deployment across multiple clusters in a single plane. The dashboard provides information such as namespace, health status, deployment date of all the applications deployed using HELM in from Devtron or the CLI.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  HELM Chart store
&lt;/h2&gt;

&lt;p&gt;Devtron dashboard provides HELM charts for key tools and software important to automate the CI/CD process for Kubernetes app deployments. Our platform allows you to upload your own HELM charts to our store too. The best part is you can select and group the HELM charts of all the apps you need and deploy them at once. This feature is helpful for developers or the DevOps team while creating new environments.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Application deployment details in real-time
&lt;/h2&gt;

&lt;p&gt;Devtron HELM dashboard provides details of the resources of each application. Developers can visualize all resources grouped according to classes, such as workloads, services, networking, and configuration and storage.&lt;/p&gt;

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

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

&lt;h2&gt;
  
  
  Configure HELM values from the web interface
&lt;/h2&gt;

&lt;p&gt;Devtron HELM dashboard allows developers and the DevOps team to configure all the values of HELM charts from the UI itself. Since Devtron stores all the HELM charts in its store, teams can quickly view the Readme docs and make necessary edits quickly.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Troubleshooting pods in the HELM dashboard
&lt;/h2&gt;

&lt;p&gt;After HELM-based deployment, using the Devtron HELM dashboard, one can easily log in to any of the pods and go through the logs to troubleshoot issues or simply diagnose or validate the health status of pods.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Understand the difference in the HELM charts
&lt;/h2&gt;

&lt;p&gt;Devtron HELM dashboard allows you to identify the difference between different HELM charts of an application. Suppose a new deployment is improper or applications are not behaving as expected. In that case, developers should be able to debug and identify newly done changes to HELM charts and fix the problem. In case they feel the changes cannot be undone, they can quickly select a previous version of HELM charts to roll back the application.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Guaranteed outcomes of Devtron Kubernetes dashboard
&lt;/h2&gt;

&lt;p&gt;With the Kubernetes dashboard, you can improve Kubernetes admin and Ops team productivity in managing Kubernetes clusters and reduce mean time to resolve issues with central plane visibility and controls of all nodes across clusters.&lt;/p&gt;

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

&lt;p&gt;Kubernetes Dashboard Ecosystem&lt;br&gt;
Open source Devtron Kubernetes dashboard is available in different deployment options on-prem and managed. Recently Devtron has also released a &lt;a href="https://devtron.ai/blog/introduction-to-devtron-kubernetes-client/"&gt;desktop client version&lt;/a&gt; for the Kubernetes dashboard.&lt;br&gt;
&lt;a href="https://docs.devtron.ai/install?ref=devtron.ai"&gt;Try Devtron open-source Kubernetes dashboard&lt;/a&gt; for free.&lt;/p&gt;

</description>
      <category>helm</category>
      <category>kubernetes</category>
      <category>devtron</category>
      <category>devops</category>
    </item>
    <item>
      <title>Kubernetes Dashboard Part 2: Cluster Management</title>
      <dc:creator>Devtron</dc:creator>
      <pubDate>Mon, 10 Jun 2024 02:42:33 +0000</pubDate>
      <link>https://forem.com/devtron_/kubernetes-dashboard-part-2-cluster-management-49hn</link>
      <guid>https://forem.com/devtron_/kubernetes-dashboard-part-2-cluster-management-49hn</guid>
      <description>&lt;p&gt;TL;DR: In this blog, the author talks about the burning issues in cluster management and how Devtron's Kubernetes dashboard helps you manage the on-prem/ cloud Kubernetes clusters efficiently through an intuitive dashboard.&lt;/p&gt;

&lt;p&gt;We will discuss how the Kubernetes dashboard by Devtron can be leveraged for cluster management and how it brings immense value to all organizations' developers, DevOps, and SRE/Ops teams.&lt;/p&gt;

&lt;p&gt;This blog is the second part of the Kubernetes Dashboard blog series. Read part 3 on the &lt;a href="https://devtron.ai/blog/kubernetes-dashboard-for-helm-release-management/"&gt;Kubernetes Helm Release management&lt;/a&gt; to experience how easy it is for all organizations' developers and DevOps teams to manage the Helm App lifecycle. Read Part 1 on &lt;a href="https://devtron.ai/blog/kubernetes-dashboard-for-application-management/"&gt;Kubernetes Dashboard for Application Management&lt;/a&gt; to witness the ease of deploying apps onto Kubenrtess on day 1.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devtron.ai/?ref=devtron.ai"&gt;Devtron&lt;/a&gt;, an open-source Kubernetes-native application management platform, has introduced the Kubernetes dashboard for easy application management from a UI. Various teams can get a single-plane visibility of all resources across clusters and can edit, deploy, or troubleshoot them from the UI.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is K8s Cluster management?
&lt;/h2&gt;

&lt;p&gt;Kubernetes cluster management is how an Ops team manages a group of Kubernetes clusters. With more microservices migrated to the cloud and containers, Kubernetes clusters are becoming more distributed and complicated to manage. Secondly, many microservices will be deployed into multiple clusters dedicated to various environments such as dev, test, pre-prod, and prod. For efficient operation, these clusters must be maintained at regular intervals for seamless deployment and delivery of applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges of Kubernetes cluster management
&lt;/h2&gt;

&lt;p&gt;Managing and maintaining multiple clusters in the software delivery process is difficult, especially when they are spread across different cloud providers and private data centers. Following are a few challenges that the Ops team face during the cluster management process.&lt;/p&gt;

&lt;h2&gt;
  
  
  High cost of maintaining multiple clusters and nodes in time
&lt;/h2&gt;

&lt;p&gt;A cost-effective solution for IT organizations is to create dev and test environment clusters in local data centers and choose production clusters in public clouds like AWS or GCP. With time, multiple microservices will be built and deployed, and accordingly, the number of clusters also increases. Without a centralized tool, the Ops team doesn't get a consolidated view of which cluster needs attention in a particular time period. If they don’t proactively manage the cluster, there are chances of overutilizing resources, resulting in a huge cloud bill.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dependent on experts
&lt;/h2&gt;

&lt;p&gt;Kubernetes is still a new technology and few experts can manage infrastructure. Only a few experts can easily perform cluster management tasks, such as creating, updating, and deleting Kubernetes clusters across multiple private and public clouds or quickly troubleshooting and resolving issues across your federated domain.&lt;/p&gt;

&lt;h2&gt;
  
  
  The use of CLI is not scalable
&lt;/h2&gt;

&lt;p&gt;The Ops team might like to use the Kubectl command for a few clusters. It can appear as fun to fetch data of resource utilization and take action from the CLI initially. But with time when multiple clusters have to be managed on time, Kubectl is not a scalable solution. Applying policies, carrying out node operations such as health checks, taint or cordon, and troubleshooting is time-consuming work through CLI. Additionally, it often involves a learning curve and Ops teams don't enjoy any part of it.&lt;/p&gt;

&lt;p&gt;Devtron has launched the open-source Kubernetes dashboard for cluster management to overcome all these challenges.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes dashboard for effective cluster management
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://youtu.be/sD9BVXKZc68"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  360° visibility of multiple clusters
&lt;/h2&gt;

&lt;p&gt;Devtron Kubernetes dashboard allows users to see all the clusters across the enterprise in one plane. They can see the number of nodes in each cluster and the total CPU and memory allocated. DevOps and Ops leads can quickly visualize the resources deployed across clusters, and nodes of each cluster, and make informed decisions like cordoning or deleting a node to save cloud costs.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Node Insights
&lt;/h2&gt;

&lt;p&gt;The ops team can drill down into each cluster and find the granular details of all the nodes. They can visualize the status of each node along with other information such as roles, K8s versions, number of pods running, labels, annotations, resources, etc. The best part is the Ops team can see the resource utilization metrics such as CPU request, memory request, and namespace of each pod in a node.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Node Operation
&lt;/h2&gt;

&lt;p&gt;Devtron dashboard allows the Ops and Admins team to choose a node and carry out maintenance work such as delete, edit configurations, drain, taint, or cordon. They carry out these node operation duties easily with the click of a button from the UI. So Kubernetes admins and Ops team don't have to learn and use Kubectl all the time for setting any taint &amp;amp; toleration, making nodes unschedulable, or any other node operations.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;p&gt;Devtron Kubernetes dashboard allows Ops or admins folks to access the cluster resources from the terminal. You can troubleshoot and debug errors with the help of tools such as Kubectl, HELM, curl, busybox, and other utilities - already provided by Devtron for Ubuntu, Alpine, and CentOS. Devtron provides you the facility to change the namespace and shell (bash/ssh) from the UI itself.&lt;br&gt;
Devtron Kubernetes dashboard also provides real-time visibility into node conditions such as Network unavailability, memory pressure, or disk pressure so that you can take immediate actions. Similarly, you can also edit your node YAML to configure your node like adding labels, or annotation, increasing CPU or memory limits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Guaranteed outcomes of Devtron Kubernetes dashboard
&lt;/h2&gt;

&lt;p&gt;With the Kubernetes dashboard, you can improve Kubernetes admin and Ops team productivity in managing Kubernetes cluster, and reduce mean time to resolve issues with central plane visibility and controls of all nodes across clusters.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Kubernetes Dashboard Ecosystem
&lt;/h2&gt;

&lt;p&gt;Open source Devtron Kubernetes dashboard is available in different deployment options on-prem and managed. Recently Devtron has also released a &lt;a href="https://devtron.ai/blog/introduction-to-devtron-kubernetes-client/"&gt;desktop client version&lt;/a&gt; for the Kubernetes dashboard that can help you manage your k8s resources and multi-clusters.&lt;br&gt;
&lt;a href="https://docs.devtron.ai/install?ref=devtron.ai"&gt;Try Devtron open-source Kubernetes dashboard&lt;/a&gt; for free.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devtron</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Kubernetes Dashboard Part-1: Application Management</title>
      <dc:creator>Devtron</dc:creator>
      <pubDate>Fri, 07 Jun 2024 13:01:22 +0000</pubDate>
      <link>https://forem.com/devtron_/kubernetes-dashboard-part-1-application-management-3ng3</link>
      <guid>https://forem.com/devtron_/kubernetes-dashboard-part-1-application-management-3ng3</guid>
      <description>&lt;p&gt;Devtron, an open-source Kubernetes-native application management platform, has introduced the Kubernetes dashboard for easy application management from a UI. Various teams can get a single-plane visibility of all resources across clusters and can edit, deploy, or troubleshoot them from the UI. Devtron's Kubernetes dashboard has three sub-modules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;App management&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devtron.ai/blog/kubernetes-dashboard-for-cluster-management/"&gt;Cluster management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devtron.ai/blog/kubernetes-dashboard-for-helm-release-management/"&gt;HELM release management&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This blog will discuss the Kubernetes dashboard for application management and how it brings immense value to the developer, DevOps, and SRE/Ops team in all organizations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges of application management in Kubernetes
&lt;/h2&gt;

&lt;p&gt;With CI/CD and GitOps tools, numerous features, changes, or bug fixes are deployed into Kubernetes quickly and frequently (almost daily). With many features released into the various environments, checking the status of each application's health pods is a painstaking process. Here are a few challenges that bog down DevOps and SREs teams while managing applications after deployments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lack of holistic visibility of all the resources
&lt;/h2&gt;

&lt;p&gt;Without a centralized tool, DevOps and SREs often don't know about all the resources, such as pods, Deployments, Statefulset, Services, Secrets, Configmaps, etc., deployed into a cluster. Ops teams often need a holistic understanding of resource consumption across multiple clusters to make decisions. Fetching information about all the Kubernetes objects across clusters and environments about their health and status can be time-consuming.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dependent on experts
&lt;/h2&gt;

&lt;p&gt;Collaboration between teams (developers, Ops, and SREs) can only be possible with holistic information about clusters, app deployments, and resources. Various team members, such as developers, often depend on a particular person to fetch the data for decision-making.&lt;/p&gt;

&lt;h2&gt;
  
  
  Applying "kubectl" at scale is frustrating.
&lt;/h2&gt;

&lt;p&gt;Using the kubectl command and fetching information about applications or pods in a cluster can be fun. However, applying commands to check the status of new deployments or pod health is repetitive and frustrating for the Ops team. For environments where developers and testers would deploy an image and perform unit testing and system integration testing, carrying out pod operations such as health checks and troubleshooting is a context switch for developers. It often involves a learning curve; developers don't enjoy any part of it.&lt;br&gt;
Devtron has launched the open-source Kubernetes dashboard for application management to overcome all these challenges.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes dashboard for Application Management
&lt;/h2&gt;

&lt;p&gt;Devtron Kubernetes dashboard is an open-source web interface to manage Kubernetes applications and cluster resources on-demand. Let us see all the features (watch the below video) of the Kubernetes dashboard for app management.&lt;br&gt;
&lt;a href="https://youtu.be/n-OhoUzXdgk"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  360° visibility of multiple clusters for informed decision-making
&lt;/h2&gt;

&lt;p&gt;Devtron Kubernetes dashboard allows users to see all the resources- grouped as workloads, Configmaps and storage, networking, RBAC, and CRDs- in one plane. Developers and Ops leads can quickly visualize the resources deployed across clusters and make informed decisions like deleting a few obsolete pods to save cloud costs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fryr7lmt4hq5cbwx30g9t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fryr7lmt4hq5cbwx30g9t.png" alt="Resource Browser (Devtron Kubernetes Dashboard)" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Granular visibility and control of resources
&lt;/h2&gt;

&lt;p&gt;The ops team can drill down into each resource, say a pod, and find the granular details. They can visualize the manifest, events, and logs for each help. They can edit a manifest in the run-time and apply it from the UI. Like resource management, the Ops team can also visualize and modify namespaces in a cluster from the Kubernetes dashboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzb24sk0lhc2hpn7iqepw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzb24sk0lhc2hpn7iqepw.png" alt="Pod Operations from Resource Browser" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqagvs2w5fnrs4aa2sxz7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqagvs2w5fnrs4aa2sxz7.png" alt="Edit Live Manifest of Pod" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshooting with logs and terminal
&lt;/h2&gt;

&lt;p&gt;Devtron dashboard allows users to choose a container for a resource to find the out logs. This helps understand the behavior of a resource and troubleshoot immediately in case an application is not working correctly. Devtron Kubernetes dashboard also allows the Ops team to use the terminal (ssh, bash, PowerShell) from the browser for troubleshooting.&lt;/p&gt;

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

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

&lt;h2&gt;
  
  
  Application deployments health status
&lt;/h2&gt;

&lt;p&gt;Since Devtron also provides &lt;a href="https://devtron.ai/blog/simplifying-kubernetes-ci-cd-pipelines/"&gt;CI/CD pipelines&lt;/a&gt; and GitOps workflows for deployments, the dashboard provides the health status of each application. The dashboard offers the golden metrics- CPU usage, memory usage, throughput, and latency- to measure performances of each resource category- workloads, networking, configmaps &amp;amp; storage, etc.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  RBAC for least privilege on resources
&lt;/h2&gt;

&lt;p&gt;Providing teams with the least privilege access to various resources is essential in large organizations. Devtron Kubernetes dashboard allows admins to provide actions such as view, edit, and delete to cluster and resource levels. Suppose you want to grant a developer the editing ability on dev-namespace and viewing ability to their respective application resources in prod-namespace. In that case, you can easily do that using the RBAC functionality of the Devtron Kubernetes dashboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyzo39wr7eoe00k65n94k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyzo39wr7eoe00k65n94k.png" alt="Granular Resource Based Access Control (RBAC)" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Guaranteed outcomes of Devtron Kubernetes dashboard
&lt;/h2&gt;

&lt;p&gt;With the Kubernetes dashboard, you can improve developer and Ops team productivity and reduce mean time to resolve issues with central plane visibility and controls of all the resources across clusters.&lt;/p&gt;

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

&lt;p&gt;Kubernetes Dashboard Ecosystem&lt;br&gt;
Open source Devtron Kubernetes dashboard is available in different deployment options on-prem and managed. Recently Devtron has also released a &lt;a href="https://devtron.ai/blog/introduction-to-devtron-kubernetes-client/"&gt;desktop client version&lt;/a&gt; for the Kubernetes dashboard that would help you to manage Kubernetes resources and multi-clusters.&lt;br&gt;
&lt;a href="https://docs.devtron.ai/install?ref=devtron.ai"&gt;Try Devtron open-source Kubernetes dashboard&lt;/a&gt; for free.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devtron</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
    <item>
      <title>How to Deploy MERN Stack over Kubernetes</title>
      <dc:creator>Devtron</dc:creator>
      <pubDate>Wed, 05 Jun 2024 02:33:02 +0000</pubDate>
      <link>https://forem.com/devtron_/how-to-deploy-mern-stack-over-kubernetes-1p7g</link>
      <guid>https://forem.com/devtron_/how-to-deploy-mern-stack-over-kubernetes-1p7g</guid>
      <description>&lt;p&gt;Hello Everyone, Welcome to another blog! In this blog post, we will talk about how easily you can deploy your MERN stack over Kubernetes with just a few clicks using Devtron.&lt;br&gt;
Yes, you read it right! You don't have to write a number of yamls or pipelines to deploy your entire stack over Kubernetes.&lt;br&gt;
Let's go ahead and see how we can achieve this.&lt;/p&gt;
&lt;h2&gt;
  
  
  MERN Stack
&lt;/h2&gt;

&lt;p&gt;MERN Stack is a combination of different technologies summing up the entire stack. It consists of the following technologies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MongoDB - Use for database&lt;/li&gt;
&lt;li&gt;Express(.js) - Used node.js web framework&lt;/li&gt;
&lt;li&gt;React(.js) - Used for developing client-side JavaScript framework&lt;/li&gt;
&lt;li&gt;Node(.js) - Used for developing the premier JavaScript web server&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Why Kubernetes?
&lt;/h2&gt;

&lt;p&gt;Before we start with the hands-on journey, Why do we need to deploy MERN Stack over Kubernetes? To answer this question, let's take a step back.&lt;br&gt;
Traditionally, for deploying containerized applications/stacks, docker was heavily used. We can containerize each of the technologies say - MongoDB in a container, react in another container, and node-express in a different container and link them all with certain port numbers to work together. Or we can use docker-compose to deploy the entire stack.&lt;br&gt;
But when you talk about auto-scaling and high availability, these tools aren't enough to meet the requirements. This is where Kubernetes comes into the picture.&lt;br&gt;
It is an open-source container orchestration platform for automating deployments, scaling, and management of containers. To know more about why you need to migrate to Kubernetes, please click here&lt;/p&gt;
&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Now that we know the need for migration, let's get our hands dirty. In this blog, we will show how to deploy a simple CRUD application that is divided into three parts -&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;- Database (MongoDB)&lt;/li&gt;
&lt;li&gt;- Backend (Node &amp;amp; Express)&lt;/li&gt;
&lt;li&gt;- Frontend (React Code)
For the database, we will use a community helm chart. All the deployments will be carried out by using Devtron.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;[Note: If you haven't installed Devtron, feel free to check out the well-managed documentation and join the devtron discord community for any help]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Deploying MongoDB
&lt;/h2&gt;

&lt;p&gt;To deploy MongoDB, we will use &lt;code&gt;bitnami/mongodb(13.1.2)&lt;/code&gt; chart that is easily accessible in Devtron's Chart Store as you can see in the image below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnql9f6vopq4h90mz8sms.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnql9f6vopq4h90mz8sms.png" alt="Chart Store" width="800" height="475"&gt;&lt;/a&gt;&lt;br&gt;
Once you get the chart, click on it. It will open the configuration window where you have to provide details for the App Name, Project, and Environment in which you want to deploy. Additionally, it also shows all the chart configurations where you can make any changes if required. For this, please make the following changes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;auth:
rootUser: root
rootPassword: "abhinav123"

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

&lt;/div&gt;



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

&lt;p&gt;Once you click the Deploy Chart button, your database is up and running. You will be able to check out all the resources it has deployed, including the status of the application, the chart version, and many more as shown below.&lt;/p&gt;

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

&lt;p&gt;Now that our chart is deployed, let's move ahead and deploy the backend of our application.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;[Note: To deploy any helm chart using Devtron, please have a look at this blog].&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Deploy Backend
&lt;/h2&gt;

&lt;p&gt;To deploy the backend (Express &amp;amp; Node), we have to create a &lt;code&gt;custom app&lt;/code&gt; from the Devtron dashboard. Devtron is capable enough to deploy any kind of application irrespective of the language or stack chosen for the project. Let's move ahead and onboard the backend app.&lt;br&gt;
Step 1: Click on the &lt;code&gt;Create&lt;/code&gt; dropdown, and select &lt;code&gt;Custom App&lt;/code&gt;, it will open a window and ask for details as shown below. Provide the necessary details and click &lt;code&gt;Create App&lt;/code&gt;&lt;/p&gt;

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

&lt;p&gt;Step 2: After creating an app, you will be redirected to the &lt;code&gt;App Configuration&lt;/code&gt; tab where you need to provide the &lt;code&gt;Git Repository&lt;/code&gt; (source code URL), &lt;code&gt;Docker Build Config&lt;/code&gt; (container repository name), configure &lt;code&gt;Base Deployment Template&lt;/code&gt; (k8s configs), ConfigMaps &amp;amp; Secrets if any.  For a detailed understanding of App Configuration, feel free to check out the documentation.&lt;br&gt;
For this tutorial, we will configure the ingress and port number in the Deployment Template. For ingress, make sure that the ingress controller has been deployed. Feel free to check out this blog to configure the ingress controller using Devtron.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ContainerPort:
- envoyPort: 8799
port: 8082
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ingress:
annotations: {}
className: nginx
enabled: true
hosts:
- host: backend.devtron.info
pathType: ImplementationSpecific
paths:
- /
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;After making these necessary changes, leave all the configurations as default. That's the beauty of the deployment template provided by Devtron. You don't have to write big YAMLs for k8s configuration. Everything, right from the pod specs, hpa, keda-autoscaling, service, ingress, etc. is pre-configured. You just have to tweak some values as per the requirements and deploy it.&lt;br&gt;
Step-3: Now let's move ahead and create a CI/CD pipeline using Workflow Editor. Just click &lt;code&gt;Build Pipeline&lt;/code&gt; → &lt;code&gt;Continuous Integration&lt;/code&gt; and provide the necessary details to create your CI Pipeline.&lt;/p&gt;

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

&lt;p&gt;After the CI Pipeline is created, Click the + icon to create a CD Pipeline corresponding to that CI. Configure the details, and click &lt;code&gt;Create Pipeline&lt;/code&gt;.&lt;/p&gt;

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

&lt;p&gt;Woohoo! We are done with creating the pipeline for our backend application. Now that we don't have any ConfigMaps or Secrets for this application, let's move to the Build &amp;amp; Deploy tab and trigger the CI Build.&lt;br&gt;
Step-4: Click &lt;code&gt;Select Material&lt;/code&gt;, select the commit against which you want to build an image, then click  &lt;code&gt;Start Build&lt;/code&gt;. It will start building your image. You can see runtime logs, commit details for the particular build, security results (if enabled), and artifacts.&lt;/p&gt;

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

&lt;p&gt;Step-5: After building the image, click on &lt;code&gt;Select Image&lt;/code&gt; your deployment pipeline, and deploy the image that you have built. You can also check the commit for which image was built on the deployment dashboard itself.&lt;/p&gt;

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

&lt;p&gt;Now for more details of the deployment, navigate to App Details tab and you can see all the information about your application. The environment in which it is deployed, k8s resources it has like pods, services, etc, manifests, logs, and much more can be found on the Devtron dashboard itself just like we had in the MongoDB chart when it was deployed.&lt;/p&gt;
&lt;h2&gt;
  
  
  Deploy Frontend
&lt;/h2&gt;

&lt;p&gt;Now that our backend is deployed, let's deploy the frontend application (React). To deploy it, we need to follow the same steps that we followed in the case of the backend. But instead of configuring all the configs again, we can use the clone feature of Devtron that would do all the configs for us. We would just have to replace the git repo of the source code, minor changes in the deployment template, and then we are good to build &amp;amp; deploy the application.&lt;br&gt;
Step 1: Create a &lt;code&gt;custom app&lt;/code&gt;, check the &lt;code&gt;clone&lt;/code&gt; button, and select the &lt;code&gt;mern-backend&lt;/code&gt; (backend application name)&lt;/p&gt;

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

&lt;p&gt;Step 2: After the app is created, it will take you to App Configuration tab wherein you have to replace the git URL with the frontend URL. Then move to the Deployment template, change the port number, and ingress hostname. In our case, we have made the following changes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ContainerPort:
- envoyPort: 8799
port: 80
servicePort: 80
ingress:
annotations: {}
className: "nginx"
enabled: true
hosts:
- host: frontend.devtron.info
pathType: ImplementationSpecific
paths:
- /
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;After making these changes, build the image as we did for the backend application and deploy it. Once the application is up and running, we will be able to access the application at the host we have provided in ingress configurations.&lt;/p&gt;

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

&lt;p&gt;Hurray! The application is up and running. It is also connected with the backend and the backend is connected with the database as you can see in the above image we have added a New Book and it is successfully added.&lt;br&gt;
You can try out the application too at frontend.devtron.info/&lt;br&gt;
The entire MERN Stack deployment can be seen on &lt;a href="https://preview.devtron.ai/dashboard/login/sso?continue=/"&gt;Devtron's preview dashboard&lt;/a&gt;. Feel free to sign up for the dashboard using GitHub and explore Devtron's features.&lt;br&gt;
If you like Devtron, do give us a &lt;a href="https://github.com/devtron-labs/devtron?ref=devtron.ai"&gt;start on&lt;/a&gt; Git Hub and join the &lt;a href="https://discord.devtron.ai/?ref=devtron.ai"&gt;Discord community&lt;/a&gt; for all the latest updates.&lt;/p&gt;

</description>
      <category>mern</category>
      <category>kubernetes</category>
      <category>mongodb</category>
      <category>devtron</category>
    </item>
    <item>
      <title>How to Deploy a Django Full-stack Application over Kubernetes</title>
      <dc:creator>Devtron</dc:creator>
      <pubDate>Mon, 27 May 2024 02:41:18 +0000</pubDate>
      <link>https://forem.com/devtron_/how-to-deploy-a-django-full-stack-application-over-kubernetes-1h5p</link>
      <guid>https://forem.com/devtron_/how-to-deploy-a-django-full-stack-application-over-kubernetes-1h5p</guid>
      <description>&lt;p&gt;TL;DR: In this tutorial, we will learn to deploy a sample Django Full Stack Application on Kubernetes using Devtron and implementing GitOps.&lt;br&gt;
Welcome to another blog from the Devtron ecosystem! In this tutorial, you'll learn to deploy a Django Full-stack Application over Kubernetes using Devtron. The best part is you don't need to worry about manually working with K8s configuration files or setting up a CI/CD pipeline. The Devtron platform would seamlessly do everything with a few button clicks.&lt;br&gt;
Let's see how it is done!&lt;/p&gt;
&lt;h2&gt;
  
  
  Pre-requisites
&lt;/h2&gt;

&lt;p&gt;Before moving forward, let's look at all the things you'll require to follow along:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;A full-stack Django Application on GitHub&lt;br&gt;
For this tutorial, we'll be using a simple To-Do List application with PostgreSQL as the database. The application can be accessed from the repo.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Devtron installed and configured on your machine&lt;br&gt;
If you haven't installed Devtron, feel free to check out the well-managed documentation and join the Discord community for help!&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Setting up the database - PostgreSQL
&lt;/h2&gt;

&lt;p&gt;Our application uses PostgreSQL as the database, so the very first step would be to deploy that. Here, we'll be using a community Helm Chart and deploying it with the help of the Helm dashboard by Devtron.&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 1: Visit Chart Store
&lt;/h2&gt;

&lt;p&gt;Navigate to the Chart Store on the Devtron Dashboard and search for postgresql. For this tutorial, we'll be using the bitnami/postgresql(12.1.6) chart, as shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1bd2ojk7pf6nvcq8qt3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1bd2ojk7pf6nvcq8qt3.png" alt="Chart Store" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 2: Chart Selection
&lt;/h2&gt;

&lt;p&gt;Click on the preferred chart where you may refer to the README to learn more about the helm chart.&lt;br&gt;
Head over to Configure &amp;amp; Deploy, where you'll be further setting up your chart configurations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcex00owy70nvoiwvqq3e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcex00owy70nvoiwvqq3e.png" alt="Configure and Deploy" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 3: Chart Configuration
&lt;/h2&gt;

&lt;p&gt;In the configuration window, the following details must be provided:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;App Name&lt;/li&gt;
&lt;li&gt;Project&lt;/li&gt;
&lt;li&gt;Environment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can directly make changes in the chart's configuration file &lt;code&gt;(values.yaml)&lt;/code&gt; here as per your requirements. For this tutorial, please add the following details:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;auth:
      postgresPassword: "&amp;lt;root_password&amp;gt;"
      username: "&amp;lt;new_user&amp;gt;"
      password: "&amp;lt;user_password&amp;gt;"
      database: "&amp;lt;database_name&amp;gt;"`
Once these parameters are properly set, you are ready to deploy your chart.
Click `Deploy Chart

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

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F16fys0cc5mlm163vwh6j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F16fys0cc5mlm163vwh6j.png" alt="Chart Configurations" width="800" height="453"&gt;&lt;/a&gt;&lt;br&gt;
Congratulations! Your PostgreSQL database is up and running! You can now view the chart details by heading to Helm Apps/PostgreSQL on the dashboard.&lt;br&gt;
You will be able to check out all the resources it has deployed, including&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;status of the application,&lt;/li&gt;
&lt;li&gt;chart version, and many more, as shown below.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;blockquote&gt;
&lt;p&gt;NOTE: Please note the service name from here, as that will be used while configuring the Django application.&lt;br&gt;
In this case, it's &lt;code&gt;postgresql-2-devrel&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Configuring the Application - Database Settings
&lt;/h2&gt;

&lt;p&gt;Before we dive into deploying our app using Devtron, we have to make some changes to the database settings. Head over to settings.py of our Django application, which contains the configuration for your SQL database.&lt;br&gt;
Make sure the configurations in settings.py match the ones of the PostgreSQL Helm Chart we deployed in the steps above.&lt;br&gt;
In this case, we are providing all the root user's details.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': '&amp;lt;database_name&amp;gt;',
        'USER': '&amp;lt;root_username&amp;gt;',
        'PASSWORD': '&amp;lt;root_password&amp;gt;',
        'HOST': '&amp;lt;service_name&amp;gt;',
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once we have configured these settings, we are ready to deploy the application using Devtron&lt;/p&gt;

&lt;h2&gt;
  
  
  Deploying the Application
&lt;/h2&gt;

&lt;p&gt;It's interesting to know that Devtron is capable of deploying any kind of application irrespective of the language or tech-stack chosen for the project.&lt;br&gt;
Before we create an application, ensure your Global Configurations are set and properly validated.&lt;br&gt;
Please refer to the documentation for more information on the different sections of Global Configurations available in Devtron.&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 1: Create a Custom Application
&lt;/h2&gt;

&lt;p&gt;Head over to the &lt;code&gt;Create&lt;/code&gt; drop-down on the Devtron dashboard and select &lt;code&gt;Custom App&lt;/code&gt;. Provide the necessary details asked in the prompt window and click &lt;code&gt;Create App&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fppjr5484mqcqlihtmd5e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fppjr5484mqcqlihtmd5e.png" alt="Create Application" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 2: App Configurations
&lt;/h2&gt;

&lt;p&gt;After creating an app, you will be redirected to the App Configuration tab, where you need to provide the following details:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Git Repository: The link to your project on GitHub&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;In this case, we are using a simple To-Do app&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ol&gt;
&lt;li&gt;Build Configuration: Provide all the docker-related information to build and push docker images of your app&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Provide the details for the container repository to store your image&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We are using a Dockerfile for our application, so we will give the path to the same&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can also choose buildpacks as an option to deploy your application if you don't have a Dockerfile. For more information, please refer to the documentation&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ol&gt;
&lt;li&gt;Base Deployment Template: The main deployment configuration goes here. The beauty of using the Deployment template is that you don't need to manually configure things like pod specs, hpa, service, ingress, etc. All these come pre-configured with the template, and you just have to tweak some values as per the requirements.
Following are the steps to configure the deployment of our app:
Step 1: Select a chart type from the following options:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Deployment (Recommended)&lt;/li&gt;
&lt;li&gt;Rollout Deployment&lt;/li&gt;
&lt;li&gt;Job &amp;amp; CronJob&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Step 3: Configure Ingress
&lt;/h2&gt;

&lt;p&gt;Configuring the ingress controller parameters as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ingress:
              annotations: {}
              className: "nginx"
              enabled: true
              hosts:
                - host: &amp;lt;YOUR_DOMAIN&amp;gt;
                  pathType: ImplementationSpecific
                  paths:
                    - /&amp;lt;END_POINTS&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You can also refer to the README for the specific Deployment Chart, provided on the platform itself to configure more parameters as per your requirements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Feel free to check out this blog to configure the ingress controller using Devtron.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ol&gt;
&lt;li&gt;Workflow Editor: Here, you can set up a simple CI/CD pipeline for the application in no time using the platform itself. There are mainly 3 types of pipelines that can be created here: (More information in the documentation)&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Continuous Integration&lt;/li&gt;
&lt;li&gt;Linked CI Pipeline&lt;/li&gt;
&lt;li&gt;Incoming Webhook&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Furthermore, the CI pipeline may also include Pre and Post-build stages to validate and introduce checkpoints in the build process. These can either be configured using some preset plugins like k6, Sonarqube, etc. (as shown below) or using custom scripts as well.&lt;br&gt;
For more information on Pre-build/Post-build tasks, please refer to the documentation. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgaoaveyjtmgbi1qi0gah.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgaoaveyjtmgbi1qi0gah.png" alt="Pre and Post-build Stage" width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Creating a CI/CD pipeline for our Django Application
&lt;/h2&gt;
&lt;h2&gt;
  
  
  Step 1: Create CI Pipeline
&lt;/h2&gt;

&lt;p&gt;For creating a CI pipeline, click on &lt;code&gt;+ New Workflow -&amp;gt; Build &amp;amp; deploy&lt;/code&gt; the source code. In the &lt;code&gt;Create Pipeline&lt;/code&gt; window, provide the necessary details as shown below and click on Create Pipeline:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3nmi05defwmy8lverti.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3nmi05defwmy8lverti.png" alt="CI Pipeline" width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 2: Create CD Pipeline
&lt;/h2&gt;

&lt;p&gt;To create the deployment pipeline, click the &lt;code&gt;+&lt;/code&gt; icon corresponding to the CI. Configure the details as required, and click on Create Pipeline.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdukdx7mszl5z86vre6xl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdukdx7mszl5z86vre6xl.png" alt="CD Pipeline" width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
Awesome! You now have a fully configured CI/CD pipeline for your application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fryn96ud3x7t21v8m89hl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fryn96ud3x7t21v8m89hl.png" alt="Workflow of Application" width="800" height="424"&gt;&lt;/a&gt;&lt;br&gt;
To know more about using the Workflow Editor, refer to the documentation.&lt;br&gt;
As we don't have any &lt;code&gt;ConfigMaps&lt;/code&gt; or &lt;code&gt;Secrets&lt;/code&gt; for this application, let's move to the Build &amp;amp; Deploy tab and trigger the CI Build.&lt;br&gt;
Step 3: Build and Deploy&lt;br&gt;
In the &lt;code&gt;Build &amp;amp; Deploy&lt;/code&gt; tab, click Select Material then select the commit against which you want to build an image, then click Start Build.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzwptvp8yaej1sqz6l04h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzwptvp8yaej1sqz6l04h.png" alt="Triggering Build" width="800" height="427"&gt;&lt;/a&gt;&lt;br&gt;
This will start building your image. You can also view runtime logs, commit details for the particular build, security results (if enabled), and artifacts.&lt;br&gt;
Once the build is successful, the status will be updated accordingly!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffi95gqmiqrsvdqu46df8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffi95gqmiqrsvdqu46df8.png" alt="Logs Generated While Build" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 4: Deploy using the Image
&lt;/h2&gt;

&lt;p&gt;Now is the time to deploy the application using the image we built in the previous step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0noez22636th8tg001xe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0noez22636th8tg001xe.png" alt="Triggering the Deployment" width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
Now, we can check the status of our deployment on the App Details tab. Once the deployment is successful, it will reflect the &lt;code&gt;Application Status: Healthy&lt;/code&gt;.&lt;br&gt;
Furthermore, you can view all additional information about your deployed application such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The deployment environment&lt;/li&gt;
&lt;li&gt;K8s resources like pods, services, etc&lt;/li&gt;
&lt;li&gt;Manifests of individual resources&lt;/li&gt;
&lt;li&gt;logs, and much more&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuxknfm5h4axarf75sili.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuxknfm5h4axarf75sili.png" alt="Application Dashboard" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Step 5: View your Deployment&lt;br&gt;
We have successfully deployed our Django app over Kubernetes 🎉&lt;br&gt;
To check whether our application and database are running successfully, we can view this in our browser.&lt;br&gt;
The syntax is: &lt;code&gt;http://&amp;lt;hostname&amp;gt;/&amp;lt;path&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;hostname&lt;/code&gt; &amp;amp; &lt;code&gt;path&lt;/code&gt; would be the ones given in ingress while configuring the Deployment Template (refer to the steps above)&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;NOTE: An additional step here could be mapping your domain_name with the load balancer IP address, which can be found in the manifest of ingress (as shown below)&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;status:
  loadBalancer:
    ingress:
      - ip: &amp;lt;IP_ADDRESS&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;We have successfully deployed our Django Application over Kubernetes using Devtron. If you like Devtron, do give us a ⭐️ on GitHub, and feel free to join the Discord community for all the latest updates.&lt;/p&gt;

</description>
      <category>django</category>
      <category>kubernetes</category>
      <category>devtro</category>
      <category>cicd</category>
    </item>
  </channel>
</rss>
