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
List current and planned networks: offices, VPCs per environment and region, Kubernetes pod and service ranges, VPN endpoints
Choose a scheme (for example one /12 per region, one /16 per VPC) and allocate ranges with room to double
Write the plan as YAML and a Python checker using the ipaddress module: overlaps, containment, and free capacity per block
Add the checker and tests to CI so every change to the plan is validated
Write the one-page guide for requesting a range
Deliverables
Repository with
plan.yaml,check_plan.py, tests, CI andGUIDE.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
| Criterion | Weight | What good looks like |
|---|---|---|
| The plan leaves room to grow and follows a clear, documented scheme | 30% | |
| The checker catches overlaps, containment errors and exhausted ranges | 30% | |
| Tests cover good and bad plans | 25% | |
| Guide is clear to other teams | 15% |