Skip to content

Commit f575237

Browse files
authored
Merge pull request #110999 from lcavalle/TELCODOCS-2686-dita-rewrite
TELCODOCS-2686: DITA rewrite for ibi-edge-image-based-install
2 parents 179e69b + db837ae commit f575237

5 files changed

Lines changed: 144 additions & 104 deletions

modules/ibi-create-config-iso.adoc

Lines changed: 114 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="ibi-create-config-iso_{context}"]
77
= Deploying a managed {sno} cluster using the IBI Operator
88

9+
[role="_abstract"]
910
Create the site-specific configuration resources in the hub cluster to initiate the image-based deployment of a preinstalled host.
1011

1112
When you create these configuration resources in the hub cluster, the Image Based Install (IBI) Operator generates a configuration ISO and attaches it to the target host to begin the site-specific configuration process. When the configuration process completes, the {sno} cluster is ready.
@@ -36,7 +37,8 @@ $ oc create namespace ibi-ns
3637

3738
.. Create a YAML file that defines the `Secret` resource for your image registry:
3839
+
39-
.Example `secret-image-registry.yaml` file
40+
Example `secret-image-registry.yaml` file:
41+
+
4042
[source,yaml]
4143
----
4244
apiVersion: v1
@@ -45,10 +47,13 @@ metadata:
4547
name: ibi-image-pull-secret
4648
namespace: ibi-ns
4749
stringData:
48-
.dockerconfigjson: <base64-docker-auth-code> <1>
50+
.dockerconfigjson: <base64_docker_auth_code>
4951
type: kubernetes.io/dockerconfigjson
5052
----
51-
<1> You must provide base64-encoded credential details. See the "Additional resources" section for more information about using image pull secrets.
53+
+
54+
where:
55+
+
56+
`<base64_docker_auth_code>`:: Specifies base64-encoded credential details. See the "Additional resources" section for more information about using image pull secrets.
5257

5358
.. Create the `Secret` resource for your image registry by running the following command:
5459
+
@@ -61,92 +66,99 @@ $ oc create -f secret-image-registry.yaml
6166

6267
.. Create a `Secret` resource containing the static network configuration in `nmstate` format:
6368
+
64-
.Example `host-network-config-secret.yaml` file
69+
Example `host-network-config-secret.yaml` file:
70+
+
6571
[source,yaml]
6672
----
6773
apiVersion: v1
6874
kind: Secret
6975
metadata:
70-
name: host-network-config-secret <1>
76+
name: <network_secret_name>
7177
namespace: ibi-ns
7278
type: Opaque
7379
stringData:
74-
nmstate: | <2>
80+
nmstate: |
7581
interfaces:
76-
- name: ens1f0 <3>
82+
- name: <interface_name>
7783
type: ethernet
7884
state: up
7985
ipv4:
8086
enabled: true
8187
address:
8288
- ip: 192.168.200.25
8389
prefix-length: 24
84-
dhcp: false <4>
90+
dhcp: false
8591
ipv6:
8692
enabled: false
8793
dns-resolver:
8894
config:
8995
server:
90-
- 192.168.15.47 <5>
96+
- <dns_server_1>
9197
- 192.168.15.48
9298
routes:
93-
config: <6>
99+
config:
94100
- destination: 0.0.0.0/0
95101
metric: 150
96102
next-hop-address: 192.168.200.254
97-
next-hop-interface: ens1f0
103+
next-hop-interface: <interface_name>
98104
table-id: 254
99105
----
100-
<1> Specify the name for the `Secret` resource.
101-
<2> Define the static network configuration in `nmstate` format.
102-
<3> Specify the name of the interface on the host. The name of the interface must match the actual NIC name as shown in the operating system. To use your MAC address for NIC matching, set the `identifier` field to `mac-address`.
103-
<4> You must specify `dhcp: false` to ensure `nmstate` assigns the static IP address to the interface.
104-
<5> Specify one or more DNS servers that the system will use to resolve domain names.
105-
<6> In this example, the default route is configured through the `ens1f0` interface to the next hop IP address `192.168.200.254`.
106+
+
107+
where:
108+
+
109+
`<network_secret_name>`:: Specifies the name for the `Secret` resource, for example `host-network-config-secret`.
110+
`nmstate`:: Specifies the static network configuration in `nmstate` format.
111+
`<interface_name>`:: Specifies the name of the interface on the host, for example `ens1f0`. The name of the interface must match the actual NIC name as shown in the operating system. To use your MAC address for NIC matching, set the `identifier` field to `mac-address`.
112+
`dhcp: false`:: Specifies that DHCP is disabled to ensure `nmstate` assigns the static IP address to the interface.
113+
`<dns_server_1>`:: Specifies one or more DNS servers that the system will use to resolve domain names, for example `192.168.15.47`.
114+
`config`:: Specifies the default route through the `ens1f0` interface to the next hop IP address `192.168.200.254`.
106115

