$ oc get -n openshift-network-operator deployment/network-operator NAME READY UP-TO-DATE AVAILABLE AGE network-operator 1/1 1 1 56m
The Cluster Network Operator (CNO) deploys and manages the cluster network components on an OpenShift Container Platform cluster, including the default Container Network Interface (CNI) 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 a different SDN plug-in if selected during cluster installation, using a DaemonSet.
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.2.0 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 cluster network configuration in the Network.operator.openshift.io
custom
resource (CR) stores the configuration settings for the Cluster Network
Operator (CNO). The Operator manages the cluster network.
You can specify the cluster network configuration for your OpenShift Container Platform
cluster by setting the parameters 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 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)
- 30s
1 | A list specifying the blocks of IP addresses from which Pod IPs are allocated and the subnet prefix length assigned to each individual node. |
2 | A block of IP addresses for services. The OpenShift SDN default Container Network Interface (CNI) network plug-in supports only a single IP address block for the service network. |
3 | Configures the software-defined networking (SDN) for the cluster network. |
4 | The parameters for this object specify the Kubernetes network proxy (kube-proxy) configuration. |
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 OpenShift SDN default CNI network provider:
defaultNetwork:
type: OpenShiftSDN (1)
openshiftSDNConfig: (2)
mode: NetworkPolicy (3)
mtu: 1450 (4)
vxlanPort: 4789 (5)
1 | The default CNI network provider plug-in being used. OpenShift SDN is the only plug-in supported in OpenShift Container Platform 4.2. |
2 | OpenShift SDN specific configuration parameters. |
3 | The network isolation mode for the OpenShift SDN CNI plug-in. |
4 | 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 . |
A complete CR 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:
- 30s