1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00

Added additional comments from Roger.

This commit is contained in:
John Wilkins
2020-11-19 11:18:57 -08:00
committed by openshift-cherrypick-robot
parent 417513af35
commit 6dcc8b9855
4 changed files with 258 additions and 0 deletions

View File

@@ -216,6 +216,8 @@ Topics:
File: ipi-install-prerequisites
- Name: Setting up the environment for an OpenShift installation
File: ipi-install-installation-workflow
- Name: Expanding the cluster
File: ipi-install-expanding-the-cluster
- Name: Troubleshooting
File: ipi-install-troubleshooting
- Name: Installing on IBM Z and LinuxONE

View File

@@ -0,0 +1,11 @@
[id="ipi-install-expanding-the-cluster"]
= Expanding the cluster
//include::modules/common-attributes.adoc[]
//:release:4.6
:context: ipi-install
After deploying an installer-provisioned {product-title} cluster, you can use the following procedures to expand the number of worker nodes. Ensure that each prospective worker node meets the prerequisites.
include::modules/ipi-install-preparing-the-bare-metal-node.adoc[leveloffset=+1]
include::modules/ipi-install-provisioning-the-bare-metal-node.adoc[leveloffset=+1]

View File

@@ -0,0 +1,124 @@
// This is included in the following assemblies:
//
// ipi-install-expanding-the-cluster.adoc
[id='preparing-the-bare-metal-node_{context}']
= Preparing the bare metal node
Preparing the bare metal node requires executing the following procedure from the provisioner node.
.Procedure
. Get the `oc` binary, if needed. It should already exist on the provisioner node.
+
[source,bash]
----
[kni@provisioner ~]$ curl -s https://mirror.openshift.com/pub/openshift-v4/clients/ocp-dev-preview/$VERSION/openshift-client-linux.tar.gz | tar zxvf - oc
----
+
[source,bash]
----
[kni@provisioner ~]$ sudo cp oc /usr/local/bin
----
. Install the `ipmitool`.
+
[source,bash]
----
[kni@provisioner ~]$ sudo dnf install -y OpenIPMI ipmitool
----
. Power off the bare metal node and ensure it is off.
+
[source,bash]
----
[kni@provisioner ~]$ ipmitool -I lanplus -U <user> -P <password> -H <management-server-ip> power off
----
+
Where `<management-server-ip>` is the IP address of the bare metal node's base board management controller.
+
[source,bash]
----
[kni@provisioner ~]$ ipmitool -I lanplus -U <user> -P <password> -H <management-server-ip> power status
----
+
[source,bash]
----
Chassis Power is off
----
. Retrieve the username and password of the bare metal node's baseboard management controller. Then, create `base64` strings from the username and password. In the following example, the username is `root` and the password is `calvin`.
+
[source,bash]
----
[kni@provisioner ~]$ echo -ne "root" | base64
----
+
[source,bash]
----
[kni@provisioner ~]$ echo -ne "calvin" | base64
----
. Create a configuration file for the bare metal node.
+
[source,bash]
----
[kni@provisioner ~]$ vim bmh.yaml
----
+
[source,yaml]
----
---
apiVersion: v1
kind: Secret
metadata:
name: openshift-worker-<num>-bmc-secret
type: Opaque
data:
username: <base64-of-uid>
password: <base64-of-pwd>
---
apiVersion: metal3.io/v1alpha1
kind: BareMetalHost
metadata:
name: openshift-worker-<num>
spec:
online: true
bootMACAddress: <NIC1-mac-address>
bmc:
address: ipmi://<bmc-ip>
credentialsName: openshift-worker-<num>-bmc-secret
----
+
Replace `<num>` for the worker number of bare metal node in two `name` fields and `credentialsName` field. Replace `<base64-of-uid>` with the `base64` string of the username. Replace `<base64-of-pwd>` with the `base64` string of the password. Replace `<NIC1-mac-address>` with the MAC address of the bare metal node's first NIC. Replace `<bmc-ip>` with the IP address of the bare metal node's baseboard management controller.
. Create the bare metal node.
+
[source,bash]
----
[kni@provisioner ~]$ oc -n openshift-machine-api create -f bmh.yaml
----
+
[source,bash]
----
secret/openshift-worker-<num>-bmc-secret created
baremetalhost.metal3.io/openshift-worker-<num> created
----
+
Where `<num>` will be the worker number.
. Power up and inspect the bare metal node.
+
[source,bash]
----
[kni@provisioner ~]$ oc -n openshift-machine-api get bmh openshift-worker-<num>
----
+
Where `<num>` is the worker node number.
+
[source,bash]
----
NAME STATUS PROVISIONING STATUS CONSUMER BMC HARDWARE PROFILE ONLINE ERROR
openshift-worker-<num> OK ready ipmi://<out-of-band-ip> unknown true
----

