Skip to content

Commit b5adfb2

Browse files
author
Amrita
committed
Adds SME tech feedback on the whole agent content
1 parent 3517feb commit b5adfb2

7 files changed

+101
-130
lines changed

installing/installing_with_agent_based_installer/preparing-to-install-with-agent-based-installer.adoc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ include::_attributes/common-attributes.adoc[]
66

77
toc::[]
88

9+
[id="about-the-agent-based-installer"]
910
== About the Agent-based Installer
10-
The Agent-based Installer provides the flexibility of user-provided infrastructure (UPI) installation and the ease of use of the Assisted Installer (AI). It is a subcommand that resides in the {product-title} installer, and also uses the {product-title} installer for the input asset management.
11-
It generates a bootable image containing all of the information required to deploy an {product-title} cluster.
1211

13-
The Agent-based Installer is a sub-command that generates a live {op-system-first} ISO. The live ISO runs all of the required components that are running in containers pulled from the {product-title} release payload.
12+
The Agent-based installation method provides the flexibility to boot your on-premises servers in any way that you choose. It combines the ease of use of the Assisted Installation service with the ability to run offline, including in air-gapped environments.
13+
Agent-based installation is a subcommand of the {product-title} installer.
14+
It generates a bootable ISO image containing all of the information required to deploy an {product-title} cluster, with an available release image.
1415

15-
The Agent-based Installer also utilizes Zero Touch Provisioning (ZTP) custom resources. ZTP allows you to provision new edge sites with declarative configurations of bare-metal equipment.
16+
The configuration is in the same format as for the installer-provisioned infrastructure and user-provisioned infrastructure installation methods.
17+
The Agent-based Installer can also optionally generate or accept Zero Touch Provisioning (ZTP) custom resources. ZTP allows you to provision new edge sites with declarative configurations of bare-metal equipment.
1618

1719
include::modules/understanding-agent-install.adoc[leveloffset=+1]
1820

modules/agent-install-ipi-install-root-device-hints.adoc

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// This is included in the following assemblies:
22
//
3-
// ipi-install-configuration-files.adoc
3+
// preparing-to-install-with-agent-based-installer.adoc
44

