r/kubernetes • • 20d ago

Periodic Monthly: Who is hiring?

6 Upvotes

This monthly post can be used to share Kubernetes-related job openings within your company. Please include:

  • Name of the company
  • Location requirements (or lack thereof)
  • At least one of: a link to a job posting/application page or contact details

If you are interested in a job, please contact the poster directly.

Common reasons for comment removal:

  • Not meeting the above requirements
  • Recruiter post / recruiter listings
  • Negative, inflammatory, or abrasive tone

r/kubernetes • • 20h ago

Periodic Weekly: Show off your new tools and projects thread

12 Upvotes

Share any new Kubernetes tools, UIs, or related projects!


r/kubernetes • • 11h ago

what bit you running postgres on k8s with cloudnativepg?

25 Upvotes

for people running cnpg in prod, what caught you out that you didnt see coming?

one thing we noticed: a cluster with no backups configured at all still shows ContinuousArchiving=True, "Continuous archiving is working". the archive command just returns ok when theres nowhere to send the wal. kubectl cnpg status does say "Continuous Backup not configured", but an alert on the condition alone would miss it

curious about the rest. failovers, wal filling the disk, upgrades, restores that didnt work, whatever it was, and how you found out

full disclosure i work on radar (open source k8s ui). we've been gradually adding cnpg support and want to make sure it covers the stuff that actually bites people


r/kubernetes • • 11h ago

Storing ML models as OCI artifacts in your registry: anyone running this in prod?

6 Upvotes

Instead of pulling weights from S3 at startup, we've been packaging models as OCI artifacts and pulling them by digest, the same way we pull images. That gets us signing, replication and admission policy for free. For anyone else doing this: how are you handling large layers (tens of GB), registry limits, and caching on GPU nodes? Init container, CSI, image volumes? Trade-offs welcome.


r/kubernetes • • 11h ago

Re-matching stored SBOMs of running images against OSV instead of rescanning on a schedule

3 Upvotes

A scan is a snapshot of an image against that day's advisory database. The image never changes, the database changes daily. So the only way to know if today's advisory hits last week's deployment is to scan everything again.

I built it the other way round:

  • A read-only agent watches pods and pulls each image once per digest, then stores its SBOM.
  • The server mirrors OSV, EPSS and CISA KEV locally.
  • When the mirror changes, every stored SBOM is re-matched. No image is pulled twice.
  • Each pod is tied back to its Helm release and Argo CD app, so the fix is a chart version, not a CVE id.

Hardest part was package URL matching. Go stdlib under GOEXPERIMENT gave 140 false positives in one release. Rocky and SLES matched nothing for months because Syft and OSV disagree on the rpm namespace.

It does not do config audit, RBAC or CIS benchmarks. Trivy Operator does, and they run side by side.

AGPL-3.0, one helm install with bundled Postgres, no telemetry: https://github.com/lockdep/stackradar

Interested in where the matcher is wrong on your images.


r/kubernetes • • 20h ago

How gVisor sandboxes untrusted pods: a second Linux kernel, written in Go, and what it costs you

15 Upvotes

We run backend code we've never seen, from thousands of sites, on Kubernetes, and every one of those pods runs inside gVisor. Most of my day goes to it. This is the map I wish I'd had before I started sending fixes upstream.

Why a second kernel

A normal container is a Linux process with walls: namespaces decide what it can see, cgroups how much it can use, seccomp which system calls it may make. Every call it's allowed still lands in the host kernel, and every container on the node shares that kernel. One kernel bug is enough to escape.

A VM fixes that with a guest kernel and a hypervisor, and pays for it in boot time and memory. gVisor sits in the middle. A sandbox starts like a container, but the app's system calls never reach the host kernel.

The pieces

  • Sentry: the core. A from-scratch reimplementation of the Linux system call interface in Go: memory management, filesystems, a network stack, signals, even the TCP connections. It runs as a normal user-space process, locked down with seccomp and namespaces of its own.
  • Gofer: a separate, more trusted process. At startup it opens each mount's root on the host and hands those file descriptors to the Sentry.
  • runsc: the OCI runtime that starts all of it. containerd runs it where it would run runc, and Kubernetes picks it per pod with a RuntimeClass. One pod, one sandbox.

