Step 1 |
The Ansible installation playbooks for OpenShift should by default install the iscsi-initiator-utils package. Verify that the package is installed.
Scope:
Run on all OpenShift nodes.
Command:
sudo yum list installed iscsi-initiator-utils
Example:
administrator-host:hxkube$ cat ~/hxkube/ocp_nodes.txt | while read host; \
do ssh -n $host sudo yum list installed iscsi-initiator-utils; \
done
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Installed Packages
iscsi-initiator-utils.x86_64 6.2.0.874-10.el7 @rhel-7-server-rpms
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Installed Packages
iscsi-initiator-utils.x86_64 6.2.0.874-10.el7 @rhel-7-server-rpms
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Installed Packages
iscsi-initiator-utils.x86_64 6.2.0.874-10.el7 @rhel-7-server-rpms
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Installed Packages
iscsi-initiator-utils.x86_64 6.2.0.874-10.el7 @rhel-7-server-rpms
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Installed Packages
iscsi-initiator-utils.x86_64 6.2.0.874-10.el7 @rhel-7-server-rpms
administrator-host:hxkube$
|
Step 2 |
If, for some reason, the iscsi-initiator-utils package is not installed, install it using the yum package manager.
Scope:
Run on all OpenShift nodes.
Command:
sudo yum install -y iscsi-initiator-utils
Example:
administrator-host:~/hxkube$ cat ~/hxkube/ocp_nodes.txt | while read host; \
do ssh -n $host sudo yum install -y iscsi-initiator-utils; \
done
administrator-host:~/hxkube$
|
Step 3 |
Install the avahi-autoipd package using the yum package manager.
Scope:
Run on all OpenShift nodes.
Command:
sudo yum install -y avahi-autoipd
Example:
administrator-host:hxkube$ cat ~/hxkube/ocp_nodes.txt | while read host; \
do ssh -n $host sudo yum install -y avahi-autoipd; \
done
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Resolving Dependencies
--> Running transaction check
---> Package avahi-autoipd.x86_64 0:0.6.31-19.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
avahi-autoipd x86_64 0.6.31-19.el7 rhel-7-server-rpms 40 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 40 k
Installed size: 44 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : avahi-autoipd-0.6.31-19.el7.x86_64 1/1
Verifying : avahi-autoipd-0.6.31-19.el7.x86_64 1/1
Installed:
avahi-autoipd.x86_64 0:0.6.31-19.el7
Complete!
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Resolving Dependencies
--> Running transaction check
---> Package avahi-autoipd.x86_64 0:0.6.31-19.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
avahi-autoipd x86_64 0.6.31-19.el7 rhel-7-server-rpms 40 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 40 k
Installed size: 44 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : avahi-autoipd-0.6.31-19.el7.x86_64 1/1
Verifying : avahi-autoipd-0.6.31-19.el7.x86_64 1/1
Installed:
avahi-autoipd.x86_64 0:0.6.31-19.el7
Complete!
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Resolving Dependencies
--> Running transaction check
---> Package avahi-autoipd.x86_64 0:0.6.31-19.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
avahi-autoipd x86_64 0.6.31-19.el7 rhel-7-server-rpms 40 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 40 k
Installed size: 44 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : avahi-autoipd-0.6.31-19.el7.x86_64 1/1
Verifying : avahi-autoipd-0.6.31-19.el7.x86_64 1/1
Installed:
avahi-autoipd.x86_64 0:0.6.31-19.el7
Complete!
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Resolving Dependencies
--> Running transaction check
---> Package avahi-autoipd.x86_64 0:0.6.31-19.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
avahi-autoipd x86_64 0.6.31-19.el7 rhel-7-server-rpms 40 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 40 k
Installed size: 44 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : avahi-autoipd-0.6.31-19.el7.x86_64 1/1
Verifying : avahi-autoipd-0.6.31-19.el7.x86_64 1/1
Installed:
avahi-autoipd.x86_64 0:0.6.31-19.el7
Complete!
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Resolving Dependencies
--> Running transaction check
---> Package avahi-autoipd.x86_64 0:0.6.31-19.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
avahi-autoipd x86_64 0.6.31-19.el7 rhel-7-server-rpms 40 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 40 k
Installed size: 44 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : avahi-autoipd-0.6.31-19.el7.x86_64 1/1
Verifying : avahi-autoipd-0.6.31-19.el7.x86_64 1/1
Installed:
avahi-autoipd.x86_64 0:0.6.31-19.el7
Complete!
administrator-host:hxkube
|
Step 4 |
In the Deploying Redhat OpenShift Container Platform section, you were instructed to add an additional virtual machine network interface to each OpenShift node. The interface
name of the added virtual machine network interface is now required in order to proceed with the installation.
Use the ifconfig -a command to find the name of the interface on one of the OpenShift nodes. The interface should not have an IP address assigned
and it is recommended to cross reference the MAC address with VMware vCenter in order to ensure the correct interface. In
this particular environment the added interface is named ens224.
Note
|
The ifconfig -a command only needs to be run on a single OpenShift node.
|
Scope:
Run on a single OpenShift node.
Command:
sudo ifconfig -a
Example:
administrator-host:hxkube$ ssh ocp-master sudo ifconfig -a
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
ether 02:42:e8:b1:c0:1e txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.2.17.150 netmask 255.255.255.0 broadcast 10.2.17.255
ether 00:50:56:98:ad:b3 txqueuelen 1000 (Ethernet)
RX packets 799305 bytes 992373512 (946.4 MiB)
RX errors 0 dropped 73 overruns 0 frame 0
TX packets 275804 bytes 142731217 (136.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:50:56:98:05:fd txqueuelen 1000 (Ethernet)
RX packets 654 bytes 217464 (212.3 KiB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 629 bytes 215118 (210.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 3120877 bytes 1376730600 (1.2 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3120877 bytes 1376730600 (1.2 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
administrator-host:hxkube$
|
Step 5 |
Ensure there is no network configuration file (/etc/sysconfig/network-scripts/ifcfg-<interface_name> ) for the additional virtual machine network interface that was added for the HyperFlex Storage Integration for OpenShift.
Scope:
Run on all OpenShift nodes.
Command:
sudo rm /etc/sysconfig/network-scripts/ifcfg-<interface_name>
Example:
administrator-host:hxkube$ cat ~/hxkube/ocp_nodes.txt | while read host; \
do ssh -n $host sudo rm /etc/sysconfig/network-scripts/ifcfg-ens224; \
done
administrator-host:hxkube$
|
Step 6 |
Restart the Network Manager service.
Scope:
Run on all OpenShift nodes.
Command:
sudo systemctl restart NetworkManager.service
Example:
administrator-host:hxkube$ cat ~/hxkube/ocp_nodes.txt | while read host; \
do ssh -n $host sudo systemctl restart NetworkManager.service; \
done
|
Step 7 |
Restart the Atomic OpenShift Node service.
Scope:
Run on all OpenShift nodes.
Command:
sudo systemctl restart atomic-openshift-node.service
Example:
administrator-host:hxkube$ cat ~/hxkube/ocp_nodes.txt | while read host; \
do ssh -n $host sudo systemctl restart atomic-openshift-node.service; \
done
|
Step 8 |
Install the hxvolume-plugin RPM package to update the existing HyperFlex FlexVolume plug-in on each OpenShift cluster node.
Scope:
Run on all OpenShift nodes.
Command:
sudo rpm -i ~/hxkube/hxvolume-plugin_X.X.XXX.XXX.XXXXXXXX.XXXX.rpm
Example:
administrator-host:~/hxkube$ cat ~/hxkube/ocp_nodes.txt | while read host; \
do ssh -n $host sudo rpm -i ~/hxkube/hxvolume-plugin-1.0.284.git.4022e8ec.hx35-1.x86_64.rpm; \
done
administrator-host:~/hxkube$
|
Step 9 |
Edit the /etc/kubernetes/hxflexvolume.json configuration file to change the target IP address from 169.254.1.1 to 169.254.254.1.
Command:
sudo sed -i -e s/169.254.1.1/169.254.254.1/ /etc/kubernetes/hxflexvolume.json.example
Example:
administrator-host:~/hxkube$ cat ~/hxkube/ocp_nodes.txt | while read host; \
do ssh -n $host sudo sed -i -e s/169.254.1.1/169.254.254.1/ /etc/kubernetes/hxflexvolume.json.example; \
done
|
Step 10 |
Create the HyperFlex FlexVolume Plugin configuration file. The file will be copied from an example file found in the /etc/kubernetes/ directory.
Scope:
Run on all OpenShift nodes.
Command:
sudo cp /etc/kubernetes/hxflexvolume.json.example /etc/kubernetes/hxflexvolume.json
Example:
administrator-host:~/hxkube$ cat ~/hxkube/ocp_nodes.txt | while read host; \
do ssh -n $host sudo cp /etc/kubernetes/hxflexvolume.json.example /etc/kubernetes/hxflexvolume.json; \
done
administrator-host:~/hxkube$
|
Step 11 |
Edit the /etc/kubernetes/hxflexvolume.json configuration file and update with the appropriate name for the interface to be used for the HyperFlex Storage Integration
for OpenShift. In the example in this document the interface is named ens224.
Scope:
Run on all OpenShift nodes.
Command:
sudo sed -i -e s/ens[[:digit:]+]/<interface_name>/ /etc/kubernetes/hxflexvolume.json
Example:
administrator-host:hxkube$cat ~/hxkube/ocp_nodes.txt | while read host; \
dossh -n $host sudo sed -i -e s/ens[[:digit:]+]/ens224/ /etc/kubernetes/hxflexvolume.json;\
done
administrator-host:hxkube$
|
Step 12 |
Initialize the FlexVolume plugin.
Scope:
Run on all OpenShift nodes.
Command:
sudo /usr/libexec/kubernetes/kubelet-plugins/volume/exec/hyperflex~hxvolume/hxvolume init
Example:
administrator-host:hxkube$ cat ~/hxkube/ocp_nodes.txt | while read host; \
do ssh -n $host sudo /usr/libexec/kubernetes/kubelet-plugins/volume/exec/hyperflex~hxvolume/hxvolume init; \
done
{"capabilities":{"attach":false},"status":"Success"}
{"capabilities":{"attach":false},"status":"Success"}
{"capabilities":{"attach":false},"status":"Success"}
{"capabilities":{"attach":false},"status":"Success"}
{"capabilities":{"attach":false},"status":"Success"}
administrator-host:hxkube$
|
Step 13 |
Restart the Atomic Openshift Node service.
Scope:
Run on all OpenShift nodes.
Command:
sudo systemctl restart atomic-openshift-node.service
Example:
administrator-host:hxkube$ cat ~/hxkube/ocp_nodes.txt | while read host; \
do ssh -n $host sudo systemctl restart atomic-openshift-node.service; \
done
administrator-host:hxkube$
|