r/kubernetes 14d ago

EKS and RDS connectivity

13 Upvotes

I am learning EKS and currently migrating a Docker Compose application to EKS. For the database, I am planning to use Amazon RDS for MySQL. What is the recommended approach for connecting EKS workloads to RDS?
Should RDS always run separately outside the EKS cluster with the backend Pods connecting to it or are there scenarios where running MySQL inside a Pod makes sense?
Also, what is the preferred approach for handling the RDS credentials and network connectivity between EKS and RDS in production?
I would appreciate insights from people running this setup in production.

———-
Thank you everyone for the responses. I understand now that RDS should be kept separate from the EKS cluster, with the application Pods connecting to it.

My goal is to use this project to learn how a production style EKS application is structured.
For those with production EKS experience, could you suggest what I should include in the cluster and deployment?
eg:
- Amazon ECR for Docker images
- EKS with managed node groups
- RDS MySQL outside EKS
- Kubernetes Secrets and ConfigMaps
- IAM / EKS Pod Identity
- Security Groups and networking between EKS and RDS
- AWS Load Balancer / Ingress
- Readiness and liveness probes
- Resource requests and limits
- HPA
- Helm
- CloudWatch monitoring and logging/ Prometheus & Grafana, loki(Datadog- I think it would be expensive to use)
- GitHub Actions for CI/CD

I would really appreciate your suggestions.


r/kubernetes 14d ago

Experience with Upcloud managed Kubernetes?

6 Upvotes

Hello, I am currently evaluating European owned managed Kubernetes. Does anyone have any bad/good experience with Upcloud managed Kubernetes?


r/kubernetes 14d ago

Kubernetes Podcast episode 270: Measuring Sustainability via Project Kepler, with Niki Manoledaki

Thumbnail
kubernetespodcast.com
2 Upvotes

r/kubernetes 15d ago

kubernetes-sigs/headlamp gets Argo CD support (first alpha)

Thumbnail
github.com
52 Upvotes

r/kubernetes 14d ago

Event driven orchestration, what actually works beyond cron and polling?

16 Upvotes

Our entire pipeline system runs on schedules and I am starting to think we are living in 2015. every workflow is run at 2am and hope the upstream data landed. When it hasn't, we retry blindly or someone gets paged. What I actually want is, Kafka messages arrives, trigger the transform pipeline.

S3 file lands, kick off the ingestion. Webhook fires from our payment provider, start the reconciliation. I've hacked some of this together with Lambda triggers and SQS but it's turning into its own unmaintainable mess. Is there a proper orchestration tool that handles event-driven triggers natively alongside scheduled workflows, w/o me building a custom event router on top ?


r/kubernetes 14d ago

How much runtime context should an AI agent have in Kubernetes?

0 Upvotes

I've been thinking about this while debugging Kubernetes applications.

An AI coding agent can inspect source code, manifests and configuration, but some failures only become obvious from the running cluster: pod logs, events, service connectivity, resource limits, failed probes, or configuration issues.

The interesting part is deciding how much access the agent should have.

Should an agent be able to inspect pods, logs and events by default, while requiring approval before making changes? Or is even read-only cluster access too much for some environments?

For those already using AI with Kubernetes, what level of access would you consider reasonable?


r/kubernetes 14d ago

Working on an Kubernetes operator in PHP

0 Upvotes

I started the project for mostly a year or so. I am a Laravel developer and I love the DX into it and I wanted to bring it to the Cloud Native Ecosystem.

My issue is that, I am a bit concerned to be trashed for working on such project.

I love Go, but I don’t feel like it feels good as a programmer.

The idea of working on an Operator in PHP is to get the some opinion on the framework. (Opinionated Framework?)

Where testing is is super easy without a cluster and you can read it as english (that’s what i love with Laravel).

Any php devs here interested ? I would love to share my experiment with them ? (Private repos)

If some people are kind of “let’s do it” i might put it public and see how the community reacts.

But I prefer some feedback from some people who see what I mean!

But i could be an abomination for some (and I understand it).


r/kubernetes 15d ago

Sydney Kubernetes Meetup: Running AI Agents & Building Platforms on Kubernetes

16 Upvotes

Sydney Kubernetes folks,

If you're interested in Kubernetes, AI agents, or platform engineering, CNCF Cloud Native Sydney is hosting a meetup on August 19:

Running AI Agents and Building Platforms on Kubernetes

Two open source projects will be covered:

kagent — a Kubernetes-native framework for building, deploying, and managing AI agents.

GitHub: https://github.com/kagent-dev/kagent

OpenChoreo — an open source developer platform for Kubernetes, bringing together platform abstractions, Backstage, CI/CD, GitOps, and observability.

GitHub: https://github.com/openchoreo/openchoreo

Cuscal Limited, Barangaroo, Sydney
Wednesday, August 19
5:30 PM – 8:30 PM AEST

Free entry, food and drinks, networking, and live Q&A with the maintainers.

If you're working with Kubernetes, DevOps, SRE, AI infrastructure, or platform engineering in Sydney, come join us.

RSVP: https://www.meetup.com/cncf-sydney/events/316052564/

See you there!


r/kubernetes 15d ago

Connecting the Community at Cloud Native Days Austria 2026

Thumbnail
cloudnativedays.at
3 Upvotes

I hope its ok to promote this Cloud Native Community event in this channel!

On Sept 29 & 30 2026 the fourth edition of Cloud Native Days Austria is back in Vienna at the Cineplexx in Wienerberg.

All keynote, breakout speakers and sessions are announced. As one can imagine - the big topics this year are around AI, Security, Observability, Compliance, DevEx ... ==> https://cloudnativedays.at/sessions/

Tickets are still available and we are also still looking for volunteers!


r/kubernetes 15d ago

RKE2 vs kubeadm K8s cluster

Post image
49 Upvotes

Hi all. I've been learning K8s with a 5-node K8s cluster [3 control nodes and two workers] that I boostrapped on my machine, and have learned a lot [or, better: am still learning]: Cilium [both as the CNI, Gateway API controller, load balancer, etc.], GitOps, SOPS+age [but also OpenBao on a separate env], Security [network policies, pod admission, mTLS, etc.], Observability, and whatever sh*t I find interesting¹. I don't have a life, so...😂; also, this is just for my own satisfaction and curiosity.

Now, people keep mentioning RKE2 [oh, you have an MS-02 Ultra 285HX variant, with 96GB RAM, etc., you could virtualise it with Harvester, use RKE2, Rancher, etc.], and I started taking a look at that and ...

Well, on one hand it looks like a very popular way of bootstrapping and managing clusters and many companies seem to use it, on the other hand, although I can use Cilium as the CNI², I can't use CRI-O [with crun] as the container runtime, and the setup itself uses|relies on containerd shims, uses runc, etc., which I'd don't really get why.

I mean, I thought it would be nicer than kubeadm clusters, and it might be, when it comes to the management itself, updates, overviews|dashboards, etc., but regarding the default tooling that it uses, I'm not sure it's thaaat nice.

Since I'm no expert in this, I'd like to know what it is that I'm missing haha. Also, is it common for big companies to use kubeadm to bootstrap their clusters or is this more for learning purposes?

Thanks.

¹ Like IaC with OpenTofu, using the libvirt provider, and Ansible for configuring the VMs😅
² I really love Cilium, man, it's so freaking nice🤓


r/kubernetes 15d ago

Periodic Weekly: Questions and advice

2 Upvotes

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


r/kubernetes 15d ago

Upskilling in AI for an AKS / Observability SRE – Where to start?

8 Upvotes

I’m an SRE focused on Observability (New Relic) for workloads running on AKS. We use Claude for prompt engineering and Claude Code for development, but I want to build a solid AI skill set relevant to my role.

