Best of KubernetesAugust 2024

  1. 1
    Article
    Avatar of bytebytegoByteByteGo·2y

    EP123: What is a Load Balancer?

    A load balancer distributes network or application traffic across multiple servers to ensure availability, reliability, and performance. There are different types of load balancers, including hardware, software, cloud-based, Layer 4, Layer 7, and Global Server Load Balancing. Load balancers improve scalability and help manage large-scale applications efficiently. The post also touches on various design patterns for Kubernetes and highlights a sponsored service by QA Wolf for improved QA cycles.

  2. 2
    Article
    Avatar of gcgitconnected·2y

    Why Use GoFr for Golang Backend?

    GoFr is a Golang framework designed for accelerated microservice development. It offers built-in observability tools such as health-check and heartbeat URLs, metrics, and structured logging. GoFr supports multiple data sources including MySQL, PostgreSQL, and MQTT, and simplifies REST API design, logging, metrics, tracing, and CORS configuration. Its compatibility with Kubernetes and minimal code for route registration enable developers to focus on business logic while ensuring the application is production-ready.

  3. 3
    Video
    Avatar of youtubeYouTube·2y

    Complete Kubernetes Course - From BEGINNER to PRO

    This complete Kubernetes course, designed by Sid from DevOps Directive, is intended for software engineers seeking to enhance their DevOps and infrastructure skills by mastering Kubernetes. The course covers both theoretical and practical aspects, including deploying demo applications across multiple environments. The course provides code samples in a companion GitHub repository and offers interactive modules via a platform and a Discord community. Key prerequisites include familiarity with web applications, basic shell commands, cloud infrastructure knowledge, and intermediate containerization skills. The course broadly covers setting up development environments, clustering, resource types, Helm, debugging applications within Kubernetes, and automation techniques.

  4. 4
    Article
    Avatar of strongdmstrongdm·2y

    Kubectl Cheat Sheet - Kubernetes Commands (Basic to Advanced)

    Kubernetes is a widely used container-centric management system created by Google and maintained globally. The kubectl command-line tool allows users to manage clusters, configure deployments, and perform various administrative tasks. This comprehensive cheat sheet covers installing kubectl, verifying installations, managing contexts for multiple clusters, core kubectl commands, and advanced operations such as monitoring, debugging, and securing access. Tips for increasing efficiency with kubectl, like customizing outputs and setting aliases, are also included.

  5. 5
    Article
    Avatar of communityCommunity Picks·2y

    Deployment to Kubernetes with ArgoCD

    The post provides a detailed guide on deploying applications to a Kubernetes cluster using ArgoCD. It includes Terraform configurations for setting up the DigitalOcean container registry and Kubernetes cluster, Nginx Ingress Controller for managing HTTP and HTTPS routing, and Cert Manager for automating TLS certificate management. The tutorial also covers initializing a Node.js application, using GitHub Actions to build and push Docker images, and configuring ArgoCD to monitor a Git repository for changes.

  6. 6
    Video
    Avatar of youtubeYouTube·2y

    C# (.NET) vs. Go (Golang): Performance Benchmark in Kubernetes

    A performance benchmark comparison between C# (.NET 8) and Golang in a Kubernetes environment, testing CPU usage, memory usage, request handling, and end-user latency. The tests include a minimal API test and a typical use case with file upload to S3 and metadata storage in a Postgres database. Golang generally performs better, with lower CPU and memory usage, while C# shows higher latency. The post includes detailed metrics and setups for monitoring using Prometheus, Grafana, and cAdvisor.

  7. 7
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    How to Terminate Go Programs Elegantly – A Guide to Graceful Shutdowns

    Graceful shutdowns prevent data loss and system instability by allowing applications to complete ongoing requests and save state information. In Go applications, this involves handling Unix signals like SIGTERM using signal channels or context. Proper implementation ensures in-flight requests are completed, and resources like Redis connections are closed before exiting. This is crucial for applications in orchestrated environments like Kubernetes, where the termination process includes signal sending and waiting periods.

  8. 8
    Article
    Avatar of hnHacker News·2y

    Building a Local Perplexity Alternative with Perplexica, Ollama, and SearXNG

    Perplexica, Ollama, and SearXNG can be used to create a local alternative to the popular AI search engine Perplexity on your own hardware, eliminating monthly fees. Using the open-source operating system Terminus, users can easily deploy and integrate these tools to establish a robust AI search engine. The guide provides step-by-step instructions, starting from launching Terminus to configuring the AI models and testing the setup. This approach not only offers cost savings but also ensures data control and customization flexibility for the users.

  9. 9
    Article
    Avatar of awsAWS·2y

    Announcing Karpenter 1.0

    Karpenter 1.0 marks the milestone of its APIs graduating from beta to stable, assuring users of consistent API availability in future minor versions. The release includes three new features: the ability to specify disruption reasons for disruption budgets, a forceful disruption mode balancing application availability and security, and an expanded consolidateAfter feature for improved cost-efficiency and application availability management. Karpenter can be used with Amazon EKS or any conformant Kubernetes cluster.

  10. 10
    Article
    Avatar of itnextITNEXT·2y

    GPTScript: Build Your Own Task-Specific AI-Agent from Scratch and Deploy It to Kubernetes

    GPTScript is a framework that allows you to create task-specific AI agents using Large Language Models (LLMs) and deploy them on Kubernetes. It aims to facilitate automation for tasks in DevOps and daily routines through simple language commands. The framework supports the use of various languages and provides context-sharing between tools and agents. Instructions for setting up, deploying, and experimenting with GPTScript on Kubernetes are provided, including creating simple tools and more complex agent-based solutions to troubleshoot and resolve cluster issues.

  11. 11
    Article
    Avatar of semaphoreSemaphore·2y

    How to Expose Kubernetes Apps Using the Gateway API

    The Gateway API addresses the limitations of the Kubernetes Ingress API by offering role-based object types, support for multiple protocols, expressive traffic management features, and a formal method for extension. This tutorial demonstrates how to configure ingress traffic to an example application in a local Kubernetes cluster using the Gateway API and the Envoy Gateway. It covers the deployment of both the application and the Envoy Gateway, as well as defining a Gateway and HTTPRoute to manage traffic routing to the application.

  12. 12
    Article
    Avatar of spaceliftSpacelift·2y

    How to Manage Kubernetes Secrets with Terraform

    Kubernetes Secrets provide a secure way to store sensitive information like passwords and API tokens, abstracting them from application code. This improves security by avoiding hardcoding sensitive data. Terraform can manage these secrets in a centralized, declarative manner, offering features like secret rotation and integration with tools like Vault. However, the Terraform state file stores secrets in plain text, necessitating extra security measures. Combining Kubernetes and Terraform with tools like Spacelift can streamline workflows, improve security, and enable comprehensive infrastructure management.

  13. 13
    Article
    Avatar of itnextITNEXT·2y

    How to Deploy Preview Environments on Kubernetes with GitHub Actions

    Preview environments offer a safe, isolated space for testing and debugging code changes before merging into the main branch. They enhance collaboration, reduce costs, and seamlessly integrate with CI/CD pipelines for continuous integration and deployment. This guide outlines setting up preview environments for backend services and APIs using Kubernetes, Docker, and GitHub Actions. It covers Kubernetes resources, container configuration, and specific GitHub Actions workflows for deploying previews. The setup ensures unique deployment names, manages environment variables, and handles clean-up tasks automatically.

  14. 14
    Article
    Avatar of ciliumcilium·2y

    Talos Kubernetes on Proxmox using OpenTofu

    Talos is an immutable operating system designed to run Kubernetes, providing an out-of-the-box Kubernetes installation with a smaller attack surface and easier maintenance. This guide explains how to bootstrap and upgrade a multi-node Talos cluster running VMs on Proxmox, using OpenTofu/Terraform and following IaC principles. The setup includes configuring Talos and Proxmox, using Cilium for enhanced networking, leveraging the Proxmox CSI plugin for volume provisioning, and optionally using Intel iGPU for video support. It also covers advanced configurations like setting up Sealed Secrets for secure secret management and customising Talos images with Talos Linux Image Factory.

  15. 15
    Article
    Avatar of itnextITNEXT·2y

    Kubernetes: The Art of Zero-Downtime Deployments

    Seamless deployments in Kubernetes can minimize application downtime by using advanced strategies such as Blue/Green and Canary deployments. Key techniques include rolling updates, label matching, and detailed pod management using the `spec.selector.matchLabels` field. By understanding built-in deployment strategies, configuring readiness probes, and implementing graceful shutdowns, you can ensure smooth transitions during updates. Advanced strategies provide more control and flexibility, suitable for mission-critical applications. Tools like Argo Rollouts and monitoring with Prometheus and Grafana help manage deployment processes effectively.

  16. 16
    Article
    Avatar of devtoDEV·2y

    Understanding Kubernetes: part 52 – Kubernetes 1.31 Changelog

    This post introduces a series of sketchnotes focused on the new features in Kubernetes version 1.31. The author also mentions an illustrated book available on Amazon and GumRoad that explains Kubernetes visually.

  17. 17
    Article
    Avatar of itnextITNEXT·2y

    GitOps: How We Integrate a New Service in Under 1 Hour for 25 Clusters!

    Integrating a new service at scale can be challenging, but using GitOps methodology with Argo CD simplifies the process. This comprehensive guide covers setting up an organization, inviting users, creating environments, integrating with Kubernetes, securing credentials with Azure Key Vault, and deploying through Helm charts. The automation minimizes errors and ensures a smooth integration of Otterize into your tech stack.

  18. 18
    Article
    Avatar of itnextITNEXT·2y

    Building the lightest-weight Kubernetes dev ephemeral environments

    Kardinal is an open-source framework for creating lightweight, ephemeral development environments within a Kubernetes cluster. It optimizes resource usage by deploying only necessary services for testing and development, employing 'flows' to manage these environments dynamically. Kardinal offers various flow types for different development needs, features a plugin system for state management, and includes a visual dashboard for cluster management. Installation is straightforward, requiring Kubernetes with Istio, and Kardinal provides significant cost savings by minimizing resource duplication.

  19. 19
    Article
    Avatar of communityCommunity Picks·2y

    Kubernetes Operator vs Helm: 11 Key Differences & Which One to Choose

    Kubernetes operators and Helm charts are both tools designed to install and manage applications on Kubernetes, but they do so in different ways. Operators provide more customization and flexibility but are more complex to use, while Helm charts offer a simpler and more straightforward installation experience. The choice between them depends on factors like the need for customization, complexity, and user experience. Operators are better for advanced use cases and custom applications, whereas Helm is ideal for simpler, standard application deployments.

  20. 20
    Article
    Avatar of devopsDevOps.com·2y

    DevOps Automation: A Detailed Guide

    DevOps automation reduces human assistance in processes that connect development and operations teams, enabling faster iterative updates to production applications. Key aspects include setting clear goals, frequent automation of processes, robust testing and monitoring, and leveraging CI/CD platforms and Infrastructure as Code (IaC). Essential tools like Kubernetes, Docker, Splunk, and Ansible facilitate automation, enhance software quality, and reduce time to market.

  21. 21
    Video
    Avatar of davesgarageDave's Garage·2y

    Docker Explained: What You Need to Know - Starting with Hello World

  22. 22
    Article
    Avatar of notedNoted·2y

    Homelab Spotlight - 3D Printed NUC Rack

    Reddit user u/NeyPalm showcases a custom 3D printed NUC rack for their homelab, featuring an impressive setup including 6 NUC7i3BNK devices, a ThinkCentre M720q for running Proxmox, and a PC Engines APU2D4 board serving as a firewall/router. This homelab serves as a playground for further training and testing various IT services. Files for the 3D project are shared on Thingiverse.

  23. 23
    Article
    Avatar of communityCommunity Picks·2y

    Preview Environments using Neon, Kubernetes, and Argo CD

    Learn how to create isolated, production-like preview environments using Neon database branching, Kubernetes, and Argo CD. By leveraging these tools along with GitHub Actions for CI/CD, developers can streamline testing and deployment processes. The piece details how to set up a Next.js application, create and manage database branches in Neon, and deploy environments using Argo CD Applications and ApplicationSets. It also discusses the continuous delivery workflow, emphasizing the integration of container images and database endpoints.

  24. 24
    Article
    Avatar of do_communityDigitalOcean Community·2y

    DigitalOcean Kubernetes: Infrastructure Best Practices

    This post explores essential factors for bringing DigitalOcean Kubernetes (DOKS) to production readiness, including infrastructure planning, VPC isolation, high availability control planes, node configuration, and automation best practices with GitOps and Infrastructure as Code (IaC). It also provides practical examples and guides to help users enhance their DOKS deployments.

  25. 25
    Article
    Avatar of itnextITNEXT·2y

    From YAML Chaos to Kubernetes Zen

    Pepr is a tool that simplifies Kubernetes management by converting organizational knowledge into maintainable TypeScript modules. It offers a type-safe and human-readable way to define transformations for Kubernetes resources. Pepr stands out by combining policy enforcement and automation features, enabling complex actions through TypeScript while allowing integration with WebAssembly for more language flexibility. Additionally, it provides robust logging, monitoring capabilities, and security best practices, making it an effective solution for both development and production environments.