​

    +---------------------------+
    | Stub processes            |
    | run the app's code        |
    +---------------------------+
                 | every syscall traps
                 v
    +---------------------------+      +---------------------+
    | Sentry                    | <--- | Gofer               |
    | Linux kernel in Go        | FDs  | one per container   |
    +---------------------------+      +---------------------+
                 | few, filtered calls        | opens mount roots
                 v                            v
    +-----------------------------------------------------------+
    | Host kernel                                               |
    +-----------------------------------------------------------+

For the most common escape, a bug in the system call interface, an attacker now needs two bugs: one to take over the Sentry, then one in the much smaller set of host calls the Sentry may make. gVisor describes them as two kernels "which do not share any code".

The stubs, where I got it wrong

On cloud VMs gVisor catches system calls with a platform called systrap, the default since mid-2023. The app's code doesn't run inside the Sentry. It runs in stub processes, plain host processes whose system calls the kernel turns into a SIGSYS signal. A small handler in the stub saves the thread's registers into a shared slot called a context and wakes the Sentry. The Sentry handles the call in Go and puts the context back on a queue, where any idle stub thread can pick it up.

My first upstream fix was for one thread whose context never came back, and a pod that wouldn't die for days. I proposed killing the Sentry when that happens. The maintainer's review: "If there's one stuck subproc but the others are fine, we'd end up killing everything." gVisor already had a path that kills one stub and reports that thread as dead. What merged kills that one stub after 30 seconds.

The stub's memory

Every stub reserves one block at high addresses, shared with the Sentry: per-thread stacks, the context queue, a spinning queue where idle threads wait, and one slot per context. At startup systrap shifts most of that block by a random, page-aligned gap, so one sandbox's layout tells an attacker nothing about the next. Since a 2023 change the spinning queue stayed put while everything around it moved, so a small gap could land it on top of a thread's stack. The stub then spins forever. That one was a one-line fix.

What you pay

  • Every system call is a trap, a trip to the Sentry and a trip back. Code that does many small reads and writes feels it.
  • Not every syscall and flag is there. Check the compatibility list before you move a workload.
  • Debugging moves. A hung app is now a hung Sentry, a stub process and a queue in shared memory, and runsc debug --stacks only answers if the Sentry still does.

For code we've never seen, we take that trade. Happy to answer questions about running it in production.

Longer version with diagrams and every PR linked: https://www.catchkill9.dev/posts/intro-gvisor-a-kernel-in-go.html


r/kubernetes • • 9h ago

Need some suggestions

1 Upvotes

Hey y’all! I’ve been on workers’ comp for a couple of weeks, and I’m not sure if this is boredom, me contemplating a career change, or a little bit of both 😂. Since I’m not very mobile right now, I decided to dive into the homelab hobby.
Current setup:
2× Lenovo ThinkCentre M920q i5 8th Gen
● 40GB RAM

● 512GB NVMe + 512GB SSD

● 2.5GbE NIC

● One has an HBA card

1× Lenovo ThinkCentre M920q i7 8th Gen

● 40GB RAM

● 1TB NVMe

● 2.5GbE NIC

What I originally planned:

● i7: Main Proxmox or kubernetes server running Jellyfin, Home Assistant, Immich, Nextcloud, Technitium, NetBird, OPNsense, and other open-source services.

● i5 #1: Proxmox or kubernetes for SOC, IAM, cybersecurity, and other lab environments.

● i5 #2 + HBA: TrueNAS SCALE bare metal with my two 8TB HDDs.

Now I’m realizing TrueNAS can run VMs and containers, so I’m reconsidering the whole layout.
What would y’all do?

● Move the HBA into the i7 and make it the main TrueNAS/virtualization server?

