The evolution of the Container Network Interface
The Container Network Interface (CNI) is a simple specification for connecting containers to an arbitrary network. It promises interoperability between diverse networking technologies and container orchestration engines. Since its release two years ago, the CNI standard has grown in adoption. It is now a cross-industry effort, with contributors from CoreOS, RedHat, Google, Microsoft, and WeaveWorks, for example. CNI is used by the Kubernetes, CloudFoundry, and Mesos container orchestration engines. After a brief overview of the project, this talk will cover recent and coming developments in the CNI. As a specification, the CNI must balance the desire for new features with that of stability. I’ll cover the implications of that need for balance, design considerations, changes in the CNI spec, and the new use cases made possible.
Casey Callendrello is a developer for CoreOS, working on the rkt container runtime engine and CNI, the widely adopted container network interface. He previously worked at Weebly, where he built scalable infrastructure, and Akamai, where he helped the company grow to hundreds of thousands of servers. In his spare time, he studies German and builds embedded devices to automate his everyday life. He thinks the world would be a better place if we would all switch to IPv6. He lives in Berlin, Germany. He was grudgingly elected president of the Noisebridge hackerspace.