Skip to content
Open
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
22 changes: 14 additions & 8 deletions modules/ztp-acm-adding-images-to-mirror-registry.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[id="ztp-acm-adding-images-to-mirror-registry_{context}"]
= Adding {op-system} ISO and RootFS images to the disconnected mirror host

[role="_abstract"]
Before you begin installing clusters in the disconnected environment with {rh-rhacm-first}, you must first host {op-system-first} images for it to use. Use a disconnected mirror to host the {op-system} images.

.Prerequisites
Expand All @@ -26,21 +27,26 @@ The {op-system} images might not change with every release of {product-title}. Y
+
[source,terminal]
----
$ export ISO_IMAGE_NAME=<iso_image_name> <1>
$ export ISO_IMAGE_NAME=<iso_image_name>
----
+
[source,terminal]
----
$ export ROOTFS_IMAGE_NAME=<rootfs_image_name> <2>
$ export ROOTFS_IMAGE_NAME=<rootfs_image_name>
----
+
[source,terminal]
----
$ export OCP_VERSION=<ocp_version> <3>
$ export OCP_VERSION=<ocp_version>
----
<1> ISO image name, for example, `rhcos-{product-version}.1-x86_64-live.x86_64.iso`
<2> RootFS image name, for example, `rhcos-{product-version}.1-x86_64-live-rootfs.x86_64.img`
<3> {product-title} version, for example, `{product-version}.1`
+
where:
+
--
`<iso_image_name>`:: ISO image name, for example, `rhcos-{product-version}.1-x86_64-live.x86_64.iso`
`<rootfs_image_name>`:: RootFS image name, for example, `rhcos-{product-version}.1-x86_64-live-rootfs.x86_64.img`
`<ocp_version>`:: {product-title} version, for example, `{product-version}.1`
--

