Arguably the least mature aspect of Kubernetes involves how networking services are made available. Kubernetes, in the current implementation of the Container Network Interface (CNI), allows a pod to access only a single network interface to communicate with other systems.
To address that issue, Kaloom has created a CNI plugin dubbed Kactus, which makes it possible to connect multiple network interfaces to the various pods running within a Kubernetes cluster.
Thomas Eklund, vice president of marketing and strategy for Kaloom, says just as importantly Kactus also provides a way to dynamically discover and adapt to changes in the networking environment. CNI today only permits the discovery of the network topology at start time. In the event of a planned or unplanned change to the network, the Kubernetes application needs to be shut down and restarted.
Kactus was developed as part of the Kaloom Software Defined Fabric (SDF), which was developed using the P4 language to create a programmable data plane in networking environments based on Kubernetes. SDF is compatible with multiple software-defined networking (SDN) controllers found in OpenStack environments or in any instance of the open source OpenDaylight software.
In general, Kaloom is trying to accelerate the convergence of NetOps with DevOps. Kaloom SDF enables zero-touch provisioning of the virtual networks. Additional compute and storage resources can be dynamically assigned or removed via the associated vFabric, thereby creating a flexible and elastic pool of network resources. That capability enables a physical data center to be partitioned into multiple independent virtual data centers (vDCs), each operating with its own Virtual Fabric (vFabric) and the ability to host millions of IPv4- or IPv6-based tenant networks. That level of flexibility at the network level increasingly is being required to enable IT organizations to inject agility into network operations at a time when the number of applications being rolled out and updated continues to increase exponentially.
Kactus, meanwhile, can be integrated the Kaloom Virtual Switch (KVS) or any instance of Open vSwitch (OVS). That level of integration also should serve to accelerate deployment of white-box switches in cloud native computing environments, says Eklund. As many organizations embrace Kubernetes, many of them also are moving away from switches based on proprietary ASICs.
It’s unclear to what degree network operations will be folded into DevOps process in the months and years ahead. As networking environments become more programmable, it should become more feasible for developers to programmatically invoke those resources using application programming interfaces (API) in much the same way cloud service providers expose networking services. In the meantime, many IT organizations will be making available dedicated slices of networking services available on a self-service basis to specific applications versus allowing developers to consume additional bandwidth resource whenever they like at the potential expense of other applications sharing the same network resources.
Regardless of the approach taken, the one thing that is certain is that as containers and Kubernetes continue to evolve, networking as it is known today soon will be utterly transformed.