Skip to content

Commit bad1691

Browse files
authored
Merge pull request #202808 from leebeasley-v/openshift-using-ovn
to add new article and toc entry for adding ovn to openshift
2 parents 18bd7ac + 0ee5e13 commit bad1691

File tree

2 files changed

+138
-0
lines changed

2 files changed

+138
-0
lines changed
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
---
2+
title: Configure OVN-Kubernetes network provider for Azure Red Hat OpenShift clusters (preview)
3+
description: In this how-to article, learn how to configure OVN-Kubernetes network provider for Azure Red Hat OpenShift clusters (preview).
4+
author: rahulm23
5+
ms.service: azure-redhat-openshift
6+
ms.topic: how-to
7+
ms.author: rahulmehta
8+
ms.date: 06/13/2022
9+
topic: how-to
10+
keywords: azure, openshift, aro, red hat, azure CLI, azure portal, ovn, ovn-kubernetes, CNI, Container Network Interface
11+
Customer intent: I need to configure OVN-Kubernetes network provider for Azure Red Hat OpenShift clusters.
12+
---
13+
14+
# Configure OVN-Kubernetes network provider for Azure Red Hat OpenShift clusters
15+
16+
This article explains how to Configure OVN-Kubernetes network provider for Azure Red Hat OpenShift clusters.
17+
18+
## About the OVN-Kubernetes default Container Network Interface (CNI) network provider (preview)
19+
20+
OVN-Kubernetes Container Network Interface (CNI) for Azure Red Hat OpenShift (ARO) cluster is now available for preview.
21+
22+
The OpenShift Container Platform cluster uses a virtualized network for pod and service networks. The OVN-Kubernetes Container Network Interface (CNI) plug-in is a network provider for the default cluster network. OVN-Kubernetes, which is based on the Open Virtual Network (OVN), provides an overlay-based networking implementation.
23+
24+
A cluster that uses the OVN-Kubernetes network provider also runs Open vSwitch (OVS) on each node. OVN configures OVS on each node to implement the declared network configuration.
25+
26+
> [!IMPORTANT]
27+
> Currently, this Azure Red Hat OpenShift feature is being offered in preview only. Preview features are available on a self-service, opt-in basis. Previews are provided "as is" and "as available," and they are excluded from the service-level agreements and limited warranty. Azure Red Hat OpenShift previews are partially covered by customer support on a best-effort basis. As such, these features are not meant for production use.
28+
29+
## OVN-Kubernetes features
30+
31+
The OVN-Kubernetes CNI cluster network provider offers the following features:
32+
33+
* Uses OVN to manage network traffic flows. OVN is a community developed, vendor-agnostic network virtualization solution.
34+
* Implements Kubernetes network policy support, including ingress and egress rules.
35+
* Uses the Generic Network Virtualization Encapsulation (Geneve) protocol rather than the Virtual Extensible LAN (VXLAN) protocol to create an overlay network between nodes.
36+
37+
For more information about OVN-Kubernetes CNI network provider, see [About the OVN-Kubernetes default Container Network Interface (CNI) network provider](https://docs.openshift.com/container-platform/4.10/networking/ovn_kubernetes_network_provider/about-ovn-kubernetes.html).
38+
39+
## Prerequisites
40+
41+
Complete the following prerequisites.
42+
### Install and use the preview Azure Command-Line Interface (CLI)
43+
44+
> [!NOTE]
45+
> The Azure CLI extension is required for the preview feature only.
46+
47+
If you choose to install and use the CLI locally, ensure you're running Azure CLI version 2.37.0 or later. Run `az --version` to find the version. For details on installing or upgrading Azure CLI, see [Install Azure CLI](/cli/azure/install-azure-cli).
48+
49+
1. Use the following URL to download both the Python wheel and the CLI extension:
50+
51+
[https://aka.ms/az-aroext-latest.whl](https://aka.ms/az-aroext-latest.whl)
52+
53+
2. Run the following command:
54+
55+
```azurecli-interactive
56+
az extension add --upgrade -s <path to downloaded .whl file>
57+
```
58+
59+
3. Verify the CLI extension is being used:
60+
61+
```azurecli-interactive
62+
az extension list
63+
[
64+
{
65+
"experimental": false,
66+
"extensionType": "whl",
67+
"name": "aro",
68+
"path": "<path may differ depending on system>",
69+
"preview": true,
70+
"version": "1.0.6"
71+
}
72+
]
73+
```
74+
75+
4. Run the following command:
76+
77+
```azurecli-interactive
78+
az aro create --help
79+
```
80+
81+
The result should show the `–sdn-type` option, as follows:
82+
83+
```json
84+
--sdn-type --software-defined-network-type : SDN type either "OpenShiftSDN" (default) or "OVNKubernetes". Allowed values: OVNKubernetes, OpenShiftSDN
85+
```
86+
87+
## Create an Azure Red Hat OpenShift cluster with OVN as the network provider
88+
89+
The process to create an Azure Red Hat OpenShift cluster with OVN is exactly the same as the existing process explained in [Tutorial: Create an Azure Red Hat OpenShift 4 cluster](tutorial-create-cluster.md), with the following exception. You must also pass in the SDN type of `OVNKubernetes` in step 4 below.
90+
91+
The following high-level procedure outlines the steps to create an Azure Red Hat OpenShift cluster with OVN as the network provider:
92+
93+
1. Install the preview Azure CLI extension.
94+
2. Verify your permissions.
95+
3. Register the resource providers.
96+
4. Create a virtual network containing two empty subnets.
97+
5. Create an Azure Red Hat OpenShift cluster by using OVN CNI network provider.
98+
6. Verify the Azure Red Hat OpenShift cluster is using OVN CNI network provider.
99+
100+
## Verify your permissions
101+
102+
Using OVN CNI network provider for Azure Red Hat OpenShift clusters requires you to create a resource group, which will contain the virtual network for the cluster. You must have either Contributor and User Access Administrator permissions or have Owner permissions either directly on the virtual network or on the resource group or subscription containing it.
103+
104+
You'll also need sufficient Azure Active Directory permissions (either a member user of the tenant, or a guest user assigned with role Application administrator) for the tooling to create an application and service principal on your behalf for the cluster. For more information about user roles, see [Member and guest users](../active-directory/fundamentals/users-default-permissions.md#member-and-guest-users) and [Assign administrator and non-administrator roles to users with Azure Active Directory](../active-directory/fundamentals/active-directory-users-assign-role-azure-portal.md).
105+
106+
## Register the resource providers
107+
108+
If you have multiple Azure subscriptions, you must register the resource providers. For information about the registration procedure, see [Register the resource providers](tutorial-create-cluster.md#register-the-resource-providers).
109+
110+
## Create a virtual network containing two empty subnets
111+
112+
If you have an existing virtual network that meets your needs, you can skip this step. To know the procedure of creating a virtual network, see [Create a virtual network containing two empty subnets](tutorial-create-cluster.md#create-a-virtual-network-containing-two-empty-subnets).
113+
114+
## Create an Azure Red Hat OpenShift cluster by using OVN-Kubernetes CNI network provider
115+
116+
Run the following command to create an Azure Red Hat OpenShift cluster that uses the OVN CNI network provider:
117+
118+
```
119+
az aro create --resource-group $RESOURCEGROUP \
120+
--name $CLUSTER \
121+
--vnet aro-vnet \
122+
--master-subnet master-subnet \
123+
--worker-subnet worker-subnet \
124+
--sdn-type OVNKubernetes \
125+
--pull-secret @pull-secret.txt \
126+
```
127+
128+
## Verify an Azure Red Hat OpenShift cluster is using the OVN CNI network provider
129+
130+
After the cluster is successfully configured to use the OVN CNI network provider, sign in to your account and run the following command:
131+
132+
```
133+
oc get network.config/cluster -o jsonpath='{.status.networkType}{"\n"}'
134+
```
135+
136+
The value of `status.networkType` must be `OVNKubernetes`.

articles/openshift/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
href: howto-custom-dns.md
3737
- name: Configure DNS forwarding
3838
href: dns-forwarding.md
39+
- name: Configure OVN-Kubernetes network provider
40+
href: howto-configure-ovn-kubernetes.md
3941
- name: Restrict egress traffic
4042
href: howto-restrict-egress.md
4143
- name: Storage

0 commit comments

Comments
 (0)