Difference between revisions of "Deploy JRMs on local EJFAT nodes"

From epsciwiki
Jump to navigation Jump to search
Line 33: Line 33:
 
=== 4. Prepare SSH Access, kubeconfig, and Docker ===
 
=== 4. Prepare SSH Access, kubeconfig, and Docker ===
 
* Ensure you have SSH access to the EJFAT nodes you intend to initialize.
 
* Ensure you have SSH access to the EJFAT nodes you intend to initialize.
* Copy ~/.kube/config on localhost to EJFAT:~/.kube/config.
 
 
* Verify that Docker is installed and running on each EJFAT node. The script requires Docker to pull and run necessary images.
 
* Verify that Docker is installed and running on each EJFAT node. The script requires Docker to pull and run necessary images.
  

Revision as of 18:20, 17 September 2024

EJFAT Node Initialization

This directory contains scripts for initializing JRMs on EJFAT nodes.

Key Files

  1. node-setup.sh: Sets up individual EJFAT nodes.
  2. launch-nodes.sh: Launches EJFAT nodes.

Step-by-Step Usage

EJFAT Node Initialization Flow Chart

1. Download the Repository

Clone the GitHub repository to your local machine:

git clone https://github.com/JeffersonLab/jiriaf-test-platform.git
cd jiriaf-test-platform/main/local-ejfat/init-jrm

2. Set API Server Port

Check your Kubernetes configuration file at ~/.kube/config to find the correct API server port. Update the APISERVER_PORT in launch-nodes.sh to match this port.

3. Customize Node Selection

By default, the script initializes only ejfat-2. To change this:

  • Open launch-nodes.sh in a text editor.
  • Locate the line: for i in $(seq 2 2)
  • Modify the numbers to select different nodes. For example:
    • $(seq 1 3) initializes nodes 1, 2, and 3.
    • $(seq 5 7) initializes nodes 5, 6, and 7.

4. Prepare SSH Access, kubeconfig, and Docker

  • Ensure you have SSH access to the EJFAT nodes you intend to initialize.
  • Verify that Docker is installed and running on each EJFAT node. The script requires Docker to pull and run necessary images.

5. Run the Launch Script

Execute the launch-nodes.sh script:

./launch-nodes.sh

Script Execution Process

For each selected node, the script will:

  • Set up an SSH tunnel for port forwarding.
  • Copy node-setup.sh to the target node.
  • Execute node-setup.sh on the node with appropriate parameters.

Wait for Completion

The script will wait for all node setup processes to complete.

Special Cases

Node 7 is treated as a special case and renamed to "fs". If you're including node 7, be aware of this naming convention in the script.

Troubleshooting

If you encounter issues:

  1. Verify SSH connectivity to the target nodes.
  2. Check if the API server port is available on both local and remote machines.
  3. Ensure node-setup.sh is present in the same directory as launch-nodes.sh.

For more detailed information, refer to the comments in launch-nodes.sh and node-setup.sh.