0
0
Kubernetesdevops~30 mins

Path-based routing in Kubernetes - Mini Project: Build & Apply

Choose your learning style9 modes available
Path-based routing with Kubernetes Ingress
📖 Scenario: You are managing a Kubernetes cluster that hosts multiple web services. You want to route incoming HTTP requests to different services based on the URL path. For example, requests to /app1 should go to service-app1, and requests to /app2 should go to service-app2.
🎯 Goal: Create a Kubernetes Ingress resource that uses path-based routing to send traffic to the correct backend services based on the request path.
📋 What You'll Learn
Create a basic Ingress resource with metadata and spec
Add a default backend service for unmatched paths
Add path rules to route /app1 to service-app1 and /app2 to service-app2
Use the networking.k8s.io/v1 API version and proper pathType
💡 Why This Matters
🌍 Real World
Path-based routing is common in Kubernetes to host multiple applications on the same IP and port, directing users to the right service based on URL paths.
💼 Career
Understanding Ingress and path-based routing is essential for Kubernetes administrators and DevOps engineers managing multi-service applications.
Progress0 / 4 steps
1
Create the basic Ingress resource skeleton
Create a Kubernetes Ingress resource named example-ingress in the default namespace. Use the API version networking.k8s.io/v1. Include metadata with the name and namespace, and an empty spec section.
Kubernetes
Need a hint?

Start with the basic Ingress YAML structure including apiVersion, kind, metadata, and an empty spec.

2
Add a default backend service
Inside the spec section, add a defaultBackend that points to the service named default-service on port 80. Use the correct structure for service and port fields.
Kubernetes
Need a hint?

The defaultBackend routes requests that don't match any path rules. Use the service and port keys properly.

3
Add path-based routing rules
Inside the spec, add an ingressClassName set to nginx. Then add a rules list with one rule for host example.com. Under this rule, add an http section with paths that route /app1 to service service-app1 port 80 and /app2 to service service-app2 port 80. Use pathType: Prefix for both paths.
Kubernetes
Need a hint?

Use ingressClassName to specify the Ingress controller. Define rules with host and http.paths for routing.

4
Display the complete Ingress YAML
Print the complete Ingress YAML manifest to verify the configuration. Use a command like cat ingress.yaml assuming the file is named ingress.yaml.
Kubernetes
Need a hint?

Use cat ingress.yaml to display the full YAML manifest content.