The platform uses software defined networking (SDN) to handle communications for the cluster. SDN includes container-to-container connections, pod-to-pod connections, ingress to pod connections, and pod to external services like PowerScale and ECS. These network services are provided through the Kubernetes Container Network Interface (CNI) and supported by CNI compatible network plugins.
Each physical node in the cluster is assigned an IP address for its connection to the Cluster data network. Each connection uses a pair of physical network ports that are bonded with IEEE 802.3ad dynamic link aggregation. This configuration provides both load balancing across physical links, and fault tolerance if a link fails. All networking above this layer is software-defined and uses IP addresses that are private to the cluster.
When applications running on the cluster request IP addresses, the addresses are allocated from the tenants IP pool. The IP pool specifies both the range of addresses available and the CNI driver to use. The platform supports three CNI driver options – Calico, Open vSwitch (OVS), and SR-IOV. Dell Technologies recommends using the OVS driver for most use cases, since it provides the best support for inbound access to applications from outside the cluster.
Inbound network access to applications is handled through a Kubernetes NodePort service. The NodePort configuration is specified in the application bundle and includes the external and internal port number mapping. Outbound network access from applications is handled through IP routing that is based on the destination.