Best of KubernetesNovember 2024

  1. 1
    Article
    Avatar of spaceliftSpacelift·1y

    K3s vs K8s: Differences, Use Cases & Alternatives

    K3s is a lightweight, production-ready Kubernetes distribution tailored for resource-constrained environments such as IoT, edge computing, and local development. It simplifies deployment through a single binary, uses less memory and CPU, and includes default tools like containerd and Traefik. While K3s is easier to set up and maintain compared to standard Kubernetes (K8s), it may lack some advanced features and security options. Managed cloud services like Amazon EKS and Google GKE offer alternative options for more complex, large-scale environments.

  2. 2
    Article
    Avatar of communityCommunity Picks·1y

    How To Build A Containerized Microservice in Golang: A Step-by-step Guide with Example Use-Case

    Learn how to build a cloud-native application using Golang and microservices architecture. The guide covers setting up microservices, leveraging the Go-Kit framework, developing APIs using REST and gRPC, and deploying on Azure. Follow along to create a document watermarking service with three microservices: Authentication, Database, and Watermark Service. Detailed steps include project structure, service implementation, and setting up HTTP and gRPC transports.

  3. 3
    Article
    Avatar of container_journalContainer Journal·1y

    Top 10 Kubernetes Tools

    Kubernetes offers a wide range of tools that simplify the deployment, scaling, and management of container-based applications. Key tools include Kubectl for command-line management, Helm for package management, k9s for terminal-based cluster management, Kustomize for customizing configurations, Grafana for monitoring, Istio for microservices management, Jaeger for tracing transactions, Prometheus for monitoring and alerting, Minikube for local development, and Lens as an IDE. Each tool serves a specific need, enhancing the efficiency and effectiveness of Kubernetes operations.

  4. 4
    Article
    Avatar of infoqInfoQ·1y

    Optimizing Java Applications on Kubernetes: Beyond the Basics

    Learn strategies for optimizing Java applications on Kubernetes beyond basic container management. The discussion includes reducing container image sizes for better security, improving JVM startup times with advanced techniques like Class Data Sharing, tuning JVM defaults for better performance, and employing Kubernetes features for more efficient resource allocation. Additionally, innovative concepts like A/B performance testing in production are explored to further enhance application performance and resource utilization.

  5. 5
    Article
    Avatar of castaiCast AI·1y

    Complete Guide to Kubernetes Services with Examples

    Kubernetes services abstract endpoints and manage network communication within a cluster. They simplify load balancing, discovery, and scaling by providing stable network identities for Pods. The main types of services include ClusterIP, NodePort, LoadBalancer, and ExternalName. Each type serves distinct use cases and has specific configurations. Best practices include using the appropriate service type, monitoring traffic, organizing services properly, and considering alternatives like Ingress or Service Mesh for complex needs.

  6. 6
    Article
    Avatar of spaceliftSpacelift·1y

    Flux CD vs. Argo CD: GitOps Tools Comparison

    Flux CD and Argo CD are popular tools for implementing GitOps with Kubernetes, helping automate app deployment. While Flux CD emphasizes simplicity and seamless Kubernetes integration, Argo CD offers a richer user interface and advanced features like multi-cluster support. Both tools support continuous delivery by syncing cluster states with declarative configuration files stored in Git repositories, preventing configuration drift and managing deployments efficiently.

  7. 7
    Article
    Avatar of devtronDevtron·1y

    Kubernetes Dashboard by Devtron

    The post discusses the complexities of managing multiple Kubernetes clusters and introduces Devtron's Modern Kubernetes Dashboard as a solution. This dashboard offers a simplified UI for managing Kubernetes at scale, providing features like 360-degree visibility, advanced debugging capabilities, configuration management, and robust RBAC. It supports Helm, ArgoCD, and FluxCD applications, enhancing productivity and operational efficiency.

  8. 8
    Article
    Avatar of mercariMercari Engineering·1y

    Designing a Zero Downtime Migration Solution with Strong Data Consistency – Part I

    This post provides an overview of a planned migration from a single-entry bookkeeping balance microservice (v1) to a double-entry bookkeeping balance microservice (v2) for a payment platform. The v2 service aims to reduce development costs and provide more organized and modern code. The post outlines the tech stack, current architecture, and different aspects of accounting, historical data, and bookkeeping services involved in the migration. The plan is spread across five parts, each covering different stages and elements of the migration.

  9. 9
    Article
    Avatar of itnextITNEXT·1y

    Building Your Own Event-Driven Internal Developer Platform with GitOps and Sveltos

    Learn to create an event-driven internal developer platform using GitOps and Sveltos. This hands-on guide requires experience with Kubernetes and Helm. You'll need three running Kubernetes clusters - management, service, and workload/application clusters. The tutorial walks you through setting up Sveltos, registering clusters, deploying a CloudNative-PG operator, automating PostgreSQL database deployments, and deploying an application that connects to the database. Two pathways are provided: a detailed step-by-step approach and a shortcut for quick deployment. Additional insights into the GitOps approach and potential enhancements are discussed.

  10. 10
    Article
    Avatar of jetbrainsJetBrains·1y

    Deploying Go Apps with Kubernetes

    The post provides a comprehensive tutorial on deploying Go applications with Kubernetes. It covers the steps to create a basic Go application, containerize it using Docker, and deploy it to a local Kubernetes cluster using Docker Desktop. The tutorial includes code snippets for setting up the database with GORM, building core business functions, creating and configuring Dockerfiles, writing Kubernetes manifests, and deploying both the database and application. It also offers guidance on interacting with Kubernetes clusters directly from GoLand IDE.

  11. 11
    Article
    Avatar of pulumiPulumi·1y

    Fargate vs EC2

    When setting up an EKS cluster, you can choose to run your containers on either AWS EC2 instances or through AWS Fargate. EC2 requires managing instance types and handling resource allocation, whereas Fargate abstracts away the complexity by providing a dedicated environment for each pod. While Fargate can improve isolation and flexible scaling, EC2 offers cost efficiencies and resource sharing. Fargate is suitable for bursty, resource-heavy workloads, while EC2 works well for lightweight micro-services. Consider a combination of both for optimal results.

  12. 12
    Article
    Avatar of devtoDEV·1y

    Why WASM: Quickstart

    Web Assembly (WASM) offers significant benefits in performance, cross-platform capabilities, and security, allowing developers to use their preferred programming languages and creating efficient, memory-safe applications. WASM can run on different architectures, making it highly compatible and versatile. It also improves application startup times and reduces memory usage, although it lacks multi-threading capabilities. WASM's security advantages stem from its minimal interaction with the underlying OS and use of lightweight container images.

  13. 13
    Article
    Avatar of lobstersLobsters·1y

    Dear friend, you have built a Kubernetes

    Many developers try to avoid using Kubernetes for container management due to its complexity, opting for simpler tools like shell scripts or Docker Compose. However, this often leads to hastily built, unreliable setups that gradually grow in complexity, resembling Kubernetes in scope and functionality. Developers eventually end up implementing various aspects of Kubernetes such as deployment methods, overlay networks, service discovery, and API servers, despite their initial intentions.

  14. 14
    Video
    Avatar of flydotioFly.io·1y

    Do you REALLY need Kubernetes?

    Kubernetes is not always necessary for startups, and they often reach for it prematurely due to misconceptions. Orchestration, fundamentally about managing multiple containers across physical machines, can be achieved without Kubernetes. Kubernetes offers benefits like a common, cloud-agnostic language and declarative management, making sense for complex, large-scale applications. However, simpler alternatives can handle orchestration tasks, and startups should carefully consider their real needs before adopting Kubernetes.

  15. 15
    Article
    Avatar of itnextITNEXT·1y

    The Technical History of Kubernetes

    This post provides an in-depth technical history of Kubernetes, detailing its origins from research and development efforts at Google and its evolution from precursor systems like Borg and Omega. It covers key concepts like Pods, labels, annotations, workload controllers, and the Kubernetes API. The post highlights the design decisions and milestones that shaped Kubernetes into a flexible, extensible platform for managing containerized applications.

  16. 16
    Article
    Avatar of last9Last9·1y

    Kubernetes Observability with OpenTelemetry Operator

    The OpenTelemetry Operator enhances observability in Kubernetes clusters by simplifying the deployment and management of telemetry pipelines. It automates tasks such as scaling collectors, exporting telemetry data, and instrumentation. Key features include various deployment modes, custom pipelines, scalability, and auto-instrumentation. Best practices involve starting small, using CRDs for configurations, monitoring collector health, isolating telemetry pipelines by namespaces, and using metrics for scaling.

  17. 17
    Video
    Avatar of devops-toolkitDevOps Toolkit·1y

    From Docker to Kubernetes: Running Backstage in Production!

    The post details how to run Backstage in a production environment by packaging it into OCI images and deploying it using Docker and Kubernetes. Key steps include creating custom Dockerfiles, Helm charts, and automating the process with GitHub Actions for continuous integration and deployment. It also emphasizes the need for a real database and suggests different configurations based on production needs.

  18. 18
    Article
    Avatar of newstackThe New Stack·1y

    How Kubernetes Requests and Limits Really Work

    Kubernetes utilizes resource requests and limits to manage CPU and memory within a cluster. This process involves multiple layers, including pod specification, node status reporting, and pod scheduling. Each layer plays a crucial role in ensuring resource allocation and proper functioning of nodes. Understanding these mechanisms can help predict and debug issues with resource management in Kubernetes.

  19. 19
    Article
    Avatar of communityCommunity Picks·1y

    Lightweight Kubernetes and Wasm is a Perfect Combo

    Lightweight Kubernetes distributions like k3s, Microk8s, and k0s, combined with SpinKube, offer significant performance and resource efficiency benefits. Spin applications, which are WebAssembly-based, have minimal runtime overhead and can scale rapidly. This makes them ideal for both low-frequency use cases and high-traffic scenarios, as well as for edge computing where optimizing network latency is crucial.

  20. 20
    Article
    Avatar of joindevopsDevOps·1y

    Requested ChatGPT to create an image representing my life based on our interactions.

  21. 21
    Article
    Avatar of communityCommunity Picks·1y

    How to find production memory leaks in Node.js applications?

    The post details the process of identifying and fixing a memory leak issue in a Node.js API deployed on Kubernetes. It discusses the investigation approach, including attempts to reproduce the issue locally, load testing in staging environments, and taking memory snapshots from production. The post highlights the use of tools like Clinic.js, Jenkins, and Chrome DevTools, and emphasizes the importance of proper debugging and risk mitigation strategies in production. Ultimately, the issue was traced to the improper handling of grpc connections in the Google reCAPTCHA enterprise library.

  22. 22
    Article
    Avatar of detlifeData Engineer Things·1y

    Cloud-Native Data Engineering: Orchestrating Spark on Kubernetes with Custom Airflow Operator and GCS Integration

    This guide provides step-by-step instructions for setting up a scalable, automated data pipeline using Spark on Kubernetes with Google Cloud Storage (GCS) integration, managed by Apache Airflow. It includes configuring custom Docker images for Spark with GCS support, installing and configuring the Spark Operator and Airflow, creating a custom Airflow operator for submitting Spark jobs, and setting up necessary role-based access controls. By the end, readers will have a robust, cloud-native data engineering platform capable of handling complex data workflows efficiently.

  23. 23
    Article
    Avatar of communityCommunity Picks·1y

    Kube Resource Orchestrator

    Kube Resource Orchestrator (kro) simplifies the creation and management of complex custom resources for Kubernetes by providing an abstraction layer for defining and managing multiple resources. kro allows you to define ResourceGroups as building blocks, grouping native and custom resources and their dependencies. It integrates seamlessly with Kubernetes tools and manages the lifecycle of resources dynamically. Note: This project is currently in active development and not ready for production use.

  24. 24
    Video
    Avatar of christianlempaChristian Lempa·1y

    Simple HTTPs for Kubernetes // Traefik + Cert-Manager

    Christian demonstrates how to manage HTTPS for applications on a Raspberry Pi Kubernetes cluster using Traefik and Cert-Manager. He provides a step-by-step guide for installing Traefik to expose applications and using Cert-Manager to secure them with trusted SSL certificates from Let's Encrypt. Additionally, he discusses the advantages of using Cert-Manager over persistent storage volumes and shows how to integrate everything seamlessly.

  25. 25
    Article
    Avatar of communityCommunity Picks·1y

    I Didn't Need Kubernetes, and You Probably Don't Either

    The post discusses why the author transitioned from Kubernetes to Google Cloud Run for managing infrastructure projects. It highlights the complexities and high costs associated with Kubernetes, compared to the streamlined, cost-effective, and scalable solution provided by Cloud Run. The author shares insights into their current setup, addressing concerns regarding orchestration, storage, inter-service communication, and security, and debunks misconceptions about cloud provider lock-in and Cloud Run’s relation to Kubernetes.