Armada demo
This guide will show you how to take a quick test drive of an Armada instance already deployed to AWS EKS.
To learn more, see our video on how to use Armadactl, the Armada Lookout UI and Apache Airflow.
EKS
Go to the Armada UI (Lookout).
Local prerequisites
- Git
- Go 1.20
Obtaining the Armada source
Clone the armadaproject
repository as follows:
git clone https://github.com/armadaproject/armada.git
cd armada
All commands are intended to be run from the root of the repository.
Setting up an alias
If you are on a Windows System, use a Linux-supported terminal to run this command, for example, Git Bash or Hyper.
alias armadactl='go run cmd/armadactl/main.go --armadaUrl armada.demo.armadaproject.io:443'
Creating queues and jobs
Create queues, submit some jobs, and monitor progress:
Creating a queue
Use a unique name for the queue. Make sure you remember it for the next steps.
armadactl create queue $QUEUE_NAME --priorityFactor 1
armadactl create queue $QUEUE_NAME --priorityFactor 2
For queues created in this way, user and group owners of the queue have permissions to:
- submit jobs
- cancel jobs
- reprioritise jobs
- watch queue
For more control, queues can be created via armadactl create
, which allows for setting specific permission; see the following example.
armadactl create -f ./docs/quickstart/queue-a.yaml
armadactl create -f ./docs/quickstart/queue-b.yaml
Make sure to manually edit both of these yaml
files using a code or text editor before running the commands.
name: $QUEUE_NAME
Submitting a job
armadactl submit ./docs/quickstart/job-queue-a.yaml
armadactl submit ./docs/quickstart/job-queue-b.yaml
Make sure to manually edit both of these yaml
files using a code or text editor before running the commands.
queue: $QUEUE_NAME
Monitoring job progress
armadactl watch $QUEUE_NAME job-set-1
armadactl watch $QUEUE_NAME job-set-1
Try submitting lots of jobs and see how queues get built and processed.
Submitting on Windows using Git Bash
Use a text editor of your choice. Copy and paste the following lines into the text editor:
#!/bin/bash
for i in {1..50}
do
armadactl submit ./docs/quickstart/job-queue-a.yaml
armadactl submit ./docs/quickstart/job-queue-b.yaml
done
Save the file with a .sh
extension (for example, myscript.sh
) in the root directory of the project.
Open Git Bash, navigate to the project’s directory using the cd
command, and then run the script by typing ./myscript.sh
and pressing Enter.
Submitting on Linux
Open a text editor (for example, Nano or Vim) in the terminal and create a new file by running: nano myscript.sh
(replace nano
with your preferred text editor if needed).
Copy and paste the script content into the text editor.
Save the file and exit the text editor.
Make the script file executable by running chmod +x myscript.sh
.
Run the script by typing ./myscript.sh
in the terminal and pressing Enter.
Submitting on macOS
Follow the same steps as for Linux, as macOS uses the Bash shell by default. With this approach, you create a shell script file that contains your multi-line script, and you can run it as a whole by executing the script file in the terminal.
Observing job progress
CLI
$ armadactl watch queue-a job-set-1
Watching job set job-set-1
Nov 4 11:43:36 | Queued: 0, Leased: 0, Pending: 0, Running: 0, Succeeded: 0, Failed: 0, Cancelled: 0 | event: *api.JobSubmittedEvent, job id: 01drv3mey2mzmayf50631tzp9m
Nov 4 11:43:36 | Queued: 1, Leased: 0, Pending: 0, Running: 0, Succeeded: 0, Failed: 0, Cancelled: 0 | event: *api.JobQueuedEvent, job id: 01drv3mey2mzmayf50631tzp9m
Nov 4 11:43:36 | Queued: 1, Leased: 0, Pending: 0, Running: 0, Succeeded: 0, Failed: 0, Cancelled: 0 | event: *api.JobSubmittedEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov 4 11:43:36 | Queued: 2, Leased: 0, Pending: 0, Running: 0, Succeeded: 0, Failed: 0, Cancelled: 0 | event: *api.JobQueuedEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov 4 11:43:38 | Queued: 1, Leased: 1, Pending: 0, Running: 0, Succeeded: 0, Failed: 0, Cancelled: 0 | event: *api.JobLeasedEvent, job id: 01drv3mey2mzmayf50631tzp9m
Nov 4 11:43:38 | Queued: 0, Leased: 2, Pending: 0, Running: 0, Succeeded: 0, Failed: 0, Cancelled: 0 | event: *api.JobLeasedEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov 4 11:43:38 | Queued: 0, Leased: 1, Pending: 1, Running: 0, Succeeded: 0, Failed: 0, Cancelled: 0 | event: *api.JobPendingEvent, job id: 01drv3mey2mzmayf50631tzp9m
Nov 4 11:43:38 | Queued: 0, Leased: 0, Pending: 2, Running: 0, Succeeded: 0, Failed: 0, Cancelled: 0 | event: *api.JobPendingEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov 4 11:43:41 | Queued: 0, Leased: 0, Pending: 1, Running: 1, Succeeded: 0, Failed: 0, Cancelled: 0 | event: *api.JobRunningEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov 4 11:43:41 | Queued: 0, Leased: 0, Pending: 0, Running: 2, Succeeded: 0, Failed: 0, Cancelled: 0 | event: *api.JobRunningEvent, job id: 01drv3mey2mzmayf50631tzp9m
Nov 4 11:44:17 | Queued: 0, Leased: 0, Pending: 0, Running: 1, Succeeded: 1, Failed: 0, Cancelled: 0 | event: *api.JobSucceededEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov 4 11:44:26 | Queued: 0, Leased: 0, Pending: 0, Running: 0, Succeeded: 2, Failed: 0, Cancelled: 0 | event: *api.JobSucceededEvent, job id: 01drv3mey2mzmayf50631tzp9m
Web UI
In your browser, open the Armada Project demo site.