Challenges by Omkar Shelke

Focused, hands-on DevOps and server-side problems with hints, feedback, and automated solution checks.

Omkar Shelke
Omkar Shelke

Kubernetes enthusiast and certified CKA & CKAD, passionate about building, exploring, and explaining cloud-native technologies. Constantly learning, experimenting, and sharing practical Kubernetes knowledge

Challenge

Use a Kubernetes Job to Test NATS Pub/Sub

A payment service subscribes to payment requests through NATS. Run the checkout team's test script as a Job in the checkout namespace, with the required settings, and make sure the payment request arrives.

Challenge

Migrate a Traefik Ingress to the Gateway API and Cut Traffic Over

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.

Challenge

Pick and Deploy the Least Permissive NetworkPolicy

The security team left five NetworkPolicy files on the workstation. Only one of them lets the frontend reach the backend while granting nothing more. Identify it and deploy it, unchanged.

Challenge

Shadow Deployment with Gateway API Request Mirroring

A new version of the checkout API is deployed but receives no traffic. Mirror live requests to it so it runs under real load, and read its Pod logs to prove the copies arrive while clients keep getting the stable answer.

Challenge

Migrate the Kubernetes Cluster DNS Domain from cluster.local to iximiuz.cluster

Learn how to reconfigure the Kubernetes cluster DNS domain by updating CoreDNS ConfigMap and kubelet configuration on all nodes, a critical skill for custom cluster networking and CKA exam preparation.

Challenge

Port-Forward a Kubernetes Service to localhost

A Deployment running a distroless Chainguard nginx image (cgr.dev/chainguard/nginx) is deployed in the namespace webapps, fronted by a ClusterIP Service. Port-forward that Service to localhost port 3333 on cplane-01, use curl to save the response body to /home/laborant/index.html, and verify the file is accessible and contains the expected content.

Challenge

Access the Kubernetes API Server via kubectl proxy

Use kubectl proxy to open a local, already authenticated HTTP endpoint to the Kubernetes API server, then use curl to list every Secret in the gliese-581 namespace and save the raw JSON response to /home/laborant/secret-list.json.

Challenge

Extend the Cluster with an Additional Service CIDR for the dev Team

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.