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
6 changes: 6 additions & 0 deletions _topic_map.yml
Original file line number Diff line number Diff line change
Expand Up @@ -208,10 +208,16 @@ Topics:
File: installing-openstack-installer-custom
- Name: Installing a cluster on OpenStack with Kuryr
File: installing-openstack-installer-kuryr
- Name: Installing a cluster on OpenStack on your own infrastructure
File: installing-openstack-user
- Name: Installing a cluster on OpenStack with Kuryr on your own infrastructure
File: installing-openstack-user-kuryr
# - Name: Load balancing deployments on OpenStack
# File: installing-openstack-load-balancing
- Name: Uninstalling a cluster on OpenStack
File: uninstalling-cluster-openstack
- Name: Uninstalling a cluster on OpenStack from your own infrastructure
File: uninstalling-openstack-user
- Name: Installing on vSphere
Dir: installing_vsphere
Topics:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ In {product-title} version {product-version}, you can install a customized clust
* Review details about the
xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update]
processes.
** Verify that {product-title} {product-version} is compatible with your {rh-openstack} version in the _Available platforms_ 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].

* Have a storage service installed in {rh-openstack}, like 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].

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ In {product-title} version {product-version}, you can install a customized clust
* Review details about the
xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update]
processes.
** Verify that {product-title} {product-version} is compatible with your {rh-openstack} version in the _Available platforms_ 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].

* Have a storage service installed in {rh-openstack}, like 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].

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
[id="installing-openstack-user-kuryr"]
= Installing a cluster on OpenStack with Kuryr on your own infrastructure
include::modules/common-attributes.adoc[]
:context: installing-openstack-user-kuryr

toc::[]

In {product-title} version {product-version}, you can install a cluster on
{rh-openstack-first} that runs on user-provisioned infrastructure.

Using your own infrastructure allows you to integrate your cluster with existing infrastructure and modifications. The process requires more labor on your part than installer-provisioned installations, because you must create all {rh-openstack} resources, like Nova servers, Neutron ports, and security groups. However, Red Hat provides Ansible playbooks to help you in the deployment process.

.Prerequisites

* Review details about the
xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] processes.

* Have an {rh-openstack} account where you want to install {product-title}

* On the machine from which you run the installation program, have:
** A single directory in which you can keep the files you create during the installation process
** Python 3

include::modules/installation-osp-about-kuryr.adoc[leveloffset=+1]
include::modules/installation-osp-default-kuryr-deployment.adoc[leveloffset=+1]
include::modules/installation-osp-kuryr-increase-quota.adoc[leveloffset=+2]
include::modules/installation-osp-kuryr-neutron-configuration.adoc[leveloffset=+2]
include::modules/installation-osp-kuryr-octavia-configuration.adoc[leveloffset=+2]
include::modules/installation-osp-kuryr-known-limitations.adoc[leveloffset=+2]
include::modules/installation-osp-control-compute-machines.adoc[leveloffset=+2]
include::modules/installation-osp-bootstrap-machine.adoc[leveloffset=+2]
include::modules/cluster-entitlements.adoc[leveloffset=+1]
include::modules/installation-osp-downloading-modules.adoc[leveloffset=+1]
include::modules/installation-obtaining-installer.adoc[leveloffset=+1]
include::modules/ssh-agent-using.adoc[leveloffset=+1]
// include::modules/installation-osp-enabling-swift.adoc[leveloffset=+1]
include::modules/installation-osp-creating-image.adoc[leveloffset=+1]
include::modules/installation-osp-verifying-external-network.adoc[leveloffset=+1]
include::modules/installation-osp-accessing-api.adoc[leveloffset=+1]
include::modules/installation-osp-accessing-api-floating.adoc[leveloffset=+2]
include::modules/installation-osp-describing-cloud-parameters.adoc[leveloffset=+1]
include::modules/installation-user-infra-generate.adoc[leveloffset=+1]
include::modules/installation-initializing.adoc[leveloffset=+1]
include::modules/installation-configuration-parameters.adoc[leveloffset=+1]
include::modules/installation-osp-kuryr-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-modifying-networktype.adoc[leveloffset=+2]
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]
include::modules/installation-osp-creating-network-resources.adoc[leveloffset=+1]
include::modules/installation-osp-creating-bootstrap-machine.adoc[leveloffset=+1]
include::modules/installation-osp-creating-control-plane.adoc[leveloffset=+1]
include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1]
include::modules/installation-osp-deleting-bootstrap-resources.adoc[leveloffset=+1]
include::modules/installation-osp-creating-compute-machines.adoc[leveloffset=+1]
include::modules/installation-approve-csrs.adoc[leveloffset=+1]
include::modules/installation-osp-verifying-installation.adoc[leveloffset=+1]
include::modules/installation-osp-configuring-floating-ip.adoc[leveloffset=+1]

