Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,34 @@ include::_attributes/common-attributes.adoc[]
toc::[]

[role="_abstract"]
In {product-title} version {product-version}, you can install a customized cluster on
{rh-openstack-first}. To customize the installation, modify parameters in the `install-config.yaml` before you install the cluster.
In {product-title} version {product-version}, you can install a customized cluster on {rh-openstack-first}. To customize the installation, modify parameters in the `install-config.yaml` before you install the cluster.

== Prerequisites
Ensure that you meet the following prerequisites:

* 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/overview/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].
* 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/optimization/optimizing-storage.adoc#optimizing-storage[Optimizing storage].
* You understand performance and scalability practices for cluster scaling, control plane sizing, and etcd. For more information, see xref:../../scalability_and_performance/recommended-performance-scale-practices/recommended-control-plane-practices.adoc#recommended-host-practices[Recommended practices for scaling the cluster].
* You reviewed details about the {product-title} installation and update processes.
* You read the documentation on 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 supported platforms for {product-title} clusters section. You can also compare platform support across different versions by viewing the {product-title} on {rh-openstack} support matrix.
* 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 "Optimizing storage".
* You understand performance and scalability practices for cluster scaling, control plane sizing, and etcd. For more information, see "Recommended practices for scaling the cluster".
* You have the metadata service enabled in {rh-openstack}.

You can complete the following configurations after you install a cluster on {rh-openstack} with customizations:

* Customize your cluster.
* Enable remote health reporting.
* Configure ingress cluster traffic by using a node port.
* If you did not configure {rh-openstack} to accept application traffic over floating IP addresses, configure {rh-openstack} access with floating IP addresses.

[role="_additional-resources"]
.Additional resources

* xref:../../architecture/architecture-installation.adoc#architecture-installation[Installation and update]
* xref:../../installing/overview/installing-preparing.adoc#installing-preparing[Selecting a cluster installation method and preparing it for users]
* xref:../../architecture/architecture-installation.adoc#supported-platforms-for-openshift-clusters_architecture-installation[Supported platforms for {product-title} clusters]
* link:https://access.redhat.com/articles/4679401[{product-title} on {rh-openstack} support matrix (Red Hat Knowledgebase)]
* xref:../../scalability_and_performance/optimization/optimizing-storage.adoc#optimizing-storage[Optimizing storage]
* xref:../../scalability_and_performance/recommended-performance-scale-practices/recommended-control-plane-practices.adoc#recommended-host-practices[Recommended practices for scaling the cluster]

include::modules/installation-osp-default-deployment.adoc[leveloffset=+1]

include::modules/installation-osp-control-compute-machines.adoc[leveloffset=+2]
Expand Down Expand Up @@ -49,7 +65,8 @@ include::modules/installation-initializing.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources
* xref:../../installing/installing_openstack/installation-config-parameters-openstack.adoc#installation-config-parameters-openstack[Installation configuration parameters for OpenStack]

* xref:../../installing/installing_openstack/installation-config-parameters-openstack.adoc#installation-config-parameters-openstack[Installation configuration parameters for {rh-openstack}]

include::modules/installation-configure-proxy.adoc[leveloffset=+2]

Expand All @@ -63,17 +80,13 @@ include::modules/installation-osp-provider-network-preparation.adoc[leveloffset=

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.
[role="_additional-resources"]
.Additional resources

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].
====
* xref:../../networking/multiple_networks/understanding-multiple-networks.adoc#understanding-multiple-networks[Understanding multiple networks]

include::modules/installation-osp-config-yaml.adoc[leveloffset=+2]


//Dual-stack networking
include::modules/install-osp-dualstack.adoc[leveloffset=+2]

