Loading Search...
Crater
Deployment

Harbor Deployment Guide

Crater relies on an internal Harbor registry to support image building, storage, and secure distribution within the cluster.

Deployment

We recommend using the official Harbor Helm Chart for deployment. A basic example:

helm repo add harbor https://helm.goharbor.io
helm pull harbor/harbor --version 1.14.0
# Modify values.yaml as needed (see below)
helm install crater-harbor harbor/harbor -f values.yaml -n harbor-system --create-namespace

Note: Ensure that:

The domain name (e.g., crater-harbor.act.buaa.edu.cn) is resolvable within your cluster or internal DNS.

You have a valid TLS setup or set expose.tls.enabled=false for HTTP.

Configuration Tips

Set externalURL correctly in values.yaml:

externalURL: https://crater-harbor.act.buaa.edu.cn

Configure ingress with appropriate class (ingress-nginx) and hostname.

Use internal certificates or disable TLS for testing:

expose:
  tls:
    enabled: false

Image Pull Secrets

To allow Crater components to pull images from Harbor:

kubectl create secret docker-registry crater-harbor-auth \
  --docker-server=crater-harbor.act.buaa.edu.cn \
  --docker-username=<user> \
  --docker-password=<password> \
  -n <target-namespace>

You can then reference this secret in your pod.spec.imagePullSecrets.

Harbor Projects Structure

Projects are organized as follows:

ProjectPurpose
crater/baseBase OS and utilities
crater/jobsUser-submitted job images
crater/chartsMirrors for Helm charts
crater/modelsLarge models for inference

Integration with Crater

Most system components (e.g., gpu-operator, ingress-nginx, prometheus) are preconfigured to use Harbor mirrors.

The image path should look like:

crater-harbor.act.buaa.edu.cn/crater/<component>:<tag>

During Helm chart customization, update image.repository and imagePullSecrets.

References

Edit on GitHub