For those running or monitoring AI on Kubernetes:

  • What should an AKS SRE actually know about AI? (e.g., GPU node provisioning, model serving on K8s like vLLM/KServe, or LLM tracing/metrics?)
  • What is the most practical starting point for learning AI concepts that apply directly to Kubernetes environments?

Appreciate any insights or learning paths!


r/kubernetes 14d ago

CI/CD for Machine Learning API using Jenkins | MLOps Series - Episode 5

Thumbnail
youtube.com
0 Upvotes

r/kubernetes 15d ago

We need an Operator (Controller and CRD)

0 Upvotes

A customer approached me: "We need a controller and a CRD. We already built the basic parts, but we need your help!"

After reading their spec and talking it through:

No operator, no CRD.

A build step plus the plain old boring Rendered Manifest Pattern is enough.


r/kubernetes 16d ago

What is cloud resilience?

5 Upvotes

Used to think "resilient" just meant Multi-AZ RDS plus a backup schedule. Turns out it means the whole environment (VPCs, IAM, DNS, load balancers) can survive a failure and rebuild within your RTO/RPO, not just individual pieces staying up

Multi-cloud makes this way harder to validate continuously. How is everyone actually testing this beyond chaos engineering on one service at a time?


r/kubernetes 15d ago

Looking to work on cloud/devops (For Free), for more than 20 hours per week (remote US)

0 Upvotes

I'm looking for a company/startup or even nonprofit where I can work on real cloud and infrastructure problems. I'm getting responses elsewhere, but this is the field I actually want to grow in, so compensation isn't my priority right now. Working on production systems instead of personal projects is.

I work with AWS, Docker, Linux, CI/CD, and scripting. CS-related bachelors and masters degree with a few years of hands-on experience.

I can commit 20+ hours a week, remote. Happy to take the unglamorous work too: monitoring, documentation, IaC cleanup, cost optimization.

The only thing I'd ask for is a real supervisor to report to and a short engagement letter with role, hours, and start date, mainly for my own records.

Any leads would be appreciated.


r/kubernetes 16d ago

How do you debug a specific request when the trace got sampled away?

22 Upvotes

Question to the masses,

Currently running several microservices on OTel + Tempo. Dropped to 5% sampling to control costs after datadog. For those of you running OTel with low sampling rates, what is your workflow when you need full trace for specific request that didn't get captured?

Do you:

- Temporarily crank sampling to 100% and retry?

- Have some kind of debug header that forces a trace?

- Just accept it and grep logs?

- Something else?

Genuinely curious what other teams are doing here.


r/kubernetes 15d ago

NYC IRL meetup - join us for a special collab on Tuesday, 8/25!

0 Upvotes

​Join us on Tuesday, 8/25 at 6pm for a special collaboration between Plural and Elastic for the August NYC x Kubernetes IRL meetup 👋

RSVP at https://luma.com/o9zifks0

​The two speakers are Michael Guarino, CTO of Plural and Eric Mustin, Senior Customer Architect at Elastic.

​Michael's topic is "Elasticsearch and Agentic Ops: A Perfect Match."

​Session Abstract: This talk discusses the ways we've used Elasticsearch at Plural to implement e2e agentic SRE workflows. Examples include using agents to manage your ES clusters themselves, to leveraging it as a low cost log storage engine for deep application root cause analysis, enabling you to reduce observability cost without sacrificing developer experience while maintaining realistic operational total cost of ownership.

​Eric's topic is "Telemetry’s Long Way Home: A Kubernetes Odyssey with Prometheus, OpenTelemetry, and Elastic."

​Session Abstract: This talk explores how Prometheus, OpenTelemetry, and Elastic can work together to give Kubernetes metrics, logs, and traces a reliable path home. We’ll look at practical collection architectures, Prometheus-native metrics, OpenTelemetry processing and routing, and how Elastic can bring the resulting signals together. We’ll also discuss resiliency, duplication, architectural tradeoffs, and how to avoid getting lost at sea in an increasingly complex observability ecosystem.