include::modules/install-osp-deploy-dualstack.adoc[leveloffset=+3]
Expand All @@ -82,7 +95,8 @@ include::modules/installation-configuring-shiftstack-single-ipv6.adoc[leveloffse

[role="_additional-resources"]
.Additional resources
* See xref:../../disconnected/installing-mirroring-creating-registry.adoc#installing-mirroring-creating-registry[Creating a mirror registry with mirror registry for Red Hat OpenShift]

* xref:../../disconnected/installing-mirroring-creating-registry.adoc#installing-mirroring-creating-registry[Creating a mirror registry with mirror registry for Red Hat OpenShift]

include::modules/installation-osp-external-lb-config.adoc[leveloffset=+2]

Expand All @@ -104,20 +118,20 @@ include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1]
[role="_additional-resources"]
.Additional resources

* See xref:../../web_console/web-console.adoc#web-console[Accessing the web console] for more details about accessing and understanding the {product-title} web console.
* xref:../../web_console/web-console.adoc#web-console[Accessing the web console]

include::modules/cluster-telemetry.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* See xref:../../support/remote_health_monitoring/about-remote-health-monitoring.adoc#about-remote-health-monitoring[About remote health monitoring] for more information about the Telemetry service
* xref:../../support/remote_health_monitoring/about-remote-health-monitoring.adoc#about-remote-health-monitoring[About remote health monitoring]

[id="next-steps_{context}"]
== Next steps
[role="_additional-resources"]
[id="additional-resources_{context}"]
== Additional resources

* xref:../../post_installation_configuration/cluster-tasks.adoc#available_cluster_customizations[Customize your cluster].
* If necessary, you can
xref:../../support/remote_health_monitoring/remote-health-reporting.adoc#remote-health-reporting[Remote health reporting].
* If you need to enable external access to node ports, xref:../../networking/ingress_load_balancing/configuring_ingress_cluster_traffic/configuring-ingress-cluster-traffic-nodeport.adoc#nw-using-nodeport_configuring-ingress-cluster-traffic-nodeport[configure ingress cluster traffic by using a node port].
* If you did not configure {rh-openstack} to accept application traffic over floating IP addresses, xref:../../installing/installing_openstack/installing-openstack-network-config.adoc#installation-osp-configuring-api-floating-ip_installing-openstack-network-config[configure {rh-openstack} access with floating IP addresses].
* xref:../../post_installation_configuration/cluster-tasks.adoc#available_cluster_customizations[Postinstallation cluster tasks]
* xref:../../support/remote_health_monitoring/remote-health-reporting.adoc#remote-health-reporting[Remote health reporting]
* xref:../../networking/ingress_load_balancing/configuring_ingress_cluster_traffic/configuring-ingress-cluster-traffic-nodeport.adoc#nw-using-nodeport_configuring-ingress-cluster-traffic-nodeport[Configuring ingress cluster traffic by using a NodePort]
* xref:../../installing/installing_openstack/installing-openstack-network-config.adoc#installation-osp-configuring-api-floating-ip_installing-openstack-network-config[Configuring network settings after installing {rh-openstack}]
38 changes: 19 additions & 19 deletions modules/install-osp-deploy-dualstack.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -105,41 +105,41 @@ controlPlane:
metadata:
name: mycluster
networking:
machineNetwork: <1>
machineNetwork:
- cidr: "fd2e:6f44:5dd8:c956::/64"
- cidr: "192.168.25.0/24"
clusterNetwork: <1>
clusterNetwork:
- cidr: fd01::/48
hostPrefix: 64
- cidr: 10.128.0.0/14
hostPrefix: 23
serviceNetwork: <1>
serviceNetwork:
- fd02::/112
- 172.30.0.0/16
platform:
openstack:
ingressVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fef1:1bad', '192.168.25.79'] <2>
apiVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fe78:cf36', '192.168.25.199'] <3>
controlPlanePort: <4>
fixedIPs: <5>
- subnet: <6>
ingressVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fef1:1bad', '192.168.25.79']
apiVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fe78:cf36', '192.168.25.199']
controlPlanePort:
fixedIPs:
- subnet:
name: subnet-v6
id: subnet-v6-id
- subnet: <6>
- subnet:
name: subnet-v4
id: subnet-v4-id
network: <7>
network:
name: dualstack
id: network-id
----
<1> You must specify an IP address range for both the IPv4 and IPv6 address families.
<2> Specify the virtual IP (VIP) address endpoints for the Ingress VIP services to provide an interface to the cluster.
<3> Specify the virtual IP (VIP) address endpoints for the API VIP services to provide an interface to the cluster.
<4> Specify the dual-stack network details that are used by all the nodes across the cluster.
<5> The CIDR of any subnet specified in this field must match the CIDRs listed on `networks.machineNetwork`.
<6> You can specify a value for either `name` or `id`, or both.
<7> Specifying the `network` under the `ControlPlanePort` field is optional.

