Prerequisites
The following prerequisites must be met prior to configuring the Cisco HyperFlex CSI Integration.
On the HyperFlex cluster:
-
Cisco HyperFlex cluster is installed and running HX 5.0(2a) or later.
-
Configure an iSCSI network in HX Connect before installation. For more information about configuring an iSCSI network, see the Cisco HyperFlex Data Platform Administration Guide, Release 5.0.
On the Kubernetes cluster:
-
Verify that all Kubernetes nodes have
2.0.874-5ubuntu2.10
version or later of theopen-iscsi
package installed ahead of proceeding with HXCSI. You can do so by running the following command:$iscsid -version
.To install
open-iscsi version 2.0.874-5ubuntu2.10
, you can run the following command:apt-get install -y open-iscsi=2.0.874-5ubuntu2.10
-
Verify that each Kubernetes node has either a dedicated interface on the HX iSCSI network or routable access to the HX iSCSI network.
-
On each the Kubernetes node: Ensure that the file “/etc/iscsi/initiatorname.iscsi" exists. In this file, ensure that the value of “
InitiatorName
” is unique on EACH node e.g.InitiatorName=iqn.1993-08.org.debian:01:6daab01fde1
Note
Sometimes, when VMs were cloned from a template, all nodes may have the same value of “InitiatorName” . This must be changed to ensure the uniqueness on each Kubernetes node.
-
Ensure that all Kubernetes nodes contain the file "
/etc/iscsi/iscsid.conf
" with the following setting configured:node.session.scan = manual
node.session.timeo.replacement_timeout = 120
node.conn[0].timeo.login_timeout = 120
node.conn[0].timeo.logout_timeout = 120
node.conn[0].timeo.noop_out_interval = 120
node.conn[0].timeo.noop_out_timeout = 120
Restart the
iscsid
daemon after making this change. -
To ensure
iscsid
gets started on system reboot run the following command:sudo systemctl enable iscsid
The
iscsid
status should appear (as an example):$ sudo systemctl status iscsid
iscsid.service - iSCSI initiator daemon (iscid)
Loaded: loaded (/lib/systemd/system/iscid.service; enabled; vendor preset: enabled
-
Ensure that each Kubernetes primary (also known as the "master") host system contains the file "
/etc/kubernetes/manifests/kube-controller-manager.yaml
" which includes the following:--disable-attach-detach-reconcile-sync=true
. -
Add the following text to the
-command
section of the file:--disable-attach-detach-reconcile-sync=true