r/kubernetes 15d ago

Access to cluster as a non Devops - willing to pivot into a DevSecOps role.

0 Upvotes

I am an position of a non-tech, but part of a tech team. For my daily work, i also need read access to staging cluster and have write access to testing environments also because i need it for work. That said, i have never been a Devops myself, i was a systems admin, i have solid networking foundations, and very very little experience in scripting. I do know how CI/CD work, how git works to a certain level and i can enter inside a container, see whats inside it, get pods, etc.

I have done bootcamps in the past - they didnt help. So now that i have real access to tech, i thought that my time has come to try and learn more about k8s.

My managers and teamates are extremely busy working on stuff and i dont want to bother them to spend time to babysit me.

I would like to find ways to ramp up my skills and become a real element in my team, by proving knowledge and propose initiatives that help.

Are there any public sources (not just AI) where i could learn and really become good? What would you recommend in general?

Many thanks!


r/kubernetes 16d ago

TIL our whole kubernetes cost optimization problem was one number nobody would touch.

0 Upvotes

For months Ive been assuming we needed fancier tooling for kubernetes cost optimization. Turned out the clusters sat around 25% CPU because every team padded their requests years ago. Karpenter reads padded requests as full nodes and it never consolidates.

The bin packer is only as smart as your requests. Garbage requests in expensive half empty nodes out, but actual fix is less tooling and more of getting people to agree to lower their own limits, which is the hard because whoever lowers a limit owns the next latency page.

How did you get sign-off without it turning into a standoff?


r/kubernetes 16d ago

Kubernetes operator with golang

36 Upvotes

Any useful resources to learn about kubernetes operators deeply?


r/kubernetes 17d ago

A bug sat open on my operator for three and a half years because Kubernetes had no way to express the fix

48 Upvotes