107116
. Create the `BareMetalHost` and `Secret` resources:
108117

109118
.. Create a YAML file that defines the `BareMetalHost` and `Secret` resources:
110119
+
111-
.Example `ibi-bmh.yaml` file
120+
Example `ibi-bmh.yaml` file:
121+
+
112122
[source,yaml]
113123
----
114124
apiVersion: metal3.io/v1alpha1
115125
kind: BareMetalHost
116126
metadata:
117-
name: ibi-bmh <1>
127+
name: <baremetalhost_name>
118128
namespace: ibi-ns
119129
spec:
120-
online: false <2>
121-
bootMACAddress: 00:a5:12:55:62:64 <3>
130+
online: <online_status>
131+
bootMACAddress: <boot_mac_address>
122132
bmc:
123-
address: redfish-virtualmedia+http://192.168.111.1:8000/redfish/v1/Systems/8a5babac-94d0-4c20-b282-50dc3a0a32b5 <4>
124-
credentialsName: ibi-bmh-bmc-secret <5>
125-
preprovisioningNetworkDataName: host-network-config-secret <6>
126-
automatedCleaningMode: disabled <7>
127-
externallyProvisioned: true <8>
133+
address: <bmc_address>
134+
credentialsName: <bmh_secret_name>
135+
preprovisioningNetworkDataName: <network_secret_name>
136+
automatedCleaningMode: disabled
137+
externallyProvisioned: true
128138
---
129139
apiVersion: v1
130140
kind: Secret
131141
metadata:
132-
name: ibi-bmh-secret <9>
142+
name: <bmh_secret_name>
133143
namespace: ibi-ns
134144
type: Opaque
135145
data:
136-
username: <user_name> <10>
137-
password: <password> <11>
138-
----
139-
<1> Specify the name for the `BareMetalHost` resource.
140-
<2> Specify if the host should be online.
141-
<3> Specify the host boot MAC address.
142-
<4> Specify the BMC address. You can only use bare-metal host drivers that support virtual media networking booting, for example redfish-virtualmedia and idrac-virtualmedia.
143-
<5> Specify the name of the bare-metal host `Secret` resource.
144-
<6> Optional: If you require static network configuration for the host, specify the name of the `Secret` resource containing the configuration.
145-
<7> You must specify `automatedCleaningMode:disabled` to prevent the provisioning service from deleting all preinstallation artifacts, such as the seed image, during disk inspection.
146-
<8> You must specify `externallyProvisioned: true` to enable the host to boot from the preinstalled disk, instead of the configuration ISO.
147-
<9> Specify the name for the `Secret` resource.
148-
<10> Specify the username.
149-
<11> Specify the password.
146+
username: <username>
147+
password: <password>
148+
----
149+
+
150+
where:
151+
+
152+
`<baremetalhost_name>`:: Specifies the name for the `BareMetalHost` resource, for example `ibi-bmh`.
153+
`<online_status>`:: Specifies if the host should be online, for example `false`.
154+
`<boot_mac_address>`:: Specifies the host boot MAC address, for example `00:a5:12:55:62:64`.
155+
`<bmc_address>`:: Specifies the BMC address, for example `redfish-virtualmedia+http://192.168.111.1:8000/redfish/v1/Systems/8a5babac-94d0-4c20-b282-50dc3a0a32b5`. You can only use bare-metal host drivers that support virtual media networking booting, for example redfish-virtualmedia and idrac-virtualmedia.
156+
`<bmh_secret_name>`:: Specifies the name of the bare-metal host `Secret` resource, for example `ibi-bmh-bmc-secret`.
157+
`<network_secret_name>`:: (Optional) Specifies the name of the `Secret` resource containing the static network configuration for the host, for example `host-network-config-secret`.
158+
`automatedCleaningMode: disabled`:: Specifies that automated cleaning is disabled to prevent the provisioning service from deleting all preinstallation artifacts, such as the seed image, during disk inspection.
159+
`externallyProvisioned: true`:: Specifies that the host is externally provisioned to enable it to boot from the preinstalled disk, instead of the configuration ISO.
160+
`<username>`:: Specifies the username for BMC authentication.
161+
`<password>`:: Specifies the password for BMC authentication.
150162

151163
.. Create the `BareMetalHost` and `Secret` resources by running the following command:
152164
+
@@ -159,18 +171,22 @@ $ oc create -f ibi-bmh.yaml
159171

