Kubernetes Networking Best Practices

Agility and portability are the developers’ top concerns, and they expect their applications to be portable across the software development life cycle. Portability must be enabled from a developer’s laptop to software testing to production. This can span on-premises and public cloud infrastructures. The traditional enterprise network model, in which IT creates network environments for development, testing, quality assurance and production for every project, is not necessarily well-aligned with this workflow. Moreover, container networking spans several layers, including the physical switching and routing infrastructure to intrahost and interhost networking through container runtime overlays.Networking solutions need to be tightly integrated with Kubernetes’ primitives and policy engine. IT leaders should strive for a high degree of network automation and provide developers with proper tools and sufficient flexibility.Recommendations:

  • Investigate whether your existing container as a service (CaaS) or software-defined networking (SDN) solution supports Kubernetes networking. If that is absent or insufficient, then choose a container networking interface (CNI) integrated network overlay and policy engine.
  • Ensure that the CaaS or platform as a service (PaaS) tooling being selected provides ingress controller support for load balancing across hosts in the cluster. If that is lacking, then consider third-party proxies or service mesh technologies.
  • Train your network engineers on Linux networking and network automation tools to bridge the skills gap and enhance agility.