Configuring Global Data Platform service on infrastructure nodes

Manual steps to create the ScaleCluster CR and enable Global Data Platform service on infrastructure nodes.

Before you begin

  • You must have a minimum of two infrastructure nodes as two replicas of the GUI and pmcollector pods must run on different infrastructure nodes.
  • Ensure that the infrastructure nodes have the following label:
    node-role.kubernetes.io/worker: ""
  • The Global Data Platform service must be available.
  • Important: Remote filesystem configuration must not exist.

Procedure

  1. Apply the following YAML file to add IBM Storage Scale secrets for the remote mount.
    Update IBM Storage Scale secrets with the correct information.
    ibm-spectrum-fusion-scale-csi-secret secret:
    
    apiVersion: v1
    kind: Secret
    metadata:
      name: ibm-spectrum-fusion-scale-csi-secret-<remote_scale_clusterID>
      namespace: <fusion_namespace>
    type: kubernetes.io/basic-auth
    stringData:
      username: <scale_gui_user_name>
      password: <scale_gui_user_password>
    ibm-spectrum-fusion-scale-gui-secret secret:
    
    apiVersion: v1
    kind: Secret
    metadata:
      name: ibm-spectrum-fusion-scale-gui-secret-<remote_scale_clusterID>
      namespace: <fusion_namespace>
    type: kubernetes.io/basic-auth
    stringData:
      username: <scale_gui_user_name>
      password: <scale_gui_user_password>
  2. Add your filesystem details to the following YAML and create a Scalecluster CR:
    Update Scalecluster CR with the correct information.
    
    apiVersion: cns.isf.ibm.com/v1
    kind: ScaleCluster
    metadata:
      name: ibm-spectrum-fusion-scale-cluster-<remote_scale_clusterID>
      namespace: <fusion_namespace>
    spec:
      infraNode: true
      remoteScale:
        host: <remote_scale_gui_node_hostname_or_ip>
        clusterID: "<remote_scale_clusterID>"
        insecureSkipVerify: true
        contactNodes:
        - hostname: <contact_node1_hostname>
          ip: <contact_node1_ip>
        - hostname: <contact_node2_hostname>
          ip: <contact_node2_ip>
        fileSystems:
        - name: <remote_filesystem_name>
          scName: <custom_storageclass_name>
        guiSecret: ibm-spectrum-fusion-scale-gui-secret-<remote_scale_clusterID>
        csiSecret: ibm-spectrum-fusion-scale-csi-secret-<remote_scale_clusterID>
    If you enter a clusterID value without the double quotation marks in this example, then the ibm-spectrum-fusion-scale-cluster-<remote_scale_clusterID> CR (Scalecluster CR) creation fails with the following example error:
    Error from server: error when creating "ibm-spectrum-fusion-scale-cluster-xxx.yaml": admission webhook "mscalecluster.fusion.spectrum.ibm.com" denied the request: json: cannot unmarshal number into Go struct field RemoteScale.spec.remoteScale.clusterID of type string
  3. Apply the Scalecluster CR.
  4. Monitor the filesystem and cluster status on the IBM Storage Fusion user interface.