From 362e04954cb5bd7f8704e2b2e8979d5a0d65ceeb Mon Sep 17 00:00:00 2001 From: Max Bridges Date: Thu, 22 Apr 2021 16:42:05 -0400 Subject: [PATCH] Add ShiftStack provider networks docs Addresses OSDOCS-1877 --- ...penshift-on-openstack-provider-network.png | Bin 0 -> 112991 bytes ...installing-openstack-installer-custom.adoc | 12 +++- .../installing-openstack-installer-kuryr.adoc | 12 +++- ...alling-openstack-installer-restricted.adoc | 1 - .../installing-openstack-installer.adoc | 1 - .../installing-openstack-user-kuryr.adoc | 12 +++- .../installing-openstack-user.adoc | 12 +++- ...deploying-provider-networks-installer.adoc | 49 +++++++++++++++ ...tion-osp-provider-network-preparation.adoc | 56 ++++++++++++++++++ .../installation-osp-provider-networks.adoc | 28 +++++++++ 10 files changed, 177 insertions(+), 6 deletions(-) create mode 100644 images/openshift-on-openstack-provider-network.png create mode 100644 modules/installation-osp-deploying-provider-networks-installer.adoc create mode 100644 modules/installation-osp-provider-network-preparation.adoc create mode 100644 modules/installation-osp-provider-networks.adoc diff --git a/images/openshift-on-openstack-provider-network.png b/images/openshift-on-openstack-provider-network.png new file mode 100644 index 0000000000000000000000000000000000000000..9700c13b2972fb6e99716a47798a1dc3a8e25ad1 GIT binary patch literal 112991 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 IbC>`5Km0XH=>Px# literal 0 HcmV?d00001 diff --git a/installing/installing_openstack/installing-openstack-installer-custom.adoc b/installing/installing_openstack/installing-openstack-installer-custom.adoc index 8e2d86dd76..45d1cb0eb2 100644 --- a/installing/installing_openstack/installing-openstack-installer-custom.adoc +++ b/installing/installing_openstack/installing-openstack-installer-custom.adoc @@ -13,7 +13,6 @@ In {product-title} version {product-version}, you can install a customized clust * You reviewed details about the xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] processes. * You read the documentation on xref:../../installing/installing-preparing.adoc#installing-preparing[selecting a cluster installation method and preparing it for users]. * You verified that {product-title} {product-version} is compatible with your {rh-openstack} version by using the xref:../../architecture/architecture-installation.adoc#supported-platforms-for-openshift-clusters_architecture-installation[Supported platforms for OpenShift clusters] section. You can also compare platform support across different versions by viewing the link:https://access.redhat.com/articles/4679401[{product-title} on {rh-openstack} support matrix]. -* Your network configuration does not rely on a provider network. Provider networks are not supported. * You have a storage service installed in {rh-openstack}, such as block storage (Cinder) or object storage (Swift). Object storage is the recommended storage technology for {product-title} registry cluster deployment. For more information, see xref:../../scalability_and_performance/optimizing-storage.adoc#optimizing-storage[Optimizing storage]. * You have the metadata service enabled in {rh-openstack}. @@ -30,6 +29,17 @@ include::modules/installation-configure-proxy.adoc[leveloffset=+2] include::modules/installation-configuration-parameters.adoc[leveloffset=+1] include::modules/installation-osp-custom-subnet.adoc[leveloffset=+2] include::modules/installation-osp-deploying-bare-metal-machines.adoc[leveloffset=+2] +include::modules/installation-osp-provider-networks.adoc[leveloffset=+2] +include::modules/installation-osp-provider-network-preparation.adoc[leveloffset=+3] +include::modules/installation-osp-deploying-provider-networks-installer.adoc[leveloffset=+3] + +[TIP] +==== +You can add additional networks, including provider networks, to the `platform.openstack.additionalNetworkIDs` list. + +After you deploy your cluster, you can attach pods to additional networks. For more information, see xref:../../networking/multiple_networks/understanding-multiple-networks.adoc#understanding-multiple-networks[Understanding multiple networks]. +==== + include::modules/installation-osp-config-yaml.adoc[leveloffset=+2] include::modules/ssh-agent-using.adoc[leveloffset=+1] include::modules/installation-osp-accessing-api.adoc[leveloffset=+1] diff --git a/installing/installing_openstack/installing-openstack-installer-kuryr.adoc b/installing/installing_openstack/installing-openstack-installer-kuryr.adoc index e462a982b0..2a9896d87a 100644 --- a/installing/installing_openstack/installing-openstack-installer-kuryr.adoc +++ b/installing/installing_openstack/installing-openstack-installer-kuryr.adoc @@ -13,7 +13,6 @@ In {product-title} version {product-version}, you can install a customized clust * You reviewed details about the xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] processes. * You read the documentation on xref:../../installing/installing-preparing.adoc#installing-preparing[selecting a cluster installation method and preparing it for users]. * You verified that {product-title} {product-version} is compatible with your {rh-openstack} version by using the xref:../../architecture/architecture-installation.adoc#supported-platforms-for-openshift-clusters_architecture-installation[Supported platforms for OpenShift clusters] section. You can also compare platform support across different versions by viewing the link:https://access.redhat.com/articles/4679401[{product-title} on {rh-openstack} support matrix]. -* Your network configuration does not rely on a provider network. Provider networks are not supported. * You have a storage service installed in {rh-openstack}, such as block storage (Cinder) or object storage (Swift). Object storage is the recommended storage technology for {product-title} registry cluster deployment. For more information, see xref:../../scalability_and_performance/optimizing-storage.adoc#optimizing-storage[Optimizing storage]. include::modules/installation-osp-about-kuryr.adoc[leveloffset=+1] @@ -37,6 +36,17 @@ include::modules/installation-configure-proxy.adoc[leveloffset=+2] include::modules/installation-configuration-parameters.adoc[leveloffset=+1] include::modules/installation-osp-custom-subnet.adoc[leveloffset=+2] include::modules/installation-osp-kuryr-config-yaml.adoc[leveloffset=+2] +include::modules/installation-osp-provider-networks.adoc[leveloffset=+2] +include::modules/installation-osp-provider-network-preparation.adoc[leveloffset=+3] +include::modules/installation-osp-deploying-provider-networks-installer.adoc[leveloffset=+3] + +[TIP] +==== +You can add additional networks, including provider networks, to the `platform.openstack.additionalNetworkIDs` list. + +After you deploy your cluster, you can attach pods to additional networks. For more information, see xref:../../networking/multiple_networks/understanding-multiple-networks.adoc#understanding-multiple-networks[Understanding multiple networks]. +==== + include::modules/ssh-agent-using.adoc[leveloffset=+1] include::modules/installation-osp-accessing-api.adoc[leveloffset=+1] include::modules/installation-osp-accessing-api-floating.adoc[leveloffset=+2] diff --git a/installing/installing_openstack/installing-openstack-installer-restricted.adoc b/installing/installing_openstack/installing-openstack-installer-restricted.adoc index 89c5377757..65ea09447b 100644 --- a/installing/installing_openstack/installing-openstack-installer-restricted.adoc +++ b/installing/installing_openstack/installing-openstack-installer-restricted.adoc @@ -19,7 +19,6 @@ In {product-title} {product-version}, you can install a cluster on ==== Because the installation media is on the mirror host, you can use that computer to complete all installation steps. ==== -* Your network configuration does not rely on a provider network. Provider networks are not supported. * You have the metadata service enabled in {rh-openstack}. include::modules/installation-about-restricted-network.adoc[leveloffset=+1] diff --git a/installing/installing_openstack/installing-openstack-installer.adoc b/installing/installing_openstack/installing-openstack-installer.adoc index 7b2e6d20de..28e7452d0f 100644 --- a/installing/installing_openstack/installing-openstack-installer.adoc +++ b/installing/installing_openstack/installing-openstack-installer.adoc @@ -12,7 +12,6 @@ In {product-title} version {product-version}, you can install a cluster on * You reviewed details about the xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] processes. * You read the documentation on xref:../../installing/installing-preparing.adoc#installing-preparing[selecting a cluster installation method and preparing it for users]. -* Your network configuration does not rely on a provider network. Provider networks are not supported. * On {rh-openstack}, you have access to an external network that does not overlap these CIDR ranges: ** `10.0.0.0/16` ** `172.30.0.0/16` diff --git a/installing/installing_openstack/installing-openstack-user-kuryr.adoc b/installing/installing_openstack/installing-openstack-user-kuryr.adoc index c3d72a4c87..297668abe1 100644 --- a/installing/installing_openstack/installing-openstack-user-kuryr.adoc +++ b/installing/installing_openstack/installing-openstack-user-kuryr.adoc @@ -15,7 +15,6 @@ Using your own infrastructure allows you to integrate your cluster with existing * You reviewed details about the xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] processes. * You read the documentation on xref:../../installing/installing-preparing.adoc#installing-preparing[selecting a cluster installation method and preparing it for users]. * You verified that {product-title} {product-version} is compatible with your {rh-openstack} version by using the xref:../../architecture/architecture-installation.adoc#supported-platforms-for-openshift-clusters_architecture-installation[Supported platforms for OpenShift clusters] section. You can also compare platform support across different versions by viewing the link:https://access.redhat.com/articles/4679401[{product-title} on {rh-openstack} support matrix]. -* Your network configuration does not rely on a provider network. Provider networks are not supported. * You have an {rh-openstack} account where you want to install {product-title}. * On the machine from which you run the installation program, you have: ** A single directory in which you can keep the files you create during the installation process @@ -45,6 +44,17 @@ include::modules/installation-initializing.adoc[leveloffset=+1] include::modules/installation-configuration-parameters.adoc[leveloffset=+1] include::modules/installation-osp-custom-subnet.adoc[leveloffset=+2] include::modules/installation-osp-kuryr-config-yaml.adoc[leveloffset=+2] +include::modules/installation-osp-provider-networks.adoc[leveloffset=+2] +include::modules/installation-osp-provider-network-preparation.adoc[leveloffset=+3] +include::modules/installation-osp-deploying-provider-networks-installer.adoc[leveloffset=+3] + +[TIP] +==== +You can add additional networks, including provider networks, to the `platform.openstack.additionalNetworkIDs` list. + +After you deploy your cluster, you can attach pods to additional networks. For more information, see xref:../../networking/multiple_networks/understanding-multiple-networks.adoc#understanding-multiple-networks[Understanding multiple networks]. +==== + include::modules/installation-osp-fixing-subnet.adoc[leveloffset=+2] include::modules/installation-osp-emptying-worker-pools.adoc[leveloffset=+2] include::modules/installation-osp-modifying-networktype.adoc[leveloffset=+2] diff --git a/installing/installing_openstack/installing-openstack-user.adoc b/installing/installing_openstack/installing-openstack-user.adoc index b556d5a585..ac8b72da52 100644 --- a/installing/installing_openstack/installing-openstack-user.adoc +++ b/installing/installing_openstack/installing-openstack-user.adoc @@ -15,7 +15,6 @@ Using your own infrastructure allows you to integrate your cluster with existing * You reviewed details about the xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] processes. * You read the documentation on xref:../../installing/installing-preparing.adoc#installing-preparing[selecting a cluster installation method and preparing it for users]. * You verified that {product-title} {product-version} is compatible with your {rh-openstack} version by using the xref:../../architecture/architecture-installation.adoc#supported-platforms-for-openshift-clusters_architecture-installation[Supported platforms for OpenShift clusters] section. You can also compare platform support across different versions by viewing the link:https://access.redhat.com/articles/4679401[{product-title} on {rh-openstack} support matrix]. -* Your network configuration does not rely on a provider network. Provider networks are not supported. * You have an {rh-openstack} account where you want to install {product-title}. * On the machine from which you run the installation program, you have: ** A single directory in which you can keep the files you create during the installation process @@ -42,6 +41,17 @@ include::modules/installation-osp-custom-subnet.adoc[leveloffset=+2] include::modules/installation-osp-config-yaml.adoc[leveloffset=+2] include::modules/installation-osp-fixing-subnet.adoc[leveloffset=+2] include::modules/installation-osp-emptying-worker-pools.adoc[leveloffset=+2] +include::modules/installation-osp-provider-networks.adoc[leveloffset=+2] +include::modules/installation-osp-provider-network-preparation.adoc[leveloffset=+3] +include::modules/installation-osp-deploying-provider-networks-installer.adoc[leveloffset=+3] + +[TIP] +==== +You can add additional networks, including provider networks, to the `platform.openstack.additionalNetworkIDs` list. + +After you deploy your cluster, you can attach pods to additional networks. For more information, see xref:../../networking/multiple_networks/understanding-multiple-networks.adoc#understanding-multiple-networks[Understanding multiple networks]. +==== + include::modules/installation-user-infra-generate-k8s-manifest-ignition.adoc[leveloffset=+1] include::modules/installation-osp-converting-ignition-resources.adoc[leveloffset=+1] include::modules/installation-osp-creating-control-plane-ignition.adoc[leveloffset=+1] diff --git a/modules/installation-osp-deploying-provider-networks-installer.adoc b/modules/installation-osp-deploying-provider-networks-installer.adoc new file mode 100644 index 0000000000..acc5289067 --- /dev/null +++ b/modules/installation-osp-deploying-provider-networks-installer.adoc @@ -0,0 +1,49 @@ +// Module included in the following assemblies: +// +// * installing/installing_openstack/installing-openstack-installer-custom.adoc +// * installing/installing_openstack/installing-openstack-installer-kuryr.adoc +// * installing/installing_openstack/installing-openstack-user-kuryr.adoc +// * installing/installing_openstack/installing-openstack-user.adoc + +[id="installation-osp-deploying-provider-networks-installer_{context}"] += Deploying a cluster that has a primary interface on a provider network + +You can deploy an {product-title} cluster that has its primary network interface on an {rh-openstack-first} provider network. +.Prerequisites + +* Your {rh-openstack-first} deployment is configured as described by "{rh-openstack} provider network requirements for cluster installation". + +.Procedure + +. In a text editor, open the `install-config.yaml` file. +. Set the value of the `platform.openstack.apiVIP` property to the IP address for the API VIP. +. Set the value of the `platform.openstack.ingressVIP` property to the IP address for the Ingress VIP. +. Set the value of the `platform.openstack.machinesSubnet` property to the UUID of the provider network subnet. +. Set the value of the `networking.machineNetwork.cidr` property to the CIDR block of the provider network subnet. + +[IMPORTANT] +==== +The `platform.openstack.apiVIP` and `platform.openstack.ingressVIP` properties must both be unassigned IP addresses from the `networking.machineNetwork.cidr` block. +==== + +.Section of an installation configuration file for a cluster that relies on a {rh-openstack} provider network +[source,yaml] +---- + ... + platform: + openstack: + apiVIP: 192.0.2.13 + ingressVIP: 192.0.2.23 + machinesSubnet: fa806b2f-ac49-4bce-b9db-124bc64209bf + (...) + networking: + machineNetwork: + - cidr: 192.0.2.0/24 +---- + +[WARNING] +==== +You cannot set the `platform.openstack.externalNetwork` or `platform.openstack.externalDNS` parameters while using a provider network for the primary network interface. +==== + +When you deploy the cluster, the installer uses the `install-config.yaml` file to deploy the cluster on the provider network. diff --git a/modules/installation-osp-provider-network-preparation.adoc b/modules/installation-osp-provider-network-preparation.adoc new file mode 100644 index 0000000000..678dbc2a64 --- /dev/null +++ b/modules/installation-osp-provider-network-preparation.adoc @@ -0,0 +1,56 @@ +// Module included in the following assemblies: +// +// * installing/installing_openstack/installing-openstack-installer-custom.adoc +// * installing/installing_openstack/installing-openstack-installer-kuryr.adoc +// * installing/installing_openstack/installing-openstack-user-kuryr.adoc +// * installing/installing_openstack/installing-openstack-user.adoc + +[id="installation-osp-provider-network-preparation_{context}"] += {rh-openstack} provider network requirements for cluster installation + +Before you install an {product-title} cluster, your {rh-openstack-first} deployment and provider network must meet a number of conditions: + +* The link:https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html/networking_guide/networking-concepts_networking-concepts#install-networking_networking-concepts[{rh-openstack} networking service (Neutron) is enabled] and accessible through the {rh-openstack} networking API. +* The {rh-openstack} networking service has the link:https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html/networking_guide/config-allowed-address-pairs_config-allowed-address-pairs#overview-allow-addr-pairs_config-allowed-address-pairs[port security and allowed address pairs extensions enabled]. +* The provider network can be shared with other tenants. ++ +[TIP] +==== +Use the `openstack network create` command with the `--share` flag to create a network that can be shared. +==== +* The {rh-openstack} project that you use to install the cluster must own the provider network, as well as an appropriate subnet. ++ +[TIP] +==== +To create a network for a project that is named "openshift," enter the following command:: +[source,terminal] +---- +$ openstack network create --project openshift +---- + +To create a subnet for a project that is named "openshift," enter the following command:: +[source,terminal] +---- +$ openstack subnet create --project openshift +---- + +To learn more about creating networks on {rh-openstack}, read link:https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html/networking_guide/networking-concepts_networking-concepts#tenant-provider-networks_networking-concepts[the provider networks documentation]. +==== ++ +If the cluster is owned by the `admin` user, you must run the installer as that user to create ports on the network. ++ +[IMPORTANT] +==== +Provider networks must be owned by the {rh-openstack} project that is used to create the cluster. If they are not, the {rh-openstack} Compute service (Nova) cannot request a port from that network. +==== + +* Verify that the provider network can reach the {rh-openstack} metadata service IP address, which is `169.254.169.254` by default. ++ +Depending on your {rh-openstack} SDN and networking service configuration, you might need to create provide the route when you create the subnet. For example: ++ +[source,terminal] +---- +$ openstack subnet create --dhcp --host-route destination=169.254.169.254/32,gateway=192.0.2.2 ... +---- + +* Optional: To secure the network, create link:https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html/networking_guide/config-rbac-policies_config-rbac-policies[role-based access control (RBAC)] rules that limit network access to a single project. diff --git a/modules/installation-osp-provider-networks.adoc b/modules/installation-osp-provider-networks.adoc new file mode 100644 index 0000000000..409b40d2f5 --- /dev/null +++ b/modules/installation-osp-provider-networks.adoc @@ -0,0 +1,28 @@ +// Module included in the following assemblies: +// +// * installing/installing_openstack/installing-openstack-installer-custom.adoc +// * installing/installing_openstack/installing-openstack-installer-kuryr.adoc +// * installing/installing_openstack/installing-openstack-user-kuryr.adoc +// * installing/installing_openstack/installing-openstack-user.adoc + +[id="installation-osp-provider-networks_{context}"] += Cluster deployment on {rh-openstack} provider networks + +You can deploy your {product-title} clusters on {rh-openstack-first} with a primary network interface on a provider network. Provider networks are commonly used to give projects direct access to a public network that can be used to reach the Internet. You can also share provider networks among projects as part of the network creation process. + +{rh-openstack} provider networks map directly to an existing physical network in the data center. A {rh-openstack} administrator must create them. + +In the following example, {product-title} workloads are connected to a data center by using a provider network: + +image::openshift-on-openstack-provider-network.png[A diagram that depicts four OpenShift workloads on OpenStack. Each workload is connected by its NIC to an external data center by using a provider network.] + +{product-title} clusters that are installed on provider networks do not require tenant networks or floating IP addresses. The installer does not create these resources during installation. + +Example provider network types include flat (untagged) and VLAN (802.1Q tagged). + +[NOTE] +==== +A cluster can support as many provider network connections as the network type allows. For example, VLAN networks typically support up to 4096 connections. +==== + +You can learn more about provider and tenant networks in link:https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html/networking_guide/networking-concepts_networking-concepts#provider-networks_networking-concepts[the {rh-openstack} documentation].