An alchemiscale
deployment for kubernetes.
This repo presents a fairly complete set of kubernetes ("k8s") resources that give a usable alchemiscale
deployment, featuring both server and compute components.
To deploy alchemiscale
to a k8s cluster:
Deploy namespace: kubectl apply -f server/alchemiscale-namespace.yaml
.
Set your desired secrets for the server components in server/secrets.sh.
Take note of the recommendations in the comments guiding you on the choices.
Deploy: bash server/secrets.sh
.
Deploy configmap: kubectl apply -f server/alchemiscale-configmap.yaml
.
Deploy neo4j: kubectl apply -f server/neo4j-statefulset.yaml
.
Deploy client and compute APIs: kubectl apply -f server/*api-deployment.yaml
Deploy ingress: kubectl apply -f server/alchemiscale-ingress.yaml
Follow instructions for creating user and compute identities; use kubectl exec
instead of docker run
for these calls.
You will need at least one user identity and one compute identity with permissions on at least one Scope
to make use of alchemiscale
.
Set your desired settings for the compute services in compute/synchronous-compute-settings.yaml.
Deploy these as a secret: bash compute/secrets.sh
.
Refer to the alchemiscale compute documentation for more details.
Set desired number of replicas in compute/compute-services.yaml.
Deploy compute services: kubectl apply -f compute/compute-services.yaml