Kahibaro
Discord Login Register

Networking in OpenShift

Big Picture: What Networking Means in OpenShift

In OpenShift, networking connects:

OpenShift extends the standard Kubernetes networking model but adds:

This chapter gives the overall concepts and moving pieces of networking in OpenShift. Later chapters in this section will focus on particular building blocks like Services, Routes, and NetworkPolicies.

Core Networking Goals in OpenShift

OpenShift’s networking stack is designed to achieve a set of guarantees:

  1. Flat, cluster-wide pod network
    Every pod gets its own IP, and pods can (by default) reach each other across nodes without NAT.
  2. Stable access to applications
    Applications are accessed via Services inside the cluster and Routes/Ingress from outside, even as pods change.
  3. Network isolation and multi-tenancy
    Separation between different projects/namespaces through network policies and network segmentation.
  4. Support for diverse traffic flows
    • North–south: external clients ↔ cluster
    • East–west: pod ↔ pod and service ↔ service inside the cluster
  5. Load balancing and resilience
    Distribute traffic across multiple pod replicas and handle pod/node failures transparently to users.

Main Networking Layers in OpenShift

OpenShift’s networking can be thought of in layers, from low-level data-plane to user-level access.

1. Cluster Network (Pod and Node Networking)

This is the underlay for all pod-to-pod traffic.

Key aspects:

OpenShift enforces the Kubernetes rule:

Internally this layer is responsible for:

You generally don’t need to manage this directly as an application developer, but it sets the foundation for everything above.

2. Service Networking

On top of pod networking, OpenShift provides a virtual IP layer via Kubernetes Services:

OpenShift uses kube-proxy (and integration with the cluster network plugin) to implement this Service IP-based load balancing.

This layer enables:

Details of specific Service types and usage are covered in the “Services and service discovery” chapter.

3. Ingress and External Access

To reach applications from outside the cluster, OpenShift uses:

The typical path:

  1. External client connects to a router endpoint (e.g. a node’s public IP and port 443, often behind a load balancer).
  2. The Ingress Controller / Router inspects the HTTP/TLS request (host, path, SNI).
  3. It forwards traffic to an internal Service, which then sends it to pods.

This layer handles:

Details of Routes and Ingress are explored in the dedicated “Routes and ingress” chapter; here we only place them in the overall picture.

4. Network Security and Isolation

OpenShift’s networking model is designed for multi-tenant clusters, where many teams and applications share infrastructure.

Key building blocks:

By default, the cluster might be relatively permissive or restrictive depending on configuration. Network policies provide fine-grained control for inter-service access.

These are covered in detail in the “Network policies” and “Network security” chapters; here it is enough to know they are part of the networking stack and are enforced by the cluster network plugin.

5. Load Balancing Layers

OpenShift uses load balancing at multiple levels:

Together, these:

Details of load balancing strategies and configurations are covered in the dedicated “Load balancing” chapter.

OpenShift Networking Components and Their Roles

While you normally interact with Kubernetes resources (Services, Routes, Ingress, NetworkPolicies), several system components make networking work under the hood.

Key components:

Developers and operators usually manage these components through high-level resources (YAML manifests, oc CLI, or the web console), not by configuring them all directly.

Networking from Different Perspectives

OpenShift networking looks different depending on your role.

For Application Developers

Common concerns:

Developers mostly interact with:

For Cluster Administrators

Common concerns:

Admins interact more with:

Network Flows: How Traffic Moves in OpenShift

To understand OpenShift networking, it helps to follow a few common traffic paths.

Pod-to-Pod (East–West Inside the Cluster)

  1. Pod A makes a request to Pod B.
  2. If Pod A uses Pod B’s IP directly:
    • Traffic is routed via the cluster network (CNI plugin).
  3. If Pod A uses a Service name:
    • DNS resolves the name to a Service IP.
    • kube-proxy load-balances to one of the pods backing the Service.

NetworkPolicies, if present, can allow or deny this connection.

External Client to Application (North–South)

  1. Client connects to a public endpoint:
    • Typically an IP of a load balancer or node, on port 80/443 (or others).
  2. Traffic reaches an Ingress Controller / Router pod.
  3. The router:
    • Uses host/path/TLS information to select a Route/Ingress.
    • Forwards traffic to the corresponding Service.
  4. The Service load-balances traffic to application pods.

Along this path, TLS might be:

Firewalls, external load balancers, and NAT may also be involved at the infrastructure level.

Multi-Tenancy and Network Segmentation

OpenShift is often used as a shared platform for multiple teams or customers. Networking must support isolation while still allowing controlled communication.

Mechanisms used:

The configuration of these elements defines whether a cluster behaves as:

Integration with Underlying Infrastructure

OpenShift clusters run on various platforms (bare metal, virtualization, public clouds). Networking must fit into those environments:

These aspects are typically handled by cluster administrators and platform engineers, but they define what connectivity is available to workloads.

Networking Observability and Troubleshooting Basics

Networking is often a source of failures in distributed systems. OpenShift provides multiple ways to observe and debug network behavior:

Deeper troubleshooting techniques and tools are covered in the monitoring and troubleshooting chapters; here the key point is that OpenShift networking is observable and debuggable using standard and platform-specific tools.

How This Chapter Connects to the Rest of the Course

This chapter has laid out the overall structure and goals of OpenShift networking. The rest of this section will dive into the main building blocks:

Together, these chapters form a complete view of how to design, expose, secure, and operate networked applications on OpenShift.

Views: 11

Comments

Please login to add a comment.

Don't have an account? Register now!