Skip to main content
Welcome back. In this lesson we’ll deploy the Skyline Air microservices into a Kubernetes cluster. We’ll create isolated namespaces for each service, apply the kustomize overlay to create all required resources, verify the rollout, and port-forward the booking frontend for local testing.

Creating namespaces

Each microservice gets its own namespace so teams can manage resources independently and apply RBAC or resource quotas per namespace. Create the namespaces used by the Skyline Air demo:
Using one namespace per microservice helps isolate resources, simplify monitoring, and enables team-level ownership (RBAC, quotas, network policies).
Example output:
Verify the namespaces:
Representative output:

Deploying with Kustomize

We use a kustomization.yaml overlay to deploy all manifests together. Apply the overlay directory with kubectl apply -k to create ConfigMaps, Services, PVCs, Deployments, Ingress, and other resources in the correct namespaces:
Example output (resources created):
Summary of resources created by the overlay:

Verifying the rollout

Run a consolidated set of checks to confirm pods, services, deployments, and replicasets were created and are healthy:
Representative (trimmed) output showing the application components in their namespaces:
Everything looks good when pods show Running and deployments have the expected READY/AVAILABLE counts.

Port-forwarding the booking-api UI

To test the Skyline Air booking UI locally, port-forward the booking-api service and bind it to localhost:
Using --address 127.0.0.1 binds the port-forward to the loopback interface. This ensures the port-forward only listens on the local machine and helps avoid exposing the service on all network interfaces.
Open your browser and navigate to:
You should see the Skyline Air web UI. Perform a search and complete a booking and payment to confirm the end-to-end communication between the microservices.
Screenshot of a flight-booking page for "Sky Route." The search form shows an open "From" dropdown with cities (Mumbai, Delhi, Bangalore, etc.), "To" set to New York (NYC), a departure date, passenger selector, and a large "Search Flights" button.

Summary

  • Each microservice runs in its own namespace and is deployed via a kustomize overlay.
  • The overlay created ConfigMaps, Services, PVCs, Deployments, and an Ingress for external routing.
  • Verify deployments, services, and pods with kubectl get commands across namespaces.
  • Use kubectl port-forward for safe local access to the booking UI.
Inspect labels and annotations across namespaces to confirm consistent metadata and ownership. Proper labeling makes it easier to search, monitor, and apply policy selectively.

Watch Video

Practice Lab