55
:_content-type: REFERENCE
66
[id='root-device-hints_{context}']
@@ -37,11 +37,6 @@ The `rootDeviceHints` parameter enables the installer to provision the {op-syste
3737
----
3838
- name: master-0
3939
role: master
40-
bmc:
41-
address: ipmi://10.10.0.3:6203
42-
username: admin
43-
password: redhat
44-
bootMACAddress: de:ad:be:ef:00:40
4540
rootDeviceHints:
4641
deviceName: "/dev/sda"
4742
----

modules/agent-install-networking.adoc

Lines changed: 42 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,33 @@
66
[id="agent-install-networking_{context}"]
77
= About networking
88

9-
During the initial boot, the machines require an IP address configuration that is set either through a Dynamic Host Configuration Protocol(DHCP) server or statically by
10-
selecting the below options. If you provide the IP address for the `rendezvousIP` field through the DHCP option, then ensure that it is for the machine's IP address that is going to be used for deployment.
11-
This IP address is required for a node to be identified as ** node 0 **. A ** node 0 ** runs the required services for the Agent-based Installer.
9+
The *rendezvous IP* must be known at the time of generating the agent ISO, so that during the initial boot all the hosts can check in to the assisted service.
10+
If the IP addresses are assigned using a Dynamic Host Configuration Protocol (DHCP) server, then the `rendezvousIP` field must be set to an IP address of one of the hosts that will become part of the deployed control plane.
11+
In an environment without a DHCP server, you can define IP addresses statically.
12+
13+
In addition to static IP addresses, you can apply any network configuration that is in NMState format. This includes VLANs and NIC bonds.
1214

1315
== DHCP
1416

1517
.Preferred method: `install-config.yaml` and `agent.config.yaml`
1618

17-
You must specify only the value for the `rendezvousIP` field and `networkConfig` field must be left blank:
19+
You must specify the value for the `rendezvousIP` field. The `networkConfig` fields can be left blank:
1820

1921
.Sample agent-config.yaml.file
2022

2123
[source,yaml]
2224
----
23-
cat > agent-config.yaml << EOF
24-
apiVersion: v1alpha1
25-
kind: AgentConfig
26-
metadata:
27-
name: sno-cluster
28-
rendezvousIP: 192.168.111.80 <1>
25+
apiVersion: v1alpha1
26+
kind: AgentConfig
27+
metadata:
28+
name: sno-cluster
29+
rendezvousIP: 192.168.111.80 <1>
2930
----
30-
<1> The IP address for ** node 0**.
31+
<1> The IP address for the rendezvous host.
3132

3233
== Static networking
3334

3435
.. Preferred method: `install-config.yaml` and `agent.config.yaml`
35-
+
36-
.Scenario-1
37-
38-
When you specify the value for the `rendezvousIP` and `networkConfig` fields, the `rendezvousIP` field is utilized.
3936

4037
+
4138
.Sample agent-config.yaml.file
@@ -47,39 +44,12 @@ When you specify the value for the `rendezvousIP` and `networkConfig` fields, th
4744
kind: AgentConfig
4845
metadata:
4946
name: sno-cluster
50-
rendezvousIP: 192.168.111.80
51-
hosts:
52-
- hostname: master-0
53-
interfaces:
54-
- name: eno1
55-
macAddress: 00:ef:44:21:e6:a5
56-
networkConfig:
57-
interfaces:
58-
- name: eno1
59-
type: ethernet
60-
state: up
61-
mac-address: 00:ef:44:21:e6:a5
62-
ipv4:
63-
enabled: true
64-
address:
65-
- ip: 192.168.111.80
66-
prefix-length: 23
67-
----
68-
69-
+
70-
.Scenario-2
71-
When you specify the values for the `networkConfig` field, the value from the `interfaces` field is utilized. This is when there is no `rendezvousIP` field.
72-
+
73-
[source,yaml]
74-
----
75-
cat > agent-config.yaml << EOF
76-
apiVersion: v1alpha1
77-
kind: AgentConfig
47+
rendezvousIP: 192.168.111.80 <1>
7848
hosts:
7949
- hostname: master-0
8050
interfaces:
8151
- name: eno1
82-
macAddress: 00:ef:44:21:e6:a5
52+
macAddress: 00:ef:44:21:e6:a5 <2>
8353
networkConfig:
8454
interfaces:
8555
- name: eno1
@@ -89,19 +59,32 @@ When you specify the values for the `networkConfig` field, the value from the `i
8959
ipv4:
9060
enabled: true
9161
address:
92-
- ip: 192.168.111.80 <1>
93-
prefix-length: 23 <2>
62+
- ip: 192.168.111.80 <3>
63+
prefix-length: 23 <4>
64+
dhcp: false
65+
dns-resolver:
66+
config:
67+
server:
68+
- 192.168.111.1 <5>
69+
routes:
70+
config:
71+
- destination: 0.0.0.0/0
72+
next-hop-address: 192.168.111.1 <6>
73+
next-hop-interface: eth0
74+
table-id: 254
9475
----
95-
<1> The static IP address of the target bare-metal host.
96-
<2> The static IP address’s subnet prefix for the target bare-metal host.
97-
+
98-
Note that the lowest value IP is utilized for the IP address of ** node 0**.
76+
<1> If a value is not specified for the `rendezvousIP` field, one address will be chosen from the static IP addresses specified in the `networkConfig` fields.
77+
<2> The MAC address of an interface on the host, used to determine which host to apply the configuration to.
78+
<3> The static IP address of the target bare metal host.
79+
<4> The static IP address’s subnet prefix for the target bare metal host.
80+
<5> The DNS server for the target bare metal host.
81+
<6> Next hop address for the node traffic. This must be in the same subnet as the IP address set for the specified interface.
9982

10083
+
10184
.. Optional method: ZTP manifests
10285

10386
+
104-
The optional method of the ZTP custom resources comprises 6 custom resources; you can configure static IPs in the `NMStateConfig.yaml.file`.
87+
The optional method of the ZTP custom resources comprises 6 custom resources; you can configure static IPs in the `nmstateconfig.yaml` file.
10588

10689
+
10790
[source,yaml]
@@ -137,14 +120,13 @@ spec:
137120
next-hop-interface: eth0
138121
table-id: 254
139122
interfaces:
140-
- name: "eth0" <5>
141-
macAddress: 52:54:01:aa:aa:a1 <6>
123+
- name: eth0
124+
macAddress: 52:54:01:aa:aa:a1 <5>
142125
----
143-
<1> The static IP address of the target bare-metal host.
144-
<2> The static IP address’s subnet prefix for the target bare-metal host.
145-
<3> The DNS server for the target bare-metal host.
126+
<1> The static IP address of the target bare metal host.
127+
<2> The static IP address’s subnet prefix for the target bare metal host.
128+
<3> The DNS server for the target bare metal host.
146129
<4> Next hop address for the node traffic. This must be in the same subnet as the IP address set for the specified interface.
147-
<5> The `interfaces` field must have the same name.
148-
<6> The mac address of the interface.
149-
+
150-
Note that the lowest value IP is utilized for the IP address of ** node 0**.
130+
<5> The MAC address of an interface on the host, used to determine which host to apply the configuration to.
131+
132+
The rendezvous IP is chosen from the static IP addresses specified in the `config` fields.

modules/installing-ocp-agent.adoc

Lines changed: 20 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ The following procedure deploys a single-node {product-title} in a disconnected
1010

1111
.Procedure
1212

13-
. Navigate to the link:https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/latest [OpenShift mirror site] and download the latest version of the tarball that matches your operating system.
13+
. Navigate to the link:https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/latest[OpenShift mirror site] and download the latest version of the installer and client tarballs that match your operating system.
1414

1515
. Extract the binary by running the following command:
1616
+
@@ -30,7 +30,7 @@ $ sudo dnf install /usr/bin/nmstatectl -y
3030

3131
. Place the `openshift-install` binary in a directory that is on your PATH.
3232

33-
. Create a directory to store the cluster manifests by running the following command:
33+
. Create a directory to store the install configuration by running the following command:
3434
+
3535
[source,terminal]
3636
----
@@ -47,7 +47,7 @@ This is the preferred method for the Agent-based installation. Using ZTP manifes
4747
+
4848
[source,yaml]
4949
----
50-
cat << EOF > ./cluster-manifests/install-config.yaml
50+
cat << EOF > ./my-cluster/install-config.yaml
5151
apiVersion: v1
5252
baseDomain: test.example.com
5353
compute:
@@ -162,65 +162,56 @@ platform:
162162
----
163163
+
164164
<1> This IP address is used to determine which node performs the bootstrapping process as well as running the `assisted-service` component.
165-
You must provide the IP address when you do not specify the node's IP addresses in the `networkConfig` parameter. If this address is not provided, one IP address is selected from the provided nodes's `networkConfig`.
166-
<2> The number of hosts defined must match the total number of hosts defined in the `install-config.yaml` file, which is the sum of the values of the `compute.replicas` and `controlPlane.replicas` parameters. When 3 master nodes and 0 worker nodes are defined in the `install-config.yaml` file,
167-
the number of hosts defined is 3. When 3 master nodes and 2 worker nodes are defined in the `install-config.yaml` file, the number of hosts defined is 5.
165+
You must provide the rendezvous IP address when you do not specify at least one host's IP address in the `networkConfig` parameter. If this address is not provided, one IP address is selected from the provided hosts' `networkConfig`.
166+
<2> Host configuration is optional. The number of hosts defined must not exceed the total number of hosts defined in the `install-config.yaml` file, which is the sum of the values of the `compute.replicas` and `controlPlane.replicas` parameters.
168167
<3> The optional `hostname` parameter overrides the hostname obtained from either the Dynamic Host Configuration Protocol (DHCP) or a reverse DNS lookup. Each host must have a unique hostname supplied by one of these methods.
169168
<4> The `rootDeviceHints` parameter enables provisioning of the Red Hat Enterprise Linux CoreOS (RHCOS) image to a particular device. It examines the devices in the order it discovers them, and compares the discovered values with the hint values. It uses the first discovered device that matches the hint value.
170169
<5> Set this optional parameter to configure the network interface of a host in NMState format.
171170
172171
+
173-
. Create the Agent image by running the following command:
174-
+
175-
[NOTE]
176-
====
177-
Ensure that the image is created in the same path as the **auth** folder. You can verify this with the following command:
172+
. Create the agent image by running the following command:
178173
179-
[source,terminal]
180-
----
181-
$ ls
182-
agent.iso auth
183-
----
184-
====
185174
+
186175
[source,terminal]
187176
----
188-
$ openshift-install agent create image
177+
$ openshift-install --dir <install_directory> agent create image
189178
----
190179
+
191-
NOTE: Red Hat Enterprise Linux CoreOS (RHCOS) supports multipathing on the primary disk, allowing stronger resilience to hardware failure to achieve higher host availability. Multipathing is enabled by default in the `agent.iso` image, with a default `/etc/multipath.conf` configuration.
180+
NOTE: Red Hat Enterprise Linux CoreOS (RHCOS) supports multipathing on the primary disk, allowing stronger resilience to hardware failure to achieve higher host availability. Multipathing is enabled by default in the agent ISO image, with a default `/etc/multipath.conf` configuration.
181+
182+
. Boot the `agent.x86_64.iso` image on the bare metal machines.
192183
193-
. Optional: To know when the bootstrap node (** node 0 **) reboots, run the following command:
184+
. Optional: To know when the bootstrap host (which is the rendezvous host) reboots, run the following command:
194185
195186
+
196187
[source,terminal]
197188
----
198-
$ ./openshift-install --dir <manifests_directory> wait-for bootstrap-complete \ <1>
189+
$ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \ <1>
199190
--log-level=info <2>
200191
----
201-
<1> For `<manifests_directory>`, specify the path to the directory that you stored the manifest files in.
192+
<1> For `<install_directory>`, specify the path to the directory where the agent ISO was generated.
202193
<2> To view different installation details, specify `warn`, `debug`, or `error` instead of `info`.
203194
204195
+
205196
.Example output
206197
[source,terminal]
207198
----
208-
INFO Waiting up to 30m0s for the Kubernetes API at https://api.test.example.com:6443...
209-
INFO API v1.25.0 up
210-
INFO Waiting up to 30m0s for bootstrapping to complete...
211-
INFO It is now safe to remove the bootstrap resources
199+
...................................................................
200+
...................................................................
201+
INFO Bootstrap configMap status is complete
202+
INFO cluster bootstrap is complete
212203
----
213204
+
214205
The command succeeds when the Kubernetes API server signals that it has been bootstrapped on the control plane machines.
215206
216-
. Boot the `agent.iso` image on the bare metal machines. You can run the image on any Linux distribution.
217-
218207
. To track the progress and verify sucessful installation, run the following command:
219208
+
220209
[source,terminal]
221210
----
222-
$ openshift-install agent wait-for install-complete
211+
$ openshift-install --dir <install_directory> agent wait-for install-complete <1>
223212
----
213+
<1> For `<install_directory>` directory, specify the path to the directory where the agent ISO was generated.
214+
224215
+
225216
.Example output
226217
[source,terminal]

modules/sample-ztp-custom-resources.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Optional: You can use Zero touch provisioning (ZTP) custom resource (CR) objects
1010

1111
You can customize the following ZTP custom resources to specify more details about your {product-title} cluster. The following sample ZTP custom resources are for a single-node cluster.
1212

13-
**AgentClusterInstall.yaml**
13+
*agent-cluster-install.yaml*
1414

1515
[source,yaml]
1616
----
@@ -36,7 +36,7 @@ You can customize the following ZTP custom resources to specify more details abo
3636
sshPublicKey: <YOUR_SSH_PUBLIC_KEY>
3737
----
3838

39-
**ClusterDeployment.yaml**
39+
*cluster-deployment.yaml*
4040

4141
[source,yaml]
4242
----
@@ -64,7 +64,7 @@ spec:
6464
name: pull-secret
6565
----
6666

67-
**ClusterImageSet.yaml**
67+
*cluster-image-set.yaml*
6868

6969
[source,yaml]
7070
----
@@ -76,7 +76,7 @@ spec:
7676
releaseImage: registry.ci.openshift.org/ocp/release:4.12.0-0.nightly-2022-06-06-025509
7777
----
7878

79-
**InfraEnv.yaml**
79+
*infra-env.yaml*
8080

8181
[source,yaml]
8282
----
@@ -97,7 +97,7 @@ spec:
9797
cluster0-nmstate-label-name: cluster0-nmstate-label-value
9898
----
9999

100-
**NMStateConfig.yaml**
100+
*nmstateconfig.yaml*
101101

102102
[source,yaml]
103103
----

0 commit comments

Comments
 (0)