● Run one dedicated TrueNAS machine and one dedicated Proxmox/kubernetes experimentation lab machine?

● Or keep the original three-node setup?
Also, what open-source programs/services are y’all running in your homelabs that you’d recommend?


r/kubernetes • • 1d ago

Kubecon salt lake tickets

5 Upvotes

Hi! If you have any discount code for kubecon tickets please dm me.


r/kubernetes • • 6h ago

Close your laptop. Your coding agent keeps working: Claude/Codex as Kubernetes Pods

0 Upvotes

Coding agents on a laptop get your shell and your creds, and they stop the moment the lid closes.

codemowers/agent runs them in Kubernetes:

  • A persistent workspace per task. It's a PVC holding the checkout, uncommitted changes and the CLI session. Suspend, resume and pick up where you left off.
  • Event-driven. Assign a GitHub or Gitea issue and the agent starts on it. Alertmanager and email can wake it too.
  • Web UI. Answer the agent's questions from your phone, or hand a task to a teammate.
  • Scoped access. Each agent gets its own ServiceAccount and RBAC etc
  • Builds the cluster-native way. Kaniko and Skaffold, with no Docker socket.
  • Remote devices. Agents can run commands on real machines over MCP.

It needs Kubernetes 1.36+, and it's early. Expect breaking changes.

https://github.com/codemowers/agent

Roast the security model, please.


r/kubernetes • • 1d ago

Set up Longhorn storage for my 3-node homelab

29 Upvotes

My 3-node Talos homelab had no persistent storage, so anything with data, like Grafana or a database, had nowhere to live.

Longhorn keeps every volume on two of the three nodes, so one node can go down without losing data, and it rebuilds the missing copy on the third node.

It also takes hourly snapshots, and backups to S3 are optional. The Longhorn UI runs on my LAN and over Tailscale.

Repo: https://github.com/prateekjaindev/homelab

Write-up: https://blog.prateekjain.dev/persistent-storage-for-a-3-node-talos-homelab-with-longhorn-587c05356b73?sk=9093231c2d278ba92fd493098fbe237d

What are you using for storage in your homelab?


r/kubernetes • • 1d ago

zlb: many LoadBalancer Services on a few public IPs, via one edge node (no BGP/L2, nodes stay off the internet)

Post image
30 Upvotes

I built zlb for clusters where:
- public IPs are scarce and routed to one machine;
- nodes have no inbound internet access;
- there's no BGP or shared L2, so MetalLB, Cilium IPAM, and kube-vip don't fit.
A controller watches LoadBalancer Services and pushes the desired state to a small daemon on that machine. The daemon programs nftables DNAT from publicIP:port to node:NodePort, keeping the client IP.
Services are published on their NodePort, so all of them can share one IP: two Postgres Services on 5432 become IP:31543 and IP:30876. Literal ports like 80/443 come from explicit reservations (e.g Ingress Controller gets 80/443 on the public IP).
TCP/UDP/SCTP, Local/Cluster traffic policy, loadBalancerSourceRanges enforced at the edge
Atomic, verified nftables changes with rollback; forwarding survives crashes and upgrades
TLS/mTLS API, sandboxed non-root daemon, Helm chart with optional SSH bootstrap of the VM
Limits: the edge node is a single point of failure for now (active/standby with VRRP and conntrackd is planned). IPv4 only, no metrics yet.
https://github.com/abexamir/zlb (Apache-2.0)
Feedback welcome, especially from anyone running a similar single-entry setup.


r/kubernetes • • 19h ago

I built a Kubernetes operator so you stop copy-pasting imagePullSecrets across namespaces (MIT, GitOps-safe)

0 Upvotes

Built this out of a recurring annoyance from client work: imagePullSecrets are
namespaced, so private-registry creds get copy-pasted into every namespace, and
rotating them means chasing down N copies.

I know there are already tools that replicate secrets across namespaces
(reflector, kubernetes-replicator, Kyverno generate). My problem with
"replicate everywhere" is that it pushes credentials into namespaces that never
pull private images — more blast radius than I want. So this works the other way
around:

You define the creds once as a cluster-scoped ClusterPullSecret, and a workload
opts in with an annotation. The operator then creates the pull secret only in
that workload's namespace, and removes it again (owner refs) when the annotation
goes away. On-demand instead of gießkanne.

The two parts I spent the most time on:

- The optional webhook mutates the Pod at admission, not the Deployment/CR. That
was deliberate — I didn't want Argo CD/Flux to see a diff and start reconcile-
looping. failurePolicy is Ignore, so the operator being down never blocks pod
scheduling.
- It reads the source Secret uncached and can actively log into the registry to
catch expired creds (surfaced via status + events + Prometheus). The uncached
read also means it sits nicely behind External Secrets Operator: ESO syncs from
Vault/cloud → Secret → ClusterPullSecret, so nothing sensitive lives in Git.

Go + controller-runtime, Helm chart, unit/integration/e2e tests. MIT.

https://github.com/itdpk-de/pullsecret-operator

Would appreciate a sanity check — especially if I've missed a reason the
reflector/replicator approach is actually better, or edge cases around the webhook.


r/kubernetes • • 1d ago

Periodic Weekly: Questions and advice

3 Upvotes

Have any questions about Kubernetes, related tooling, or how to adopt or use Kubernetes? Ask away!


r/kubernetes • • 1d ago

EKS support calendar for the next year: 1.34 goes to extended support Dec 2 (6x control plane cost)

1 Upvotes

I pulled together the current EKS support dates, since a few are coming up soon:

Version |End of standard support |End of extended support
1.31 |Nov 26, 2025 |Nov 26, 2026
1.32 |Mar 23, 2026 |Mar 23, 2027
1.33 |Jul 29, 2026 |Jul 29, 2027
1.34 |Dec 2, 2026 |Dec 2, 2027
1.35 |Mar 27, 2027 |Mar 27, 2028
1.36 |Aug 2, 2027 |Aug 2, 2028
1.37 |Dec 1, 2027 |Dec 1, 2028 What this means:
- Once a version is in extended support, the control plane is $0.60/hr instead of $0.10/hr, about $365/month more per cluster. Running dev/stage/prod on 1.33 is roughly $1,100/month extra for nothing.
- 1.31 is 5 weeks from end of extended support (Nov 26). After that AWS upgrades the control plane for you, which is not a fun surprise if you have deprecated APIs in use.
- 1.34 is the next to tip over, on Dec 2. Upgrading to 1.35 buys you until Mar 27, 2027, and 1.37 (released Oct 1) gets you to Dec 2027.
- You can set the cluster upgrade policy to STANDARD so it won't drop into extended support, but then it auto-upgrades at end of standard support instead.

Before upgrading, the usual: check for removed APIs (pluto, or EKS Upgrade Insights in the console), bump add-ons (VPC CNI, CoreDNS, kube-proxy), and remember node groups can only be a limited number of minor versions behind the control plane.

Disclosure: I built a free tracker with these dates plus RDS, Aurora, Lambda, etc. It refreshes daily from endoflife.date and AWS pricing: https://eolwatch.pages.dev. Happy to fix anything that's wrong.


r/kubernetes • • 1d ago

Declare a team Hermes agent in a manifest, run it on Kubernetes

Post image
0 Upvotes

Problem state

Every team in my company started building its own AI agent and they were getting more out of control. Most use cases were similar: code review or doc Q&A, the kind of thing an general agent handles fine. The bigger issue was not the count, it was the state. What is that agent even doing? Which skills got installed on it, by whom? All of that lived in config files inside pods. So I've decided to build a platform to address it.

Components

This platform consist of two components

  • Web: User-facing web server. It manages Hermes agents.
  • Custom resource operator: Reconcile a HermesAgent custom resource to manage Hermes agents.

State outside the pod

