$ oc get -n openshift-network-operator deployment/network-operator
The Cluster Network Operator (CNO) deploys and manages the cluster network components on an OpenShift Container Platform cluster, including the Container Network Interface (CNI) default network provider plug-in selected for the cluster during installation.
The Cluster Network Operator implements the network
API from the operator.openshift.io
API group.
The Operator deploys the OpenShift SDN default Container Network Interface (CNI) network provider plug-in, or the default network provider plug-in that you selected during cluster installation, by using a daemon set.
The Cluster Network Operator is deployed during installation as a Kubernetes
deployment
.
Run the following command to view the deployment status:
$ oc get -n openshift-network-operator deployment/network-operator
NAME READY UP-TO-DATE AVAILABLE AGE
network-operator 1/1 1 1 56m
Run the following command to view the state of the Cluster Network Operator:
$ oc get clusteroperator/network
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE
network 4.5.4 True False False 50m
The following fields provide information about the status of the operator:
AVAILABLE
, PROGRESSING
, and DEGRADED
. The AVAILABLE
field is True
when
the Cluster Network Operator reports an available status condition.
Every new OpenShift Container Platform installation has a network.config
object named
cluster
.
Use the oc describe
command to view the cluster network configuration:
$ oc describe network.config/cluster
Name: cluster
Namespace:
Labels: <none>
Annotations: <none>
API Version: config.openshift.io/v1
Kind: Network
Metadata:
Self Link: /apis/config.openshift.io/v1/networks/cluster
Spec: (1)
Cluster Network:
Cidr: 10.128.0.0/14
Host Prefix: 23
Network Type: OpenShiftSDN
Service Network:
172.30.0.0/16
Status: (2)
Cluster Network:
Cidr: 10.128.0.0/14
Host Prefix: 23
Cluster Network MTU: 8951
Network Type: OpenShiftSDN
Service Network:
172.30.0.0/16
Events: <none>
1 | The Spec field displays the configured state of the cluster network. |
2 | The Status field displays the current state of the cluster network
configuration. |
You can inspect the status and view the details of the Cluster Network Operator
using the oc describe
command.
Run the following command to view the status of the Cluster Network Operator:
$ oc describe clusteroperators/network
You can view Cluster Network Operator logs by using the oc logs
command.
Run the following command to view the logs of the Cluster Network Operator:
$ oc logs --namespace=openshift-network-operator deployment/network-operator
The Open Virtual Networking (OVN) Kubernetes network plug-in is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information about the support scope of the OVN Technology Preview, see https://access.redhat.com/articles/4380121. |
The configuration for the cluster network is specified as part of the Cluster Network Operator (CNO) configuration and stored in a CR object that is named cluster
. The CR specifies the parameters for the Network
API in the operator.openshift.io
API group.
You can specify the cluster network configuration for your OpenShift Container Platform cluster by setting the parameter values for the defaultNetwork
parameter in the CNO CR. The following CR displays the default configuration for the CNO and explains both the parameters you can configure and the valid parameter values:
apiVersion: operator.openshift.io/v1
kind: Network
metadata:
name: cluster
spec:
clusterNetwork: (1)
- cidr: 10.128.0.0/14
hostPrefix: 23
serviceNetwork: (2)
- 172.30.0.0/16
defaultNetwork: (3)
...
kubeProxyConfig: (4)
iptablesSyncPeriod: 30s (5)
proxyArguments:
iptables-min-sync-period: (6)
- 0s
1 | A list specifying the blocks of IP addresses from which pod IP addresses are allocated and the subnet prefix length assigned to each individual node. | ||
2 | A block of IP addresses for services. The OpenShift SDN Container Network Interface (CNI) network provider supports only a single IP address block for the service network. | ||
3 | Configures the default CNI network provider for the cluster network. | ||
4 | The parameters for this object specify the Kubernetes network proxy (kube-proxy) configuration. If you are using the OVN-Kubernetes default CNI network provider, the kube-proxy configuration has no effect. | ||
5 | The refresh period for iptables rules. The default value is 30s . Valid suffixes include s , m , and h and are described in the Go time package documentation.
|
||
6 | The minimum duration before refreshing iptables rules. This parameter ensures that the refresh does not happen too frequently. Valid suffixes include s , m , and h and are described in the Go time package. |
The following YAML object describes the configuration parameters for the OpenShift SDN default Container Network Interface (CNI) network provider.
You can only change the configuration for your default CNI network provider during cluster installation. |
defaultNetwork:
type: OpenShiftSDN (1)
openshiftSDNConfig: (2)
mode: NetworkPolicy (3)
mtu: 1450 (4)
vxlanPort: 4789 (5)
1 | The default CNI network provider plug-in that is used. |
2 | OpenShift SDN specific configuration parameters. |
3 | The network isolation mode for OpenShift SDN. |
4 | The maximum transmission unit (MTU) for the VXLAN overlay network. This value is normally configured automatically. |
5 | The port to use for all VXLAN packets. The default value is 4789 . |
The following YAML object describes the configuration parameters for the OVN-Kubernetes default CNI network provider.
You can only change the configuration for your default CNI network provider during cluster installation. |
defaultNetwork:
type: OVNKubernetes (1)
ovnKubernetesConfig: (2)
mtu: 1400 (3)
genevePort: 6081 (4)
1 | The default CNI network provider plug-in that is used. |
2 | OVN-Kubernetes specific configuration parameters. |
3 | The MTU for the Geneve (Generic Network Virtualization Encapsulation) overlay network. This value is normally configured automatically. |
4 | The UDP port for the Geneve overlay network. |
A complete CR object for the CNO is displayed in the following example:
apiVersion: operator.openshift.io/v1
kind: Network
metadata:
name: cluster
spec:
clusterNetwork:
- cidr: 10.128.0.0/14
hostPrefix: 23
serviceNetwork:
- 172.30.0.0/16
defaultNetwork:
type: OpenShiftSDN
openshiftSDNConfig:
mode: NetworkPolicy
mtu: 1450
vxlanPort: 4789
kubeProxyConfig:
iptablesSyncPeriod: 30s
proxyArguments:
iptables-min-sync-period:
- 0s