160172
.. Create a YAML file that defines the `ClusterImageSet` resource:
161173
+
162-
.Example `ibi-cluster-image-set.yaml` file
174+
Example `ibi-cluster-image-set.yaml` file:
175+
+
163176
[source,yaml]
164177
----
165178
apiVersion: hive.openshift.io/v1
166179
kind: ClusterImageSet
167180
metadata:
168-
name: ibi-img-version-arch <1>
181+
name: <clusterimageset_name>
169182
spec:
170-
releaseImage: ibi.example.com:path/to/release/images:version-arch <2>
183+
releaseImage: <release_image>
171184
----
172-
<1> Specify the name for the `ClusterImageSet` resource.
173-
<2> Specify the address for the release image to use for the deployment. If you use a different image registry compared to the image registry used during seed image generation, ensure that the {product-title} version for the release image remains the same.
185+
+
186+
where:
187+
+
188+
`<clusterimageset_name>`:: Specifies the name for the `ClusterImageSet` resource, for example `ibi-img-version-arch`.
189+
`<release_image>`:: Specifies the address for the release image to use for the deployment, for example `ibi.example.com:path/to/release/images:version-arch`. If you use a different image registry compared to the image registry used during seed image generation, ensure that the {product-title} version for the release image remains the same.
174190

175191
.. Create the `ClusterImageSet` resource by running the following command:
176192
+
@@ -183,38 +199,42 @@ $ oc apply -f ibi-cluster-image-set.yaml
183199

184200
.. Create a YAML file that defines the `ImageClusterInstall` resource:
185201
+
186-
.Example `ibi-image-cluster-install.yaml` file
202+
Example `ibi-image-cluster-install.yaml` file:
203+
+
187204
[source,yaml]
188205
----
189206
apiVersion: extensions.hive.openshift.io/v1alpha1
190207
kind: ImageClusterInstall
191208
metadata:
192-
name: ibi-image-install <1>
209+
name: <imageclusterinstall_name>
193210
namespace: ibi-ns
194211
spec:
195212
bareMetalHostRef:
196-
name: ibi-bmh <2>
213+
name: <baremetalhost_name>
197214
namespace: ibi-ns
198215
clusterDeploymentRef:
199-
name: ibi-cluster-deployment <3>
200-
hostname: ibi-host <4>
216+
name: <clusterdeployment_name>
217+
hostname: <cluster_hostname>
201218
imageSetRef:
202-
name: ibi-img-version-arch <5>
203-
machineNetworks: <6>
219+
name: <clusterimageset_name>
220+
machineNetworks:
204221
- cidr: 10.0.0.0/24
205222
#- cidr: fd01::/64
206-
proxy: <7>
223+
proxy:
207224
httpProxy: "http://proxy.example.com:8080"
208225
#httpsProxy: "http://proxy.example.com:8080"
209226
#noProxy: "no_proxy.example.com"
210227
----
211-
<1> Specify the name for the `ImageClusterInstall` resource.
212-
<2> Specify the `BareMetalHost` resource that you want to target for the image-based installation.
213-
<3> Specify the name of the `ClusterDeployment` resource that you want to use for the image-based installation of the target host.
214-
<4> Specify the hostname for the cluster.
215-
<5> Specify the name of the `ClusterImageSet` resource you used to define the container release images to use for deployment.
216-
<6> Specify the public Classless Inter-Domain Routing (CIDR) of the external network. For dual-stack networking, you can specify both IPv4 and IPv6 CIDRs using a list format. The first CIDR in the list is the primary address family and must match the primary address family of the seed cluster.
217-
<7> Optional: Specify a proxy to use for the cluster deployment.
228+
+
229+
where:
230+
+
231+
`<imageclusterinstall_name>`:: Specifies the name for the `ImageClusterInstall` resource, for example `ibi-image-install`.
232+
`<baremetalhost_name>`:: Specifies the `BareMetalHost` resource that you want to target for the image-based installation, for example `ibi-bmh`.
233+
`<clusterdeployment_name>`:: Specifies the name of the `ClusterDeployment` resource that you want to use for the image-based installation of the target host, for example `ibi-cluster-deployment`.
234+
`<cluster_hostname>`:: Specifies the hostname for the cluster, for example `ibi-host`.
235+
`<clusterimageset_name>`:: Specifies the name of the `ClusterImageSet` resource you used to define the container release images to use for deployment, for example `ibi-img-version-arch`.
236+
`machineNetworks`:: Specifies the public Classless Inter-Domain Routing (CIDR) of the external network. For dual-stack networking, you can specify both IPv4 and IPv6 CIDRs using a list format. The first CIDR in the list is the primary address family and must match the primary address family of the seed cluster.
237+
`proxy`:: (Optional) Specifies a proxy to use for the cluster deployment.
218238
+
219239
[IMPORTANT]
220240
====
@@ -235,33 +255,37 @@ $ oc create -f ibi-image-cluster-install.yaml
235255