.Next steps

* xref:../../installing/install_config/customizations.adoc#customizations[Customize your cluster].
* If necessary, you can
xref:../../support/remote_health_monitoring/opting-out-of-remote-health-reporting.adoc#opting-out-remote-health-reporting_opting-out-remote-health-reporting[opt out of remote health reporting].
60 changes: 60 additions & 0 deletions installing/installing_openstack/installing-openstack-user.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
[id="installing-openstack-user"]
= Installing a cluster on OpenStack on your own infrastructure
include::modules/common-attributes.adoc[]
:context: installing-openstack-user

toc::[]

In {product-title} version {product-version}, you can install a cluster on
{rh-openstack-first} that runs on user-provisioned infrastructure.

Using your own infrastructure allows you to integrate your cluster with existing infrastructure and modifications. The process requires more labor on your part than installer-provisioned installations, because you must create all {rh-openstack} resources, like Nova servers, Neutron ports, and security groups. However, Red Hat provides Ansible playbooks to help you in the deployment process.

.Prerequisites

* Review details about the
xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] processes.

* Have an {rh-openstack} account where you want to install {product-title}

* On the machine from which you run the installation program, have:
** A single directory in which you can keep the files you create during the installation process
** Python 3

include::modules/cluster-entitlements.adoc[leveloffset=+1]
include::modules/installation-osp-default-deployment.adoc[leveloffset=+1]
include::modules/installation-osp-control-compute-machines.adoc[leveloffset=+2]
include::modules/installation-osp-bootstrap-machine.adoc[leveloffset=+2]
include::modules/installation-osp-downloading-modules.adoc[leveloffset=+1]
include::modules/installation-obtaining-installer.adoc[leveloffset=+1]
include::modules/ssh-agent-using.adoc[leveloffset=+1]
// include::modules/installation-osp-enabling-swift.adoc[leveloffset=+1]
include::modules/installation-osp-creating-image.adoc[leveloffset=+1]
include::modules/installation-osp-verifying-external-network.adoc[leveloffset=+1]
include::modules/installation-osp-accessing-api.adoc[leveloffset=+1]
include::modules/installation-osp-accessing-api-floating.adoc[leveloffset=+2]
include::modules/installation-osp-describing-cloud-parameters.adoc[leveloffset=+1]
include::modules/installation-user-infra-generate.adoc[leveloffset=+1]
include::modules/installation-initializing.adoc[leveloffset=+1]
include::modules/installation-configuration-parameters.adoc[leveloffset=+1]
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-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]
include::modules/installation-osp-creating-network-resources.adoc[leveloffset=+1]
include::modules/installation-osp-creating-bootstrap-machine.adoc[leveloffset=+1]
include::modules/installation-osp-creating-control-plane.adoc[leveloffset=+1]
include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1]
include::modules/installation-osp-deleting-bootstrap-resources.adoc[leveloffset=+1]
include::modules/installation-osp-creating-compute-machines.adoc[leveloffset=+1]
include::modules/installation-approve-csrs.adoc[leveloffset=+1]
include::modules/installation-osp-verifying-installation.adoc[leveloffset=+1]
include::modules/installation-osp-configuring-floating-ip.adoc[leveloffset=+1]

.Next steps

* xref:../../installing/install_config/customizations.adoc#customizations[Customize your cluster].
* If necessary, you can
xref:../../support/remote_health_monitoring/opting-out-of-remote-health-reporting.adoc#opting-out-remote-health-reporting_opting-out-remote-health-reporting[opt out of remote health reporting].
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[id="uninstalling-cluster-osp"]
[id="uninstalling-cluster-openstack"]
= Uninstalling a cluster on OpenStack
include::modules/common-attributes.adoc[]
:context: uninstall-cluster-openstack
:context: uninstalling-cluster-openstack

toc::[]

