Troubleshoot an Ingress That Returns 503 Service Unavailable
A railway app publishes two endpoints through an Ingress, and both return 503. Find out why and make both endpoints answer again.
Focused, hands-on DevOps and server-side problems with hints, feedback, and automated solution checks.
A railway app publishes two endpoints through an Ingress, and both return 503. Find out why and make both endpoints answer again.
You are containerizing the dev workflows of a legacy Python service and you need to find out which external services its test suite talks to. Can you think of an easy way to do it?
Ad-hoc containers are a handy way to run command-line tools without installing them on the host. Use one to access a production Redis server and turn off a feature flag. But beware of the gotcha: the production server can only be tunneled to the localhost.
Can you get several builds of an app running side by side without port conflicts, so you can test them simultaneously?
The storefront APIs are served through a Traefik Ingress with TLS and two path rules. Reproduce that configuration with a Gateway and an HTTPRoute on the same hostname, cut traffic over to it, and retire the Ingress.
Practice calling HTTP APIs from the command line: send JSON bodies with POST, PUT, and PATCH, upload a file, delete a resource, and read the status codes the server answers with.
An internal service started receiving requests from unexpected IP addresses. Identify the unexpected sources and find out which workloads and teams are behind them.
An internal service started receiving requests from unexpected IP addresses. Identify the unexpected sources and find out which systems are behind them.
The production Kubernetes cluster lives inside a private VPC, and its API server has no public endpoint. Turn an SSH connection to the bastion host into a SOCKS proxy and teach kubectl to use it, so the cluster becomes manageable from your workstation.
Add a new, separate Service CIDR range for the dev team using the ServiceCIDR API object — without touching or restarting the cluster's default Service CIDR — then create a Service with an explicit ClusterIP inside that new range and verify DNS resolution.