This guide provides step-by-step instructions for setting up AkôFlow using Docker Desktop with Kubernetes enabled. AkôFlow is designed to run workflows efficiently in a containerized environment, and this guide ensures a smooth deployment and usage experience.
Requirements
- Docker Desktop:
- Download and install Docker Desktop from Docker’s official website.
- Ensure Kubernetes is enabled in Docker Desktop (instructions provided below).
- kubectl CLI:
- Install
kubectl
to interact with the Kubernetes cluster. - Installation guide: Kubernetes CLI installation.
- Install
- AkôFlow Release Client:
- Download the AkôFlow client from the official GitHub releases: AkôFlow Releases.
- System Resources:
- Minimum 4 CPUs and 4GB RAM allocated to Docker Desktop for Kubernetes.
- Storage requirements depend on the workflows you plan to execute.
Step 1: Enable Docker Desktop and Kubernetes
- Install Docker Desktop:
- Download and install Docker Desktop from the official website.
- Launch Docker Desktop and sign in with your Docker Hub account if prompted.
- Enable Kubernetes:
- Open Docker Desktop settings.
- Navigate to Settings > Kubernetes.
- Check Enable Kubernetes and click Apply & Restart.
- Verify Kubernetes is Running:
- Open a terminal and check the status of Kubernetes:
kubectl get nodes
- Ensure the node status is
Ready
.
- Open a terminal and check the status of Kubernetes:
Step 2: Deploy AkôFlow Resources
- Apply the Resource File:
- Deploy the AkôFlow service to the Kubernetes cluster:
kubectl apply -f https://raw.githubusercontent.com/UFFeScience/akoflow/refs/heads/main/pkg/server/resource/akoflow-dev-dockerdesktop-with-server.yaml
- Deploy the AkôFlow service to the Kubernetes cluster:
- Verify Deployment:
- Check the status of the pods:
kubectl get pods
- Ensure all pods are in the
Running
state.
- Check the status of the pods:
- Expose the AkôFlow Service:
- The AkôFlow web interface will be available on port 8080. Use the following command to verify:
kubectl get services
- Confirm that the service is mapped to port
8080
.
- The AkôFlow web interface will be available on port 8080. Use the following command to verify:
Step 3: Configure and Use the AkôFlow Client
- Download the AkôFlow Client:
- Go to the AkôFlow Releases page and download the appropriate version for your system. You can build the akoflow client system too. To download the releases follow the link
- Run the AkôFlow Client:
- Use the AkôFlow client to interact with the AkôFlow server:
akfclient --host <server-host> --port 8080 --file <workflow-file.yaml>
- Replace
<server-host>
withlocalhost
or the IP of your Kubernetes cluster. - Replace
<workflow-file.yaml>
with the path to your workflow specification file.
- Use the AkôFlow client to interact with the AkôFlow server:
Step 4: Access the AkôFlow Web Interface
- Access via Browser:
- Open your web browser and navigate to:
http://localhost:8080
- Open your web browser and navigate to:
- Monitor Workflows:
- Use the web interface to view the status of running workflows, logs, and results.
Example Workflow Execution
- Prepare a Workflow Specification:
- Create a YAML file for your workflow (e.g.,
example-workflow.yaml
).
- Create a YAML file for your workflow (e.g.,
- Submit the Workflow:
- Run the AkôFlow client to submit the workflow:
akfclient --host localhost --port 8080 --file example-workflow.yaml
- Run the AkôFlow client to submit the workflow:
- Monitor Workflow Execution:
- Use the web interface to monitor progress or check logs using
kubectl
:kubectl logs -f <workflow-pod-name>
- Use the web interface to monitor progress or check logs using
Troubleshooting
- Kubernetes Not Ready:
- Ensure Docker Desktop has sufficient resources allocated under Settings > Resources.
- Service Not Accessible:
- Verify the service is exposed on port
8080
using:kubectl get services
- Verify the service is exposed on port
- Workflow Errors:
- Check the logs of the workflow pod:
kubectl logs <workflow-pod-name>
- Check the logs of the workflow pod: