The goal of this project is to setup a minimal kubernetes environment for deploying DAQ workflows.
Pocket is based on (Linux) containers, Kubernetes and KIND.
Pocket exposes most of its services on the host to the outside network. It should only be run in a protected environment where it is safe to expose these services!
- access to external network/Internet for git and dockerhub downloads
Utilities:
make
base64
find
git
grep
jq
sed
You must also have a functional docker
server installation that can download container images from the internet.
On Alma/CentOS/SL:
sudo [yum|dnf] -y install docker-ce
sudo systemctl enable docker
sudo systemctl start docker
To use this project you need to clone the git repo and run one of the Makefile workflows:
git clone https://github.com/DUNE-DAQ/pocket.git
cd pocket
make help
Select the workflow you desire from the output of make help
. Odds are it is make recreate-pocketdune-cluster
.
This setup will use ./local
to store your persistant disks. You can replace this directory with a symbolic link to another location before you run the make
commands - but not after.
Check that your system has the required utilities installed and working:
make test-shell-utils
Now you can create a pocketdune cluster on your system:
make create-pocketdune-cluster
This will also provide some output to help you quickly deploy content into the new cluster.
As a part of the create process a handful of utilities will be downloaded. You'll need these in your $PATH
to use them.
eval $(make env)
Once you have created the kind cluster via this project, you should be able to select your deployment target from daq-kube
. See that repo for instructions.
Odds are you want to run:
cd daq-kube
kluctl deploy -t pocket
If you recieve:
✗ target pocket not existent in kluctl project config
You skipped running cd daq-kube
.
Once you are done with the cluster, you can remove it with:
make remove-pocketdune-cluster