Expand Down
18 changes: 18 additions & 0 deletions installing/installing_openstack/uninstalling-openstack-user.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[id="uninstalling-openstack-user"]
= Uninstalling a cluster on OpenStack from your own infrastructure
include::modules/common-attributes.adoc[]
:context: uninstalling-openstack-user

toc::[]

You can remove a cluster that you deployed to {rh-openstack-first} on user-provisioned infrastructure.

.Prerequisites

* Have on your machine
** A single directory in which you can create files to help you with the removal process
** Python 3

// include::modules/installation-uninstall-clouds.adoc[leveloffset=+1]
include::modules/installation-osp-downloading-modules.adoc[leveloffset=+1]
include::modules/installation-uninstall-infra.adoc[leveloffset=+1]
6 changes: 1 addition & 5 deletions modules/installation-configuration-parameters.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ endif::osp[]
|`platform.<platform>.region`
|The region to deploy your cluster in.
|A valid region for your cloud, such as `us-east-1` for AWS, `centralus`
for Azure, or `region1` for {rh-openstack-first}.
for Azure. {rh-openstack-first} does not use this parameter.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an interesting design decision. I think we should talk about the larger ramifications of this decision when we discuss the install TOC.


|`pullSecret`
|The pull secret that you obtained from the
Expand Down Expand Up @@ -274,10 +274,6 @@ ifdef::osp[]
|For control plane machines, the root volume's type.
|String, for example `performance`.

|`platform.openstack.region`
|The region where the {rh-openstack} cluster is created.
|String, for example `region1`.

|`platform.openstack.cloud`
|The name of the {rh-openstack} cloud to use from the list of clouds in the
`clouds.yaml` file.
Expand Down
21 changes: 20 additions & 1 deletion modules/installation-initializing.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
// * installing/installing_gcp/installing-restricted-networks-gcp.adoc
// * installing/installing_openstack/installing-openstack-installer-custom.adoc
// * installing/installing_openstack/installing-openstack-installer-kuryr.adoc
// * installing/installing_openstack/installing-openstack-installer-user.adoc
// Consider also adding the installation-configuration-parameters.adoc module.
//YOU MUST SET AN IFEVAL FOR EACH NEW MODULE

Expand Down Expand Up @@ -62,6 +63,14 @@ endif::[]
ifeval::["{context}" == "installing-openstack-installer-kuryr"]
:osp:
endif::[]
ifeval::["{context}" == "installing-openstack-user"]
:osp:
:osp-user:
endif::[]
ifeval::["{context}" == "installing-openstack-user-kuryr"]
:osp:
:osp-user:
endif::[]

[id="installation-initializing_{context}"]
= Creating the installation configuration file
Expand Down Expand Up @@ -149,7 +158,7 @@ endif::gcp[]
ifdef::osp[]
... Select *openstack* as the platform to target.
... Specify the {rh-openstack-first} external network name to use for installing the cluster.
... Specify the Floating IP address to use for external access to the OpenShift API.
... Specify the floating IP address to use for external access to the OpenShift API.
... Specify a {rh-openstack} flavor with at least 16 GB RAM to use for control plane
and compute nodes.
... Select the base domain to deploy the cluster to. All DNS records will be
Expand Down Expand Up @@ -208,6 +217,8 @@ The `install-config.yaml` file is consumed during the installation process. If
you want to reuse the file, you must back it up now.
====

ifdef::osp-user[You now have the file `install-config.yaml` in the directory that you specified.]

ifeval::["{context}" == "installing-aws-customizations"]
:!aws:
endif::[]
Expand Down Expand Up @@ -247,3 +258,11 @@ endif::[]
ifeval::["{context}" == "installing-openstack-installer-kuryr"]
:!osp:
endif::[]
ifeval::["{context}" == "installing-openstack-user"]
:!osp:
:!osp-user:
endif::[]
ifeval::["{context}" == "installing-openstack-user-kuryr"]
:!osp:
:!osp-user:
endif::[]
20 changes: 14 additions & 6 deletions modules/installation-osp-accessing-api-floating.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,36 @@
// * installing/installing_openstack/installing-openstack-installer.adoc
// * installing/installing_openstack/installing-openstack-installer-custom.adoc
// * installing/installing_openstack/installing-openstack-installer-kuryr.adoc
// * installing/installing_openstack/installing-openstack-user.adoc

[id="installation-osp-accessing-api-floating_{context}"]
= Enabling access with floating IP addresses

