Expose Internal Services Using NGINX Kubernetes Gateway API
Configure a Kubernetes Gateway API setup to expose aviation platform services using path-based routing for flight and booking services.
Focused hands-on problems designed to help you hone your DevOps or Server Side skills. Some challenges are more educational, while others are based on real-world scenarios. The platform provides hints and feedback for each challenge, including automated solution checks.
Challenges contributed by the community members sharing their knowledge and expertise.
Configure a Kubernetes Gateway API setup to expose aviation platform services using path-based routing for flight and booking services.
Create an Ingress resource for a shop application with path-based routing to multiple backend services and configure /etc/hosts for local DNS resolution.
A Deployment with two nginx containers has a port conflict — both containers use port 80. Fix the conflict by updating the ConfigMap, mounting it into the second container, updating the containerPort, and exposing both containers via a NodePort Service.
A LimitRange exists in the namespace but Pods are not receiving default resource requests and limits. Investigate the root cause and fix it.
A Pod must be fully isolated from the cluster network. Deny all incoming traffic and block all outgoing traffic except DNS queries on port 53.
A Deployment is failing because application configuration is missing. Mount only specific keys from an existing ConfigMap as files inside the Pod at the correct path so the application can start successfully.
A developer named siddhi requires read-only access to specific resources in the production namespace. Create a Role and RoleBinding to grant the minimum required permissions without any write access.
Enforce Kubernetes security best practices by disabling automatic ServiceAccount token mounting and providing a short-lived projected token to the application Pod.
Create a StatefulSet and a Headless Service for a distributed caching system. Verify that Pods are created with stable ordinal names.
Install OpenEBS, create a custom StorageClass using OpenEBS local provisioning, and make it the default StorageClass while removing the default annotation from the existing local-path StorageClass.