View File

@@ -0,0 +1,121 @@
// This is included in the following assemblies:
//
// ipi-install-expanding-the-cluster.adoc
[id='provisioning-the-bare-metal-node_{context}']
= Provisioning the bare metal node
Provisioning the bare metal node requires executing the following procedure from the provisioner node.
.Procedure
. Ensure the `PROVISIONING STATUS` is `ready` before provisioning the bare metal node.
+
[source,bash]
----
[kni@provisioner ~]$ oc -n openshift-machine-api get bmh openshift-worker-<num>
----
+
Where `<num>` is the worker node number.
+
[source,bash]
----
NAME STATUS PROVISIONING STATUS CONSUMER BMC HARDWARE PROFILE ONLINE ERROR
openshift-worker-<num> OK ready ipmi://<out-of-band-ip> unknown true
----
. Get a count of the number of worker nodes.
[source,bash]
+
----
[kni@provisioner ~]$ oc get nodes
----
+
[source,bash]
----
NAME STATUS ROLES AGE VERSION
provisioner.openshift.example.com Ready master 30h v1.16.2
openshift-master-1.openshift.example.com Ready master 30h v1.16.2
openshift-master-2.openshift.example.com Ready master 30h v1.16.2
openshift-master-3.openshift.example.com Ready master 30h v1.16.2
openshift-worker-0.openshift.example.com Ready master 30h v1.16.2
openshift-worker-1.openshift.example.com Ready master 30h v1.16.2
----
. Get the machine set.
+
[source,bash]
----
[kni@provisioner ~]$ oc get machinesets -n openshift-machine-api
----
+
[source,bash]
----
NAME DESIRED CURRENT READY AVAILABLE AGE
...
openshift-worker-0.example.com 1 1 1 1 55m
openshift-worker-1.example.com 1 1 1 1 55m
----
. Increase the number of worker nodes by one.
+
[source,bash]
----
[kni@provisioner ~]$ oc scale --replicas=<num> machineset <machineset> -n openshift-machine-api
----
+
Replace `<num>` with the new number of worker nodes. Replace `<machineset>` with the name of the machine set from the previous step.
. Check the status of the bare metal node.
+
[source,bash]
----
[kni@provisioner ~]$ oc -n openshift-machine-api get bmh openshift-worker-<num>
----
+
Where `<num>` is the worker node number. The status changes from `ready` to `provisioning`.
+
[source,bash]
----
NAME STATUS PROVISIONING STATUS CONSUMER BMC HARDWARE PROFILE ONLINE ERROR
openshift-worker-<num> OK provisioning openshift-worker-<num>-65tjz ipmi://<out-of-band-ip> unknown true
----
+
The `provisioning` status remains until the {product-title} cluster provisions the node. This can take 30 minutes or more. Once complete, the status will change to `provisioned`.
+
[source,bash]
----
NAME STATUS PROVISIONING STATUS CONSUMER BMC HARDWARE PROFILE ONLINE ERROR
openshift-worker-<num> OK provisioned openshift-worker-<num>-65tjz ipmi://<out-of-band-ip> unknown true
----
. Once provisioned, ensure the bare metal node is ready.
+
[source,bash]
----
[kni@provisioner ~]$ oc get nodes
----
+
[source,bash]
----
NAME STATUS ROLES AGE VERSION
provisioner.openshift.example.com Ready master 30h v1.16.2
openshift-master-1.openshift.example.com Ready master 30h v1.16.2
openshift-master-2.openshift.example.com Ready master 30h v1.16.2
openshift-master-3.openshift.example.com Ready master 30h v1.16.2
openshift-worker-0.openshift.example.com Ready master 30h v1.16.2
openshift-worker-1.openshift.example.com Ready master 30h v1.16.2
openshift-worker-<num>.openshift.example.com Ready worker 3m27s v1.16.2
----
+
You can also check the kubelet.
+
[source,bash]
----
[kni@provisioner ~]$ ssh openshift-worker-<num>
----
+
[source,bash]
----
[kni@openshift-worker-<num>]$ journalctl -fu kubelet
----