.. Download the required images:
+
Expand All @@ -54,7 +60,7 @@ $ sudo wget https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/{pr
$ sudo wget https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/{product-version}/${OCP_VERSION}/${ROOTFS_IMAGE_NAME} -O /var/www/html/${ROOTFS_IMAGE_NAME}
----

.Verification steps
.Verification

* Verify that the images downloaded successfully and are being served on the disconnected mirror host, for example:
+
Expand All @@ -63,7 +69,7 @@ $ sudo wget https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/{pr
$ wget http://$(hostname)/${ISO_IMAGE_NAME}
----
+
.Example output
Example output:
+
[source,terminal,subs="attributes+"]
----
Expand Down
1 change: 1 addition & 0 deletions modules/ztp-acm-installing-disconnected-rhacm.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
:_mod-docs-content-type: PROCEDURE
= Installing {ztp} in a disconnected environment

[role="_abstract"]
Use {rh-rhacm-first}, {gitops-title}, and {cgu-operator-first} on the hub cluster in the disconnected environment to manage the deployment of multiple managed clusters.

.Prerequisites
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[id="ztp-configuring-the-cluster-for-a-disconnected-environment_{context}"]
= Configuring the hub cluster to use a disconnected mirror registry

[role="_abstract"]
You can configure the hub cluster to use a disconnected mirror registry for a disconnected environment.

.Prerequisites
Expand All @@ -29,44 +30,49 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: assisted-installer-mirror-config
namespace: multicluster-engine <1>
namespace: multicluster-engine
labels:
app: assisted-service
data:
ca-bundle.crt: | <2>
ca-bundle.crt: |
-----BEGIN CERTIFICATE-----
<certificate_contents>
-----END CERTIFICATE-----

registries.conf: | <3>
registries.conf: |
unqualified-search-registries = ["registry.access.redhat.com", "docker.io"]

[[registry]]
prefix = ""
location = "quay.io/example-repository" <4>
location = "quay.io/example-repository"
mirror-by-digest-only = true

[[registry.mirror]]
location = "mirror1.registry.corp.com:5000/example-repository" <5>
location = "mirror1.registry.corp.com:5000/example-repository"
----
<1> The `ConfigMap` namespace must be set to `multicluster-engine`.
<2> The mirror registry’s certificate that is used when creating the mirror registry.
<3> The configuration file for the mirror registry. The mirror registry configuration adds mirror information to the `/etc/containers/registries.conf` file in the discovery image. The mirror information is stored in the `imageContentSources` section of the `install-config.yaml` file when the information is passed to the installation program. The Assisted Service pod that runs on the hub cluster fetches the container images from the configured mirror registry.
<4> The URL of the mirror registry. You must use the URL from the `imageContentSources` section by running the `oc adm release mirror` command when you configure the mirror registry. For more information, see the _Mirroring the OpenShift Container Platform image repository_ section.
<5> The registries defined in the `registries.conf` file must be scoped by repository, not by registry. In this example, both the `quay.io/example-repository` and the `mirror1.registry.corp.com:5000/example-repository` repositories are scoped by the `example-repository` repository.
+
where:
+
--
`namespace: multicluster-engine`:: The `ConfigMap` namespace must be set to `multicluster-engine`.
`ca-bundle.crt`:: The mirror registry's certificate that is used when creating the mirror registry.
`registries.conf`:: The configuration file for the mirror registry. The mirror registry configuration adds mirror information to the `/etc/containers/registries.conf` file in the discovery image. The mirror information is stored in the `imageContentSources` section of the `install-config.yaml` file when the information is passed to the installation program. The Assisted Service pod that runs on the hub cluster fetches the container images from the configured mirror registry.
`location = "quay.io/example-repository"`:: The URL of the mirror registry. You must use the URL from the `imageContentSources` section by running the `oc adm release mirror` command when you configure the mirror registry. For more information, see the _Mirroring the OpenShift Container Platform image repository_ section.
`location = "mirror1.registry.corp.com:5000/example-repository"`:: The registries defined in the `registries.conf` file must be scoped by repository, not by registry. In this example, both the `quay.io/example-repository` and the `mirror1.registry.corp.com:5000/example-repository` repositories are scoped by the `example-repository` repository.
--

+
This updates `mirrorRegistryRef` in the `AgentServiceConfig` custom resource, as shown below:
+
.Example output
Example output:
+
[source,yaml]
----
apiVersion: agent-install.openshift.io/v1beta1
kind: AgentServiceConfig
metadata:
name: agent
namespace: multicluster-engine <1>
namespace: multicluster-engine
spec:
databaseStorage:
volumeName: <db_pv_name>
Expand All @@ -83,16 +89,21 @@ spec:
requests:
storage: <fs_storage_size>
mirrorRegistryRef:
name: assisted-installer-mirror-config <2>
name: assisted-installer-mirror-config
osImages:
- openshiftVersion: <ocp_version> <3>
url: <iso_url> <4>
- openshiftVersion: <ocp_version>
url: <iso_url>
----
<1> Set the `AgentServiceConfig` namespace to `multicluster-engine` to match the `ConfigMap` namespace.
<2> Set `mirrorRegistryRef.name` to match the definition specified in the related `ConfigMap` CR.
<3> Set the {product-title} version to either the x.y or x.y.z format.
<4> Set the URL for the ISO hosted on the `httpd` server.

+
where:
+
--
`namespace: multicluster-engine`:: Set the `AgentServiceConfig` namespace to `multicluster-engine` to match the `ConfigMap` namespace.
`assisted-installer-mirror-config`:: Set `mirrorRegistryRef.name` to match the definition specified in the related `ConfigMap` CR.
`<ocp_version>`:: Set the {product-title} version to either the x.y or x.y.z format.
`<iso_url>`:: Set the URL for the ISO hosted on the `httpd` server.
--
+
[IMPORTANT]
====
A valid NTP server is required during cluster installation. Ensure that a suitable NTP server is available and can be reached from the installed clusters through the disconnected network.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[id="ztp-configuring-the-hub-cluster-for-backup-and-restore_{context}"]
= Configuring the hub cluster for backup and restore

[role="_abstract"]
You can use {ztp} to configure a set of policies to back up `BareMetalHost` resources.
This allows you to recover data from a failed hub cluster and deploy a replacement cluster using {rh-rhacm-first}.

Expand Down Expand Up @@ -52,7 +53,7 @@ spec:
name: {{ $bmh.metadata.name }}
namespace: {{ $bmh.metadata.namespace }}
labels:
cluster.open-cluster-management.io/backup: cluster-activation <1>
cluster.open-cluster-management.io/backup: cluster-activation
{{- end }}
remediationAction: enforce
severity: high
Expand Down Expand Up @@ -92,7 +93,8 @@ metadata:
spec:
clusterSet: default
----
<1> If you apply the `cluster.open-cluster-management.io/backup: cluster-activation` label to `BareMetalHost` resources, the {rh-rhacm} cluster backs up those resources.
+
If you apply the `cluster.open-cluster-management.io/backup: cluster-activation` label to `BareMetalHost` resources, the {rh-rhacm} cluster backs up those resources.
You can restore the `BareMetalHost` resources if the active cluster becomes unavailable, when restoring the hub activation resources.

. Apply the policy by running the following command:
Expand Down Expand Up @@ -165,13 +167,14 @@ metadata:
namespace: open-cluster-management-backup
spec:
cleanupBeforeRestore: CleanupRestored
veleroManagedClustersBackupName: latest <1>
veleroManagedClustersBackupName: latest
veleroCredentialsBackupName: latest
veleroResourcesBackupName: latest
restoreStatus:
includedResources:
- BareMetalHosts<2>
- BareMetalHosts
----

* Set `veleroManagedClustersBackupName: latest` to restore activation resources.
* Restores the status for `BareMetalHosts` resources.
====
<1> Set `veleroManagedClustersBackupName: latest` to restore activation resources.
<2> Restores the status for `BareMetalHosts` resources.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[id="ztp-configuring-the-hub-cluster-to-use-unauthenticated-registries_{context}"]
= Configuring the hub cluster to use unauthenticated registries

[role="_abstract"]
You can configure the hub cluster to use unauthenticated registries.
Unauthenticated registries does not require authentication to access and download images.

Expand Down Expand Up @@ -46,7 +47,7 @@ spec:
Unauthenticated registries are listed under `spec.unauthenticatedRegistries` in the `AgentServiceConfig` resource.
Any registry on this list is not required to have an entry in the pull secret used for the spoke cluster installation.
`assisted-service` validates the pull secret by making sure it contains the authentication information for every image registry used for installation.

+
[NOTE]
====
Mirror registries are automatically added to the ignore list and do not need to be added under `spec.unauthenticatedRegistries`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[id="enabling-assisted-installer-service-on-bare-metal_{context}"]
= Enabling the assisted service

[role="_abstract"]
{rh-rhacm-first} uses the assisted service to deploy {product-title} clusters. The assisted service is deployed automatically when you enable the MultiClusterHub Operator on {rh-rhacm-first}. After that, you need to configure the `Provisioning` resource to watch all namespaces and to update the `AgentServiceConfig` custom resource (CR) with references to the ISO and RootFS images that are hosted on the mirror registry HTTP server.

.Prerequisites
Expand Down
1 change: 1 addition & 0 deletions modules/ztp-gitops-ztp-max-spoke-clusters.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[id="ztp-gitops-ztp-max-spoke-clusters_{context}"]
= Recommended hub cluster specifications and managed cluster limits for {ztp}

[role="_abstract"]
With {ztp-first}, you can manage thousands of clusters in geographically dispersed regions and networks.
The Red Hat Performance and Scale lab successfully created and managed 3500 virtual {sno} clusters with a reduced DU profile from a single {rh-rhacm-first} hub cluster in a lab environment.

Expand Down
4 changes: 3 additions & 1 deletion modules/ztp-preparing-the-hub-cluster-for-ztp.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[id="ztp-configuring-hub-cluster-with-argocd_{context}"]
= Configuring the hub cluster with ArgoCD

[role="_abstract"]
You can configure the hub cluster with a set of ArgoCD applications that generate the required installation and policy custom resources (CRs) for each site with {ztp-first}.

[NOTE]
Expand Down Expand Up @@ -52,7 +53,8 @@ $ oc -n openshift-gitops get applications.argoproj.io \
clusters -o jsonpath='{.spec.syncPolicy.syncOptions}' |jq
----

.Example output for an existing policy
Example output for an existing policy:
+
[source,terminal]
----
[
Expand Down
Loading