Advanced networking patterns

In this lab we'll be doing a deep dive into Kubernetes Networking. Starting by building a strong understanding of the various mechanisms supporting Kubernetes networking abstractions and working through several real world examples which will enable you to architect, build and maintain a production-grade system.

Agenda

Networking deep dive

In this session we'll follow the life of a network packet entering the Kubernetes cluster, and how Kubernetes mechanisms support that journey. We'll explain how various configurations impact the performance of your cluster and various considerations you need to take when architecting it.

Networking patterns

After understanding the fundamentals, we'll cover several real world examples and show you various ways to architect your services. We'll cover using NodePorts for cluster debugging purposes, to using namespaces for basic isolation and more.

Network Security

Kubernetes has built in mechanisms to isolate workloads and ensure levels of isolation between various components necessary in a production-grade system. We'll be focusing on Kubernetes Network Policies and explain how to integrate them into your system in a flexible manner.

Configuring Ingress

Ingress mechanisms allow you to expose your cluster to the world. We'll be demonstrating few of the most popular Ingress controllers, and working through a real world example where we expose a real microservice system through the API.

Debugging network Issues

Finally, we'll introduce a set of useful tools to debug Kubernetes network issues and practice a few failure scenarios to ensure we are able to use the knowledge gained throughout the workshop to troubleshoot and resolve real systems.

After this workshop, you'll be able to plan and architect the Networking aspect of your systems, taking into account security, performance, isolation and maintenance of your system.