订阅内容

Red Hat OpenShift networking is much more than just Kubernetes networking. With Red Hat Enterprise Linux (RHEL) as its foundation, it’s a suite of highly integrated Red Hat products and capabilities that provide a state of the art networking ecosystem for Kubernetes applications that require zero trust networking, network observability, virtual machine networking, multi-cluster management, service mesh, and more.

Red Hat Open Hybrid Cloud Platform

One of the most important components of that Kubernetes networking ecosystem is the Container Network Interface (CNI) plugin, which assigns pods within a cluster IP addresses, configures routes to establish network connectivity, and enforces security policies between pods within a cluster.  In the case of Red Hat OpenShift networking, the default CNI plugin is OVN-Kubernetes, a full-featured modern implementation of advanced networking capability, trusted by a gamut of customers ranging from telecommunication providers delivering 5G cellular networks to the world's leading banks running financial services infrastructures.

When building the pod network, it is typically created as an overlay network that abstracts away the underlying physical network to provide a common networking fabric across a variety of private on-premises and public cloud platforms. Commonly, the pod network assigns a unique IP to every pod in a layer 3 network and the CNI plugin handles the traffic routing between them, regardless of a pod’s placement on a physical node within the cluster.

In a multi-tenant environment, that baseline indiscriminate connectivity between pods is not desirable for compliance and security reasons. Kubernetes Network Policy (along with its Admin Network Policy and Baseline Network Policy enhancements) provides an important tool to restrict pod-to-pod traffic across and within the namespace (the Kubernetes tenant boundary). However, a misconfiguration could expose traffic to bad actors because they are all sharing the same network. 

To mitigate the problem, Red Hat OpenShift networking teams helped establish the Kubernetes Network Plumbing Group to address low level networking issues in Kubernetes. This group developed standards for attaching multiple networks to pods in Kubernetes, centering around the Multus CNI plugin, which enables pods to have multiple network interfaces configured from a standard Custom Resource Definition (CRD).

Enhancing the Kubernetes pod network with user-defined networks

Typically in Kubernetes, each pod has a single network interface (apart from a loopback). The networking of the eth0 interface is described by the default (primary) CNI plugin for control and data plane traffic. Using the Multus CNI, you can create a multi-homed pod with multiple interfaces, each (potentially) described by a different secondary CNI plugin that might provide a different set of features beyond the default CNI plugin's capabilities. For example, a cluster administrator could keep Kubernetes control plane traffic on the pod’s eth0 interface, but configure a secondary interface with high-speed SR-IOV for streaming data.

Enhancing the Kubernetes pod network with user-defined networks

While Multus secondary interfaces provide a solution for isolating traffic onto a secondary network, limitations remain and can present new challenges. For one, this introduces an operational complexity.  Also, the array of secondary CNI plugins available for use are typically focused on a fairly limited set of functionality (for instance, MACVLAN network configuration only), often requiring additional CNI plugins (IPAM, for example) to make the secondary network usable. The OVN-Kubernetes CNI plugin can be used for both primary and secondary networks to mitigate that problem. Fundamentally, the issue with secondary interfaces is that they are not "first class citizens" in Kubernetes networking, and limitations still exist (for example, they have limited integration with Kubernetes services). 

To directly address the limitations of Multus secondary networks for the purposes of advanced network functionality and network segmentation and isolation, Red Hat OpenShift developed a foundational Kubernetes networking enhancement called user-defined networks. 

What is a user-defined network?

A user-defined network (UDN) supports seamless integration between OpenShift's OVN-Kubernetes cluster network and existing external networks, and features targeted networking solutions that cross over that boundary. UDN improves the flexibility and segmentation capability of the default layer 3 Kubernetes pod network by enabling custom layer 2, layer 3, and localnet network segments that act as either primary or secondary networks for container pods and virtual machines. Using the default OpenShift OVN-Kubernetes networking, UDN provides a set of network semantics that network administrators and applications are already familiar with. UDN augments OpenShift’s existing Multus-enabled secondary CNI capability by providing a comparable experience and feature set to all network segments.

Enhancing the Kubernetes pod network with user-defined networks

A UDN uniquely provides support for common virtual machine (VM) networking use cases, such as providing VM static IP assignment for its lifetime and a layer 2 primary pod network for the live migration of VMs between nodes. This is fully integrated with Red Hat OpenShift Virtualization.

UDN aims to provide a consistent experience across all network segments, and the feature set introduced at OpenShift 4.18 is the beginning of that journey. Over the next releases, we will be introducing support for more features that makes UDN more useful and usable, starting with the support for Admin Network Policy and Route for UDN segments.

Kubernetes defined the modern application deployment model, and OpenShift has been the premier Kubernetes platform. OpenShift’s legacy of Kubernetes leadership and innovation continues with the addition of UDN, as Red Hat OpenShift networking takes a bold step to once again redefine Kubernetes networking for the next generation of applications.

product trial

红帽 OpenShift 容器平台 | 产品试用

红帽 OpenShift 容器平台 | 产品试用

关于作者

Marc Curry is a Distinguished Product Manager in Red Hat's Hybrid Platform Business Unit, specializing in the networking architecture, performance, and scalability of the OpenShift Container Platform.

With over 20 years at Red Hat, Marc has held various technical roles, including serving as a Solutions Architect focused on open-source solutions for the telecommunications industry. His expertise builds upon a strong foundation in scientific and high-performance computing.

Read full bio

Feng leads the networking engineering organization in OpenShift, responsible for all networking components including CNI (OVN-Kubernetes), Ingress, network observability, service mesh (OSSM) and connectivity link (RHCL).

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Original series icon

原创节目

关于企业技术领域的创客和领导者们有趣的故事