Advanced services
Let's explore the IP strategy as it relates to services and communication between containers. If you recall, in the Services section of Chapter 3, Building a Foundation with Core Kubernetes Constructs, you learned that Kubernetes is using kube-proxy
to determine the proper pod IP address and port serving each request. Behind the scenes, kube-proxy
is actually using virtual IPs and iptables to make all this magic work.
kube-proxy
now has two modes—userspace and iptables. As of now, 1.2 iptables is the default mode. In both modes, kube-proxy
is running on every host. Its first duty is to monitor the API from the Kubernetes master. Any updates to services will trigger an update to iptables from kube-proxy
. For example, when a new service is created, a virtual IP address is chosen and a rule in iptables is set, which will direct its traffic to kube-proxy
via a random port. Thus, we now have a way to capture service-destined traffic on this node. Since kube-proxy
is running on...