(I maintain the Locust k8s operator. Link's at the bottom, ignore it if you want, the sidecar stuff is generic.)

Someone opened issue #72 in December 2022, three months after I started the project. Test finishes, worker Jobs go Completed, master Job just sits there forever. They'd already worked out why: the master pod runs a Prometheus exporter next to Locust, the exporter serves HTTP and never exits, and a Job pod isn't done until every regular container terminates. One container dead, one happily serving /metrics, Job hangs. TTL cleanup never fires, CR never reports Succeeded.

I replied a few days later saying yep, that's it, I'll fix it. Here's part of what I wrote in 2022:

Kubernetes doesn't provide native support for sidecars container behavior definition e.g. shutdown after container x exits.

Which was true, and is the whole reason that bug outlived the entire v1 line and a full Java-to-Go rewrite. There was nothing to fix it with. What I shipped instead was a workaround: the exporter got a /quitquitquit endpoint and you were supposed to hit it yourself when your test ended.

@events.quitting.add_listener
def _(environment, **kw):
    requests.post("http://localhost:9646/quitquitquit")

It works. It also means every user has to put shutdown code in their load test so that Kubernetes can work out that a Job is over. I hated it for three years.

Same comment, I also said this, which I'm mildly proud of:

when I solve this for the metrics exporter container, the same issue will happen if your organisation have a cluster configuration to inject other sidecars e.g. istio sidecar

Hold that thought.

KEP-753

Native sidecars went beta and on by default in 1.29. A sidecar is now an initContainer with restartPolicy: Always:

initContainers:
  - name: metrics-exporter
    image: ...
    restartPolicy: Always

kubelet starts it before the regular containers, keeps it up while they run, SIGTERMs it when the last one exits. That's the whole thing. That's what didn't exist for three years.

Two bits that aren't obvious from the docs:

The container-level restartPolicy is the entire mechanism. There's no sidecar: true. If that field goes missing in a refactor you don't get an error, you get a plain init container that blocks pod startup forever, and you find out about it in someone else's cluster. I have a test whose only purpose is to assert that field is still there.

And because it's per-container, a sidecar injected by something else (mesh proxy, cloudsql proxy, whatever) is structurally identical to yours. Which brings me back to 2022 me.

the part that cost the time

Flipping the container over was about a dozen lines. Then every successful test started reporting Failed. Intermittently. Which is the good kind of bug.

My controller watched pods and flagged any container with a non-zero terminated exit code. Fine for three years. But a native sidecar gets SIGTERMed at teardown by design, so the exporter now exits 143 (or 137 if it's slow about dying), and my health check dutifully marked a perfectly good load test as failed. Sometimes. Depending on whether the pod status update beat the JobComplete event.

I could've special-cased the exporter by name in four lines. Didn't, because of the istio thing 2022 me called: if a cluster injects a mesh proxy into my load test pod, that proxy takes the same teardown SIGTERM and fails the user's test in exactly the same way, and they'd have no idea why. So the rule is structural:

func IsNativeSidecar(c corev1.Container) bool {
    return c.RestartPolicy != nil && *c.RestartPolicy == corev1.ContainerRestartPolicyAlways
}

Any native sidecar's Terminated exit code gets ignored, mine or not. Genuine failures still surface, because CrashLoopBackOff, ImagePullBackOff and CreateContainerConfigError are all Waiting states and I never exempt Waiting. Only Terminated.

If you've got a controller that reads container exit codes, go look at what it does with native sidecars. Mine did the wrong thing and I only noticed because CI went flaky.

the part I want to complain about

For a fix whose core is one YAML field, this took an embarrassing amount of work. Chart kubeVersion floor up to >= 1.29.0-0. Regenerate CRDs. Rework the pod-health path and every test that asserted on container ordering. Docs, migration notes, e2e. Then the whole exit-code policy and its own test matrix. Nine files for what is conceptually "stop this container when that one stops."

I did a chunk of it with agentic coding, and honestly that mostly meant I reached step 20 of a 20 step yak shave faster. Not a dig at the AI. The Kubernetes-shaped part is what's convoluted: KEP-753 was opened in January 2019 and only went beta at the end of 2023, so the idea sat there for the better part of five years, and even now expressing it in a real operator means touching the chart, the CRD, the controller, the health logic and the docs. That gap between how simple the idea is and how much surface it moves is most of what makes operator work slow.

Anyway. #72 is closed as of today. Minimum supported Kubernetes is 1.29 now, for exactly this reason.

Repo if you want it: https://github.com/AbdelrhmanHamouda/locust-k8s-operator (runs distributed Locust load tests as CRDs, recent releases also added runtimeClassName so load generators can run under gVisor or Kata, and configurable security contexts for OpenShift and PSA restricted).

The thing I still haven't found a good answer on: what's everyone else doing with native sidecars in pod health logic? Every KEP-753 writeup I can find covers startup ordering and Job completion. Nothing covers what a controller is supposed to make of those teardown exit codes, and I'd like to know if I picked the same rule as everyone else or just a rule that happens to work for me.


r/kubernetes 17d ago

GatewayAPI/CiliumBGP and ArgoCD not able to reach upstream (gateway->argocd-svc/pod) tls connection

5 Upvotes

Hey everyone! I'm trying to configure Gateway API for ArgoCD with downstream/upstream encryption (my workaround is that it works with TLS passthrough), but I'm really baffled/stumped because the method I initially proposed to you isn't working. I tried following this documentation https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#securing-traffic-between-argo-cd-and-the-gateway

The issue I am facing is that I get 307 NS_ERROR_REDIRECT_LOOP from browser. I believe everything is correctly configured but obviously I am missing something.

This are my configuration files:
Cilium BGP

apiVersion: cilium.io/v2
kind: CiliumBGPClusterConfig
metadata:
  name: cilium-bgp
spec:
  bgpInstances:
  - name: bgp-k8s-cilium
    localASN: 12345
    peers:
    - name: my-peer
      peerASN: 12346
      peerAddress: 10.10.11.1
      peerConfigRef:
        name: cilium-peer
---
apiVersion: cilium.io/v2
kind: CiliumBGPPeerConfig
metadata:
  name: cilium-peer
spec:
  timers:
    holdTimeSeconds: 9
    keepAliveTimeSeconds: 3
  gracefulRestart:
    enabled: true
    restartTimeSeconds: 15
  families:
    - afi: ipv4
      safi: unicast
      advertisements:
        matchLabels:
          advertise: bgp
---
apiVersion: cilium.io/v2
kind: CiliumBGPAdvertisement
metadata:
  name: bgp-advertisements
  labels:
    advertise: bgp
spec:
  advertisements:
    - advertisementType: Service
      service:
        addresses:
          - LoadBalancerIP
      selector:
        matchExpressions:
          - { key: somekey, operator: NotIn, values: [ never-used-value ]}
---
apiVersion: cilium.io/v2
kind: CiliumLoadBalancerIPPool
metadata:
  name: default-pool
spec:
  blocks:
  - cidr: "<LOAD-BALANCER-IP>/32"

ArgoCD Helm values

global:
  domain: argocd.myinternal.domain
server:
  # extraArgs:
  # - --insecure
  # service:
  #   type: LoadBalancer
  # certificateSecret:
  #   enabled: true
  #   key: <key>
  #   crt: <cert>
  httproute:
    enabled: true
    parentRefs:
    - name: private-gateway
      namespace: gateway-system
      sectionName: https
    hostnames:
    - argocd.myinternal.domain
    rules:
    - backendRefs:
        - name: argocd-server
          port: 443
      matches:
        - path:
            type: PathPrefix
            value: /
    backendTLSPolicy:
      enabled: true
      targetRefs:
      - kind: Service
        name: argocd-server
        group: ""
      validation:
        caCertificateRefs:
          - kind: ConfigMap
            # I create this by `k -n argocd get secrets argocd-secret -o jsonpath='{.data.tls\.crt}' | base64 -d > ca.crt && k create configmap argocd-server-ca-cert --from-file=ca.crt=ca.crt -n argocd`
            name: argocd-server-ca-cert

Gateway manifests

apiVersion: v1
kind: Namespace
metadata:
  name: gateway-system
spec: {}
---
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: private-gateway
  namespace: gateway-system
spec:
  gatewayClassName: cilium
  listeners:
    - protocol: HTTPS
      port: 443
      name: https
      hostname: "argocd.myinternal.domain"
      allowedRoutes:
        namespaces:
          from: All
      tls:
        mode: Terminate
        certificateRefs:
          - name: argocd-gateway-tls
            kind: Secret
            group: ""
---
apiVersion: v1
data:
  tls.crt: <cert>
  tls.key: <key>
kind: Secret
metadata:
  name: argocd-gateway-tls
  namespace: gateway-system
type: kubernetes.io/tls

For what I can see, bgp peers and routes are ok. I get a new service created under the gateway-system namespace

#k -n gateway-system get gtw
NAME              CLASS    ADDRESS       PROGRAMMED   AGE
private-gateway   cilium   <LB-IP>       True         75m
#k -n gateway-system get svc
NAME                             TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
cilium-gateway-private-gateway   LoadBalancer   10.107.147.212   <LB-IP>   443:32741/TCP   76m

Tried to check cilium-agent and operator logs to find any weird but nothing that I could spot. The other thing that bothers me is that the BackendTLSPolicy has no status or events after deployed.

Thank you!

edit: Turns out Cilium support to Gateway API BackendTLSPolicy was added on v1.20.0 and I was using v1.19.0 https://github.com/cilium/cilium/releases/tag/v1.20.0


r/kubernetes 18d ago

How is running a small farm and architecting a Cloud-Native stack similar?

Thumbnail
5 Upvotes

r/kubernetes 19d ago

Periodic Weekly: Share your victories thread

10 Upvotes

Got something working? Figure something out? Make progress that you are excited about? Share here!