Managing traffic with Kubernetes ingress controllers

In one of the previous posts, we have learned how to expose arbitrary ports to the outside world using services and load balancers. However, we also found that this is not very efficient - in the worst case, the number of load balancers we need equals the number of services. Specifically for HTTP/HTTPS traffic, there … Continue reading Managing traffic with Kubernetes ingress controllers

Watching Kubernetes networking in action

In this post, we will look in some more detail into networking in a Kubernetes cluster. Even though the Kubernetes networking model is independent of the underlying cloud provider, the actual implementation does of course depend on the cloud provider which communicates with Kubernetes through a CNI plugin. I will continue to use EKS, so … Continue reading Watching Kubernetes networking in action

Networking basics – IP routing and the ARP protocol

In the last post in this series, we have covered the basics of the IP protocol - the layout of a network message and the process of fragmentation. However, there is one point which we have not yet discussed. Assume that an application or operating system has actually assembled a message and applied fragmentation so … Continue reading Networking basics – IP routing and the ARP protocol

Networking basics – the layered networking model

Recently, I picked up an old project of mine - implementing a Unix like operating kernel from scratch. I will post more on this later, but one of the first things I stumbled across when browsing my old code and my old documentation was the networking stack. I used this as an opportunity to refresh … Continue reading Networking basics – the layered networking model