The general agent we standardized on is Hermes. It is a personal agent: config.yaml plus skills, plugins, and cron jobs installed via commands, all stored in local files. Powerful for personal use, but hard for a team, because state inside a pod is invisible state.

An agent needs config.yaml, secrets, network, storage and etc. Kubernetes already has a mechanism for each, so I decided to declares agent state in a CRD. The operator

  • config.yaml comes from a ConfigMap the operator mounts
  • skills and plugins are listed by identifier in the spec, and init containers install them before the main container starts
  • pip/npm packages pre-install the same way

Ex) HermesAgent custom resource

apiVersion: agents.hermeum.app/v1alpha1
kind: HermesAgent
metadata:
  name: code-review-agent
spec:
  hermes:
    config:
      raw:
        model:
          default: glm-5.3
          provider: ollama-cloud
        platforms:
          webhook:
            extra: ...
    workspace:
      files:
        SOUL.md: You are a pragmatic repository maintainer ...
    storage:
      persistence:
        enabled: true
        size: 5Gi

Now, the agent is declared in a manifest and the operator keeps it in sync. The state of Hermes is configurable from outside the pod.

Hide the infra

The CRD carries infra config too: storage, networking, security. But most users do not want any of it. Hermeum defines a thin agent spec holding only the core settings (config, skills, plugins, crons) plus an agent type field. A mutating admission webhook patches the HermesAgent resource at creation time, filling in the infra fields that match the type. The agent spec no longer touches infrastructure.

Ex) Agent spec

name: Hermeum GitHub Maintainer
description: Maintains hermeum/hermeum on ...
type: small       # <- This is the agent type. The admission server patches the storage and networking fields
soul: You are a pragmatic repository maintainer ...
config:
  model:
    provider: ollama-cloud
    default: glm-5.3
  platforms:
    webhook:
      extra: ...

And the greatest thing of management via manifesto is we can leverage the chatbot to create and manage any Hermes agent we want. The chatbot in the platform write up the manifest so non-dev members are able to create their own agent.

What it left us with

Every agent and its state are visible in one place. We raised agent visibility to tackle the agent sprawl problem.

Questions and criticism welcome. I am specifically curious how others here are handling per-agent config drift.


r/kubernetes • • 2d ago

Sidecar, service, or application middleware for data protection?

24 Upvotes

Suppose a Kubernetes-based application needs to protect sensitive fields before requests reach external APIs or AI services.

There are a few architectural options:

A sidecar that handles requests close to each workload

A shared service that centralizes tokenization and policy enforcement

Middleware integrated directly into the application

A sidecar might simplify adoption, but introduces resource overhead and deployment complexity. A shared service can centralize policy, but creates network dependencies and needs careful scaling. Middleware gives control but requires application changes.

For teams running production workloads, which approach would you choose, and what failure modes would you consider first?

I'm particularly interested in latency, availability, and policy consistency.


r/kubernetes • • 2d ago

Most K8s outages aren't in your logs, they're in your values.yaml

0 Upvotes

The pitch for AI SRE tools in here always focuses on alert correlation: taking 50 firing Prometheus alerts and summarizing them in Slack.

But alert storms are almost always just downstream symptoms. When a consumer backs up because someone pushed a bad memory limit in Helm or a secret didn't sync properly, an LLM looking at pod logs and metrics will just confirm that the pod is restarting and the queue is full. It can't diagnose the actual failure because the cause lives in deployment history and manifest drift, not in runtime telemetry.

Automated troubleshooting only becomes useful when it can query recent GitOps diffs, environment baselines, and workload ownership instead of just grepping container logs. Without that context, alert correlation just tells you things are on fire in slightly nicer English.


r/kubernetes • • 3d ago

Longhorn fails to mount encrypted volume

3 Upvotes

Hey :) I'm trying to create an encrypted Longhorn volume on a NixOS node. The problem is, that it fails. I tried searching online but I couldn't find any helpful issues/discussions/articles.

The errors are:

Warning  FailedMount             34m                kubelet                  MountVolume.MountDevice failed for volume "pvc-cb2e2720-36bb-4640-bf19-dab12812819c" : rpc error: code = Internal desc = failed to encrypt device /dev/longhorn/pvc-cb2e2720-36bb-4640-bf19-dab12812819c with LUKS: failed after 10 attempts to refresh stale namespace directory: timeout executing: /usr/bin/nsenter [nsenter --mount=/host/proc/8419/ns/mnt --ipc=/host/proc/8419/ns/ipc cryptsetup -q luksFormat --type luks2 --cipher aes-xts-plain64 --hash sha256 --key-size 256 --pbkdf argon2i --pbkdf-force-iterations 200000 --pbkdf-memory 0 /dev/longhorn/pvc-cb2e2720-36bb-4640-bf19-dab12812819c -d -]

Warning  FailedMount             3s (x24 over 34m)  kubelet                  MountVolume.MountDevice failed for volume "pvc-cb2e2720-36bb-4640-bf19-dab12812819c" : rpc error: code = Internal desc = failed after 10 attempts to refresh stale namespace directory: failed to execute: /usr/bin/nsenter [nsenter --mount=/host/proc/8419/ns/mnt --ipc=/host/proc/8419/ns/ipc cryptsetup luksOpen /dev/longhorn/pvc-cb2e2720-36bb-4640-bf19-dab12812819c pvc-cb2e2720-36bb-4640-bf19-dab12812819c -d -], output , stderr No usable keyslot is available.: exit status 1

I already thought of a PATH issue, because NixOS uses non-standard locations for it's binaries but wouldn't the error contain something like "no such file or directory" or "couldn't be found" then? (All containers in the longhorn-system namespace have a kyverno policy adding the NixOS directories to the PATH as suggested by the NixOS wiki.)

