Skip to content

Preheated images do not improve image pull time, and all-seed-peers scope still downloads layers from Harbor Registry. #514

Description

@swatiskadam578

Description

I have deployed Dragonfly using the Helm chart and configured Harbor as the image registry.

After preheating an image, I observed the following behavior:

  1. Preheat Scope: all-peers

    • Successfully preheated the image with scope all-peers.
    • Deployed a workload on the same Kubernetes cluster.
    • The image pull time was almost identical to pulling the image without Dragonfly.
    • I expected the image to be served from Dragonfly peers, resulting in a noticeable reduction in pull time.
  2. Preheat Scope: all-seed-peers

    • Successfully preheated the image with scope all-seed-peers.
    • Deployed the same workload.
    • I observed requests still reaching the Harbor registry while the image was being pulled.
    • I expected the image to be served primarily from Dragonfly seed peers without requiring Harbor for the image layers (unless a cache miss occurred).

Expected Behavior

  • Images preheated with all-peers should reduce image pull time compared to pulling directly from Harbor.
  • Images preheated with all-seed-peers should be served from Dragonfly peers/seed peers, with minimal or no layer downloads from Harbor when the image has already been preheated.

Actual Behavior

  • No improvement in image pull time after preheating with all-peers.
  • Harbor registry is still accessed during image pulls after preheating with all-seed-peers.

Environment

  • Dragonfly: Helm chart deployment
  • Kubernetes:
  • Dragonfly Helm Chart Version:
  • Harbor Version:
  • Container Runtime: <containerd/docker>
  • Image Size: <e.g. 9 GB>

Steps to Reproduce

  1. Deploy Dragonfly using the Helm chart.
  2. Configure Harbor to use Dragonfly.
  3. Preheat an image using scope all-peers.
  4. Deploy a pod using the preheated image.
  5. Observe the image pull time.
  6. Repeat using all-seed-peers.
  7. Observe that Harbor registry is still contacted during image pull.

Additional Information

Could you please clarify:

  • Is this the expected behavior?
  • Are there any additional Helm values or configuration required for preheated images to be served entirely through Dragonfly?
  • How can I verify that image layers are actually being served from Dragonfly instead of Harbor?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions