Skip to main content
Welcome back. In this lesson we’ll prepare the infrastructure for the SkyLine Air microservices by creating a local Kubernetes cluster and dedicated namespaces for each service. This guide uses kind (Kubernetes in Docker) to run a local cluster and covers the exact sequence of commands to verify prerequisites, create the cluster, and provision namespaces. Why this matters
  • Namespaces provide isolation for resources and help organize microservices per team or unit.
  • Using a local kind cluster lets you iterate quickly without cloud costs while maintaining a realistic Kubernetes environment.
Tools used Prerequisites
  • Docker — make sure Docker Desktop or Docker Engine is running.
  • kind — used to create local clusters.
  • kubectl — Kubernetes CLI to manage cluster resources.
  • Helm — for later deployments and package management.
If you’re on macOS or Windows, ensure Docker Desktop is up-to-date and running before creating the kind cluster. On Linux, confirm Docker daemon is running (e.g. systemctl status docker).
Verify prerequisites
  1. Check Docker is running:
  1. Confirm kind is installed:
Example output:
  1. Verify kubectl client:
Example output:
  1. Verify Helm (optional for later):
Example output:
Create the kind cluster Create a local cluster named finops-cluster:
Example output (cluster creation can take 30s–1m):
Verify cluster Confirm the cluster exists:
Check cluster information and your control plane:
Tip: kubectl context
  • After kind creates a cluster, it sets a kubectl context (e.g. kind-finops-cluster). Use kubectl config get-contexts to list available contexts and kubectl config use-context <context> to switch when needed.
Create namespaces We create a namespace for each microservice/unit in the SkyLine Air team. Creating a namespace groups the service resources and is a first step toward resource isolation and RBAC scoping. Run these commands to create the namespaces:
Example confirmation when creating a namespace:
Verify namespaces List namespaces to verify they were created:
Example output:
Notes and troubleshooting
  • Built-in namespaces: Kubernetes creates default, kube-system, and kube-public automatically.
  • If kind cluster creation fails:
    • Ensure Docker is running and has enough resources (CPU/memory).
    • Verify no conflicting ports or existing clusters with the same name.
    • Consult kind’s docs: https://kind.sigs.k8s.io/
If you see permission or networking errors during cluster creation, restart Docker and retry. On macOS and Windows, enabling virtualization in system settings may be required.
Next steps In the next lesson we will deploy each microservice into its corresponding namespace and validate inter-service connectivity using Services and NetworkPolicies. We’ll also introduce Helm charts to manage deployments and values per namespace. Links and references

Watch Video