236256
.. Create a YAML file that defines the `ClusterDeployment` resource:
237257
+
238-
.Example `ibi-cluster-deployment.yaml` file
258+
Example `ibi-cluster-deployment.yaml` file:
259+
+
239260
[source,yaml]
240261
----
241262
apiVersion: hive.openshift.io/v1
242263
kind: ClusterDeployment
243264
metadata:
244-
name: ibi-cluster-deployment <1>
245-
namespace: ibi-ns <2>
265+
name: <clusterdeployment_name>
266+
namespace: <namespace>
246267
spec:
247-
baseDomain: example.com <3>
268+
baseDomain: <base_domain>
248269
clusterInstallRef:
249270
group: extensions.hive.openshift.io
250271
kind: ImageClusterInstall
251-
name: ibi-image-install <4>
272+
name: <imageclusterinstall_name>
252273
version: v1alpha1
253-
clusterName: ibi-cluster <5>
274+
clusterName: <cluster_name>
254275
platform:
255276
none: {}
256277
pullSecretRef:
257-
name: ibi-image-pull-secret <6>
278+
name: <pull_secret_name>
258279
----
259-
<1> Specify the name for the `ClusterDeployment` resource.
260-
<2> Specify the namespace for the `ClusterDeployment` resource.
261-
<3> Specify the base domain that the cluster should belong to.
262-
<4> Specify the name of the `ImageClusterInstall` in which you defined the container images to use for the image-based installation of the target host.
263-
<5> Specify a name for the cluster.
264-
<6> Specify the secret to use for pulling images from your image registry.
280+
+
281+
where:
282+
+
283+
`<clusterdeployment_name>`:: Specifies the name for the `ClusterDeployment` resource, for example `ibi-cluster-deployment`.
284+
`<namespace>`:: Specifies the namespace for the `ClusterDeployment` resource, for example `ibi-ns`.
285+
`<base_domain>`:: Specifies the base domain that the cluster should belong to, for example `example.com`.
286+
`<imageclusterinstall_name>`:: Specifies the name of the `ImageClusterInstall` in which you defined the container images to use for the image-based installation of the target host, for example `ibi-image-install`.
287+
`<cluster_name>`:: Specifies a name for the cluster, for example `ibi-cluster`.
288+
`<pull_secret_name>`:: Specifies the secret to use for pulling images from your image registry, for example `ibi-image-pull-secret`.
265289

266290
.. Create the `ClusterDeployment` resource by running the following command:
267291
+
@@ -274,18 +298,22 @@ $ oc apply -f ibi-cluster-deployment.yaml
274298

275299
.. Create a YAML file that defines the `ManagedCluster` resource:
276300
+
277-
.Example `ibi-managed.yaml` file
301+
Example `ibi-managed.yaml` file:
302+
+
278303
[source,yaml]
279304
----
280305
apiVersion: cluster.open-cluster-management.io/v1
281306
kind: ManagedCluster
282307
metadata:
283-
name: sno-ibi <1>
308+
name: <managedcluster_name>
284309
spec:
285-
hubAcceptsClient: true <2>
310+
hubAcceptsClient: <hub_accepts_client>
286311
----
287-
<1> Specify the name for the `ManagedCluster` resource.
288-
<2> Specify `true` to enable {rh-rhacm} to manage the cluster.
312+
+
313+
where:
314+
+
315+
`<managedcluster_name>`:: Specifies the name for the `ManagedCluster` resource, for example `sno-ibi`.
316+
`<hub_accepts_client>`:: Specifies whether {rh-rhacm} manages the cluster. Set to `true` to enable management.
289317

290318
.. Create the `ManagedCluster` resource by running the following command:
291319
+
@@ -303,7 +331,8 @@ $ oc apply -f ibi-managed.yaml
303331
$ oc get imageclusterinstall
304332
----
305333
+
306-
.Example output
334+
Example output:
335+
+
307336
[source,terminal]
308337
----
309338
NAME REQUIREMENTSMET COMPLETED BAREMETALHOSTREF
@@ -322,6 +351,8 @@ If the `ImageClusterInstall` resource is deleted, the IBI Operator reattaches th
322351
$ oc extract secret/<cluster_name>-admin-kubeconfig -n <cluster_namespace> --to - > <directory>/<cluster_name>-kubeconfig
323352
----
324353
+
325-
* `<cluster_name>` is the name of the cluster.
326-
* `<cluster_namespace>` is the namespace of the cluster.
327-
* `<directory>` is the directory in which to create the file.
354+
where:
355+
+
356+
`<cluster_name>`:: Specifies the name of the cluster.
357+
`<cluster_namespace>`:: Specifies the namespace of the cluster.
358+
`<directory>`:: Specifies the directory in which to create the file.

0 commit comments

Comments
 (0)