Project · Beginner · about 8 hours

An IP address plan for a growing company

Design a non-overlapping address plan for offices, cloud accounts and Kubernetes clusters, and write a checker that catches overlaps and exhausted ranges.

Skills:Networking fundamentals, Python

Part of: Cloud and Network Engineer

Brief

A company with two offices, three cloud accounts and a plan for Kubernetes is about to connect everything with VPN and a transit hub. Nobody has written down which ranges are used, and two teams picked 10.0.0.0/16. Design the plan before the networks are connected.

What to build

  1. List current and planned networks: offices, VPCs per environment and region, Kubernetes pod and service ranges, VPN endpoints

  2. Choose a scheme (for example one /12 per region, one /16 per VPC) and allocate ranges with room to double

  3. Write the plan as YAML and a Python checker using the ipaddress module: overlaps, containment, and free capacity per block

  4. Add the checker and tests to CI so every change to the plan is validated

  5. Write the one-page guide for requesting a range

Deliverables

  • Repository with plan.yaml, check_plan.py, tests, CI and GUIDE.md

How it is graded

Reviewers add an overlapping range and an oversized subnet in a pull request and check that CI rejects both.

Stretch

Generate Terraform variable files for each VPC directly from the plan.

Deliverables

  • An address plan document with ranges per environment, region, VPC, subnet and cluster
  • A Python tool that validates the plan (no overlaps, subnets inside their parents, enough free addresses)
  • Tests for the tool, run in CI
  • A short guide for requesting a new range

How a reviewer grades it

CriterionWeightWhat good looks like
The plan leaves room to grow and follows a clear, documented scheme30%
The checker catches overlaps, containment errors and exhausted ranges30%
Tests cover good and bad plans25%
Guide is clear to other teams15%