* `networking.machineNetwork`, `networking.clusterNetwork`, and `networking.serviceNetwork` specify IP address ranges for both the IPv4 and IPv6 address families.
* `platform.openstack.ingressVIPs` specifies the virtual IP (VIP) address endpoints for the Ingress VIP services to give an interface to the cluster.
* `platform.openstack.apiVIPs` specifies the virtual IP (VIP) address endpoints for the API VIP services to give an interface to the cluster.
* `platform.openstack.controlPlanePort` specifies the dual-stack network details that all the nodes across the cluster use.
* `platform.openstack.controlPlanePort.fixedIPs` specifies the subnets for the control plane port. The CIDR of any subnet specified in this field must match the CIDRs listed on `networking.machineNetwork`.
* `platform.openstack.controlPlanePort.fixedIPs[].subnet` specifies each subnet. You can specify a value for either `name` or `id`, or both.
* `platform.openstack.controlPlanePort.network` specifies the network. Specifying the `network` under the `controlPlanePort` field is optional.
+
[NOTE]
====
When using an installation host in an isolated dual-stack network, the IPv6 address may not be reassigned correctly upon reboot.
Expand All @@ -165,7 +165,7 @@ ipv6.addr-gen-mode=0

After you create and edit the file, reboot the installation host.
====

+
[NOTE]
====
The `ip=dhcp,dhcp6` kernel argument, which is set on all of the nodes, results in a single Network Manager connection profile that is activated on multiple interfaces simultaneously.
Expand Down
2 changes: 1 addition & 1 deletion modules/install-osp-dualstack.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Module included in the following assemblies:
//
// * installing/installing_openstack/installing-openstack-installer-custom.adoc

:_mod-docs-content-type: CONCEPT
[id="install-osp-dualstack_{context}"]
= Configuring a cluster with dual-stack networking
Expand All @@ -13,4 +14,3 @@ You can create a dual-stack cluster on {rh-openstack}. However, the dual-stack c
====
{rh-openstack} does not support the conversion of an IPv4 single-stack cluster to a dual-stack cluster network.
====

3 changes: 1 addition & 2 deletions modules/installation-osp-bootstrap-machine.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
= Bootstrap machine

[role="_abstract"]
During installation, a bootstrap machine is temporarily provisioned to stand up the
control plane. After the production control plane is ready, the bootstrap
During installation, a bootstrap machine is temporarily provisioned to stand up the control plane. After the production control plane is ready, the bootstrap
machine is deprovisioned.

The bootstrap machine requires:
Expand Down
3 changes: 2 additions & 1 deletion modules/installation-osp-config-yaml.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
[id="installation-osp-config-yaml_{context}"]
= Sample customized install-config.yaml file for {rh-openstack}

The following example `install-config.yaml` files demonstrate all of the possible {rh-openstack-first} customization options.
[role="_abstract"]
The example `install-config.yaml` files demonstrate all of the possible {rh-openstack-first} customization options.

