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:
committed by
openshift-cherrypick-robot
parent
417513af35
commit
6dcc8b9855
@@ -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
|
||||
|
||||
@@ -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]
|
||||
124
modules/ipi-install-preparing-the-bare-metal-node.adoc
Normal file
124
modules/ipi-install-preparing-the-bare-metal-node.adoc
Normal 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
|
||||
----
|
||||
121
modules/ipi-install-provisioning-the-bare-metal-node.adoc
Normal file
121
modules/ipi-install-provisioning-the-bare-metal-node.adoc
Normal 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
|
||||
----
|
||||
Reference in New Issue
Block a user