Skip to content

Commit

Permalink
Document Hybrid Overlay Config
Browse files Browse the repository at this point in the history
How to configure a hybrid cluster of Linux an Windows nodes.

SDN-842 - Bring up hybrid cluster and document process
https://issues.redhat.com/browse/SDN-842

Signed-off-by: Phil Cameron <pcameron@redhat.com>
  • Loading branch information
pecameron committed Mar 5, 2020
1 parent 161c3d7 commit 9731feb
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,13 @@ For example, if you want to use the default VXLAN port for OpenShiftSDN, then yo
- *Type Name*: `Network.config.openshift.io`
- *Instance Name*: `cluster`
- *View Command*: `oc get Network.config.openshift.io cluster -oyaml`
- *File*: `install-config.yaml`

*Operator config*
- *Type Name*: `Network.operator.openshift.io`
- *Instance Name*: `cluster`
- *View Command*: `oc get Network.operator.openshift.io cluster -oyaml`
- *File*: `manifests/cluster-network-02-config.yml`

#### Example configurations

Expand Down Expand Up @@ -172,6 +174,41 @@ data:
OVN_LOG_LEVEL=dbg
```

### Configuring OVNKubernetes On a Hybrid Cluster
OVNKubernetes supports a hybrid cluster of both Linux and Windows nodes on x86_64 hosts. The ovn configuration is done as described above. In addition the `hybridOverlayConfig` can be included as follows:

Create the cluster using openshift-install. First get the install-config. Use a convenient directory for the cluster.
```
$ openshift-install --dir=MY_CLUSTER create install-config
```
Edit the MY_CLUSTER/install-config and change the `networkType:` to OVNKubernetes

Next create the manifests:
```
$ openshift-install --dir=MY_CLUSTER create manifests
$ cp MY_CLUSTER/manifests/cluster-network-02-config.yml MY_CLUSTER/manifests/cluster-network-03-config.yml
```
Edit the new file as follows:
- change first line `apiVersion: config.openshift.io/v1` to `apiVersion: operator.openshift.io/v1`
- Add the following to the `spec:` section

```yaml
spec:
defaultNetwork:
type: OVNKubernetes
ovnKubernetesConfig:
hybridOverlayConfig:
hybridClusterNetwork:
- cidr: 10.132.0.0/14
hostPrefix: 23
```
The hybridClusterNetwork cidr and hostPrefix are used when adding windows nodes. This cidr must not overlap the ClusterNetwork cidr.

Go on and create the cluster:
```
$ openshift-install --dir=MY_CLUSTER create cluster
```

### Configuring Kuryr-Kubernetes
Kuryr-Kubernetes is a CNI plugin that uses OpenStack Neutron to network OpenShift Pods, and OpenStack Octavia to create load balancers for Services. In general it is useful when OpenShift is running on an OpenStack cluster, as you can use the same SDN (OpenStack Neutron) to provide networking for both the VMs OpenShift is running on, and the Pods created by OpenShift. In such case avoidance of double encapsulation gives you two advantages: improved performace (in terms of both latency and throughput) and lower complexity of the networking architecture.

Expand Down

0 comments on commit 9731feb

Please sign in to comment.