Make {product-title} API endpoints accessible by attaching two floating IP (FIP) addresses to them: one for the API load balancer (`lb FIP`), and one for {product-title} applications (`apps FIP`).
Create two floating IP (FIP) addresses: one for external access to the {product-title} API, the `API FIP`, and one for {product-title} applications, the `apps FIP`.

[IMPORTANT]
The load balancer FIP is also used in the `install-config.yaml` file.
The API FIP is also used in the `install-config.yaml` file.

.Procedure

. Using the {rh-openstack-first} CLI, create a new external network:
. Using the {rh-openstack-first} CLI, create the API FIP:
+
----
$ openstack floating ip create <external network>
$ openstack floating ip create --description "API <cluster_name>.<base_domain>" <external network>
----

. Add a record that follows this pattern to your DNS server:
. Using the {rh-openstack-first} CLI, create the apps, or Ingress, FIP:
+
----
$ openstack floating ip create --description "Ingress <cluster_name>.<base_domain>" <external network>
----

. To reflect the new FIPs, add records that follow these patterns to your DNS server:
+
[source,dns]
----
api.<cluster name>.<base domain> IN A <lb FIP>
api.<cluster_name>.<base_domain>. IN A <API_FIP>
*.apps.<cluster_name>.<base_domain>. IN A <apps_FIP>
----
+
[NOTE]
Expand Down
2 changes: 1 addition & 1 deletion modules/installation-osp-accessing-api-no-floating.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@

If you cannot use floating IP addresses, the {product-title} installation might still finish. However, the installation program fails after it times out waiting for API access.

After the installation program times out, the cluster might still initialize. After the bootstrapping processing begins, it must complete. You must edit the cluster's networking configuration after it is deployed, however.
After the installation program times out, the cluster might still initialize. After the bootstrapping processing begins, it must complete. You must edit the cluster's networking configuration after it is deployed.
20 changes: 19 additions & 1 deletion modules/installation-osp-accessing-api.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,28 @@
// * installing/installing_openstack/installing-openstack-installer.adoc
// * installing/installing_openstack/installing-openstack-installer-custom.adoc
// * installing/installing_openstack/installing-openstack-installer-kuryr.adoc
// * installing/installing_openstack/installing-openstack-user.adoc
// * installing/installing_openstack/installing-openstack-user-kuryr.adoc

ifeval::["{context}" == "installing-openstack-user"]
:osp-user:
endif::[]
ifeval::["{context}" == "installing-openstack-user-kuryr"]
:osp-user:
endif::[]

[id="installation-osp-accessing-api_{context}"]
= Enabling access to the environment

At deployment, all {product-title} machines are created in a {rh-openstack-first}-tenant network. Therefore, they are not accessible directly in most {rh-openstack} deployments.

You can configure the {product-title} API to be accessible either with or without floating IP addresses.
You can configure the {product-title} API and applications that run on the cluster to be accessible
ifdef::osp-user[by using floating IP addresses.]
ifndef::osp-user[with or without floating IP addresses.]

ifeval::["{context}" == "installing-openstack-user"]
:!osp-user:
endif::[]
ifeval::["{context}" == "installing-openstack-user-kuryr"]
:!osp-user:
endif::[]
10 changes: 1 addition & 9 deletions modules/installation-osp-bootstrap-machine.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,4 @@ The bootstrap machine requires:

* An instance from the {rh-openstack} quota
* A port from the {rh-openstack} quota
* A flavor with at least 16 GB memory, 4 vCPUs, and 25 GB storage space

[NOTE]
====
The installation program cannot pass certificate authority bundles to Ignition
on control plane machines. Therefore, the bootstrap machine cannot retrieve
Ignition configurations from Swift if your endpoint uses self-signed
certificates.
====
* A flavor with at least 16 GB memory, 4 vCPUs, and 25 GB storage space
1 change: 0 additions & 1 deletion modules/installation-osp-config-yaml.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ networking:
networkType: OpenShiftSDN
platform:
openstack:
region: region1
cloud: mycloud
externalNetwork: external
computeFlavor: m1.xlarge
Expand Down
4 changes: 2 additions & 2 deletions modules/installation-osp-control-compute-machines.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
[id="installation-osp-control-compute-machines_{context}"]
= Control plane and compute machines

By default, the {product-title} installation program stands up three control
plane and compute machines.
By default, the {product-title} installation process stands up three control
plane and three compute machines.

Each machine requires:

Expand Down
Loading