// Module included in the following assemblies: // // *nodes/nodes/nodes-nodes-adding-node-iso.adoc :_mod-docs-content-type: PROCEDURE [id="adding-node-iso-yaml_{context}"] = Adding one or more nodes using a configuration file You can add one or more nodes to your cluster by using the `nodes-config.yaml` file to specify configurations for the new nodes. .Prerequisites * You have installed the OpenShift CLI (`oc`) * You have installed the Rsync utility * You have an active connection to your target cluster * You have a kubeconfig file available .Procedure . Create a new YAML file that contains configurations for the nodes you are adding and is named `nodes-config.yaml`. You must provide a MAC address for each new node. + In the following example file, two new workers are described with an initial static network configuration: + .Example `nodes-config.yaml` file [source,yaml] ---- hosts: - hostname: extra-worker-1 rootDeviceHints: deviceName: /dev/sda interfaces: - macAddress: 00:00:00:00:00:00 name: eth0 networkConfig: interfaces: - name: eth0 type: ethernet state: up mac-address: 00:00:00:00:00:00 ipv4: enabled: true address: - ip: 192.168.122.2 prefix-length: 23 dhcp: false - hostname: extra-worker-2 rootDeviceHints: deviceName: /dev/sda interfaces: - macAddress: 00:00:00:00:00:02 name: eth0 networkConfig: interfaces: - name: eth0 type: ethernet state: up mac-address: 00:00:00:00:00:02 ipv4: enabled: true address: - ip: 192.168.122.3 prefix-length: 23 dhcp: false ---- . Generate the ISO image by running the following command: + [source,terminal] ---- $ oc adm node-image create nodes-config.yaml ---- + [IMPORTANT] ==== In order for the `create` command to fetch a release image that matches the target cluster version, you must specify a valid pull secret. You can specify the pull secret either by using the `--registry-config` flag or by setting the `REGISTRY_AUTH_FILE` environment variable beforehand. ==== + [NOTE] ==== If the directory of the `nodes-config.yaml` file is not specified by using the `--dir` flag, the tool looks for the file in the current directory. ==== . Verify that a new `node..iso` file is present in the asset directory. The asset directory is your current directory, unless you specified a different one when creating the ISO image. . Boot the selected node with the generated ISO image. . Track progress of the node creation by running the following command: + [source,terminal] ---- $ oc adm node-image monitor --ip-addresses ---- + where: ``:: Specifies a list of the IP addresses of the nodes that are being added. + [NOTE] ==== If reverse DNS entries are not available for your node, the `oc adm node-image monitor` command skips checks for pending certificate signing requests (CSRs). If these checks are skipped, you must manually check for CSRs by running the `oc get csr` command. ==== . Approve the CSRs by running the following command for each CSR: + [source,terminal] ---- $ oc adm certificate approve ----