If i do cryptsetup luksDump on the volumes the key slot section is empty. (I don't know if it matters but i thought it might help) I also searched for luks or nsenter in the Longhorn manager logs. There are no occurrences.

Does anyone here have an idea what might cause the issue? I've tried fixing it for hours now and I'm really out of options. I appreciate any help!


r/kubernetes • • 2d ago

Why "vibecoding" infrastructure is an existential risk: lessons from 30 years on call

0 Upvotes

The default advice in cloud-native engineering has become: "Just click a button in EKS or GKE and pay the bill."

That works until your compute requirements grow, your managed egress costs eclipse your engineering payroll, or you encounter a networking failure inside a managed control plane that you have zero visibility into.

For our production platform architecture, we deliberately went sovereign: bare-metal Proxmox VE hypervisors across segregated failure domains, provisioned from Stage Zero up to autonomous Day-2 operations.

Here is what the stack looks like when you refuse to rely on cloud magic:

- Stage Zero: Automated Ubuntu golden images built via cloud-init with identity sanitation. Idempotent bootstrap runners that can partially fail and resume cleanly.

- HA Endpoint: Dual HAProxy + Keepalived virtual IPs fronting three stacked control-plane nodes. We learned the hard way why "kubeadm init" must remain a deliberate manual operation, how a forgotten SAN in certSANs blows up worker joins, and how to recover an etcd cluster suffering from phantom limb syndrome after an ungraceful node crash.

- eBPF Dataplane: Cilium without kube-proxy. Resolving the infamous Jinja2 "trim_blocks" newline collision that threw CoreDNS into a forwarding loop with systemd-resolved.

- Private Supply Chain: Dedicated Harbor external to the cluster, distributed MinIO S3 object storage, and CloudNativePG for high-availability PostgreSQL with automated node fencing and split-brain prevention.

- Declarative Reconciliation: ArgoCD in an App-of-Apps pattern, including the exact protocol for adopting legacy resources without controller reconciliation wars against Ansible.

And at the very top: cluster-medic, an autonomous triage agent running in AWX that parses CI lint failures, generates diffs, and submits PRs—held in check by a structural scope fence that physically prevents it from mutating RBAC or Terraform state.

I've documented the entire architecture, complete with runnable reproduction code for every failure mode, in "Don't Trust. Don't Fear. Don't Beg: Infrastructure Engineering with AI":

https://www.amazon.com/dp/B0HNGT7GR7


r/kubernetes • • 2d ago

Terraform not deleting the nodes created by Karpenter !!!

0 Upvotes

Hello guys,

So I have implemented a personal project in which I have provisioned AWS EKS architecture, bootstrapped flux through terraform and then flux reconciles everything including Karpenter. Terraform is handling the IRSA part and then pass iam role arn of controller and node iam role name through configmap terraform resource.

How should I configure so that Karpenter nodes are also deleted automatically. Found that I should delete nodeclaim’s first and then terraform destroy but I want to automate this.


r/kubernetes • • 3d ago

Kubernetes event-banglore oct 31st

12 Upvotes

Anyone attending kubernetes Banglore meet-up event by open community groups on 31st October?


r/kubernetes • • 4d ago

How does your organisation handle CI/CD and image tagging for microservices?

75 Upvotes

Hi everyone,

I’m trying to understand how different organisations design their CI/CD workflows for microservices, particularly the deployment process after a Docker image is pushed to a container registry like JFrog Artifactory.

I have a few questions:

Image tagging strategy: Do you use Git commit SHA, build number, semantic versioning, or any other strategy? How do you promote the same image across QA, staging, and production?

Deployment workflow: Do you handle deployments entirely through Jenkins pipelines, or do you use a GitOps approach with Argo CD, where image tags are updated in a Git repository and Argo CD syncs the changes?

Helm and manifests: If you use Argo CD, how do you manage deployment manifests and Helm charts? Does Jenkins update the image tag in the Helm values file, or is this handled differently?

Progressive deployments: Do you use Argo Rollouts with Argo CD for canary or blue-green deployments, or do you manage rollout strategies directly through Kubernetes deployments?

End-to-end flow: How does the overall process work in your organisation, from code commit and image build to deployment in production?

I’m particularly interested in understanding the different approaches organisations take and the reasoning behind their choices.

Would appreciate it if you could share your workflow or experience. Thanks!


r/kubernetes • • 4d ago

Kubernetes Events and Controller design

Thumbnail
packagemain.tech
59 Upvotes

r/kubernetes • • 4d ago

We're running a student SRE hackathon with real Grafana dashboards, logs and traces. Round 1 is online till 18 Oct

13 Upvotes

GDG on Campus IIIT Nagpur. We're running **KEEP ALIVE '26**, a national incident-response hackathon for students, at TantraFiesta 2026.

**What's different:** you don't build an app. Your team gets a broken microservices system's alerts, Grafana dashboards, logs and traces, works out what broke and why, and presents the fix. It's what an on-call SRE does on a bad night.

- **Who:** UG, PG and diploma students, teams of 2–3 from the same college

- **Level:** 6–12 months of DevOps learning; no production experience needed

- **Round 1:** a 30-minute online team assessment on Unstop, open till Sun 18 Oct, 11:59 PM IST

- **Finale:** top 15 teams at IIIT Nagpur on 26 Oct

- **Prizes:** ₹50,000 prize pool (₹25,000 cash + goodies for every finalist)

- **Partners:** Grafana (Official Platform Partner), CNCG Noida (Community Partner)

Register: https://unstop.com/hackathons/keep-alive-26-iiitn-1766226

Happy to answer anything in the comments, including how the incident platform works.


r/kubernetes • • 4d ago

Beyond Kubernetes at Modal: How to Scale 1 Million Concurrent Sandboxes in Seconds

Thumbnail
infoq.com
39 Upvotes

They also note that overcoming these limitations is feasible, but requires "serious work", including rewriting or replacing etcd and parallelizing the scheduling algorithm.

In this case, can you see a world where there'll be a version of etcd or other components for reinforcement learning tasks and/or anything involving sandbox creation at scale? Or do you think a load of companies, like Modal, are just going to rewrite each of these components until they work for their use case? Genuinely curious.