The Kubernetes Networking Guide

The purpose of this website is to provide an overview of various Kubernetes networking components with a specific focus on exactly how they implement the required functionality.

The information here can be used for educational purposes, however, the main goal is to provide a single point of reference for designing, operating and troubleshooting cluster networking solutions.

This is not a generic Kubernetes learning resource. The assumption is that the reader is already familiar with basic concepts and building blocks of a Kubernetes cluster – pods, deployments, services.


The guide is split into multiple parts which can be studied mostly independently, however they all work together to provide a complete end-to-end cluster network abstractions.

Why this structure? – To explain Kubernetes from a network-centric view in a language understandable to people with a traditional network engineering background. This structure is also based on how #sig-network is organised into interest groups.

Hands-on Labs

Where possible, every topic in this guide will include a dedicated hands-on lab which can be spun up locally in a matter of minutes. Refer to the Lab page for setup instructions.


If you found an error or want to add something to this guide, just click the Edit this page link displayed on top right of each page (except this one), and submit a pull request.

When submitting brand new content, please consider adding a corresponding lab to the Labs repo