Difference between revisions of "Deploy JRMs on local EJFAT nodes"
(2 intermediate revisions by the same user not shown) | |||
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. | ||
− | |||
* 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. | ||
− | === 5. Run the Launch Script === | + | === 5. Copy kubeconfig file to EJFAT nodes === |
+ | Copy the kubeconfig file to the EJFAT nodes: | ||
+ | |||
+ | For example, to copy to ejfat-2: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | scp ~/.kube/config ejfat-2:/home/jlabtsai/.kube/config | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === 6. Run the Launch Script === | ||
Execute the <code>launch-nodes.sh</code> script: | Execute the <code>launch-nodes.sh</code> script: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 42: | Line 49: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | === | + | ==== Script Execution Process ==== |
For each selected node, the script will: | For each selected node, the script will: | ||
* Set up an SSH tunnel for port forwarding. | * Set up an SSH tunnel for port forwarding. | ||
Line 48: | Line 55: | ||
* Execute <code>node-setup.sh</code> on the node with appropriate parameters. | * Execute <code>node-setup.sh</code> on the node with appropriate parameters. | ||
− | === | + | ==== Wait for Completion ==== |
The script will wait for all node setup processes to complete. | The script will wait for all node setup processes to complete. | ||
Latest revision as of 18:22, 17 September 2024
EJFAT Node Initialization
This directory contains scripts for initializing JRMs on EJFAT nodes.
Key Files
- node-setup.sh: Sets up individual EJFAT nodes.
- launch-nodes.sh: Launches EJFAT nodes.
Step-by-Step Usage
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. Copy kubeconfig file to EJFAT nodes
Copy the kubeconfig file to the EJFAT nodes:
For example, to copy to ejfat-2:
scp ~/.kube/config ejfat-2:/home/jlabtsai/.kube/config
6. 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:
- Verify SSH connectivity to the target nodes.
- Check if the API server port is available on both local and remote machines.
- Ensure
node-setup.sh
is present in the same directory aslaunch-nodes.sh
.
For more detailed information, refer to the comments in launch-nodes.sh
and node-setup.sh
.