[IMPORTANT]
This sample file is provided for reference only. You must obtain your `install-config.yaml` file by using the installation program.
Expand Down
4 changes: 2 additions & 2 deletions modules/installation-osp-default-deployment.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ To support an {product-title} installation, your {rh-openstack-first} quota must
|Server groups | 2 - plus 1 for each additional availability zone in each machine pool
|======================================

A cluster might function with fewer than recommended resources, but its performance is not guaranteed.
A cluster might function with fewer than recommended resources, but cluster performance is not guaranteed.

[IMPORTANT]
====
If {rh-openstack} object storage (Swift) is available and operated by a user account with the `swiftoperator` role, it is used as the default backend for the {product-title} image registry. In this case, the volume storage requirement is 175 GB. Swift space requirements vary depending on the size of the image registry.
If {rh-openstack} object storage (Swift) is available and operated by a user account with the `swiftoperator` role, Swift is used as the default backend for the {product-title} image registry. In this case, the volume storage requirement is 175 GB. Swift space requirements vary depending on the size of the image registry.
====

[NOTE]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,47 +7,59 @@
[id="installation-osp-deploying-provider-networks-installer_{context}"]
= Deploying a cluster that has a primary interface on a provider network

[role="_abstract"]
You can deploy an {product-title} cluster that has its primary network interface on an {rh-openstack-first} provider network.

[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 "Understanding multiple networks".
====

.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.apiVIPs` property to the IP address for the API VIP.

. Set the value of the `platform.openstack.ingressVIPs` 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.

. Set the value of the `networking.machineNetwork.cidr` property to the CIDR block of the provider network subnet.
+
[IMPORTANT]
====
The `platform.openstack.apiVIPs` and `platform.openstack.ingressVIPs` 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:
apiVIPs: <1>
apiVIPs:
- 192.0.2.13
ingressVIPs: <1>
ingressVIPs:
- 192.0.2.23
machinesSubnet: fa806b2f-ac49-4bce-b9db-124bc64209bf
# ...
networking:
machineNetwork:
- cidr: 192.0.2.0/24
----

<1> In {product-title} 4.12 and later, the `apiVIP` and `ingressVIP` configuration settings are deprecated. Instead, use a list format to enter values in the `apiVIPs` and `ingressVIPs` configuration settings.

+
** In {product-title} 4.12 and later, the `apiVIP` and `ingressVIP` configuration settings are deprecated. Instead, use a list format to enter values in the `apiVIPs` and `ingressVIPs` configuration settings.
+
[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.
14 changes: 9 additions & 5 deletions modules/installation-osp-external-lb-config.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
[id="install-osp-external-lb-config_{context}"]
= Installation configuration for a cluster on OpenStack with a user-managed load balancer

The following example `install-config.yaml` file demonstrates how to configure a cluster that uses an external, user-managed load balancer rather than the default internal load balancer.
[role="_abstract"]
The example `install-config.yaml` file demonstrates how to configure a cluster that uses an external, user-managed load balancer rather than the default internal load balancer.

[source,yaml]
----
Expand Down Expand Up @@ -31,14 +32,17 @@ networking:
platform:
openstack:
cloud: mycloud
machinesSubnet: 8586bf1a-cc3c-4d40-bdf6-c243decc603a <1>
machinesSubnet: 8586bf1a-cc3c-4d40-bdf6-c243decc603a
apiVIPs:
- 192.168.10.5
ingressVIPs:
- 192.168.10.7
loadBalancer:
type: UserManaged <2>
type: UserManaged

----
<1> Regardless of which load balancer you use, the load balancer is deployed to this subnet.
<2> The `UserManaged` value indicates that you are using an user-managed load balancer.

where:

`platform.openstack.machineSubnet`:: Regardless of which load balancer you use, the load balancer is deployed to this subnet.
`platform.openstack.loadBalancer.type`:: Specifies the `UserManaged` value, which indicates that you are using a user-managed load balancer.
Loading