Spegel mirrors not used on EKS 1.34 with containerd 2.1 (transfer service bypasses hosts.toml) #1294
Replies: 3 comments 1 reply
|
@gyanesh-mishra just FYI I converted the bug issue to a discussion as this is not a bug in Spegel but rather an integration question. I have been following some of the work that has been done in Containerd in relation to the transfer service work. There was some early issue with the transfer service not picking up the proper mirror configuration. I agree that we should document what is the proper configuration required in the docs. Along with that it would be interesting if the Containerd integration tests could also verify that transfer service works with Spegel. |
|
@gyanesh-mishra According to @phillebaba second link above containerd/containerd#12636, if you do not configure Did you change that |
|
@phillebaba This is something to be aware of in EKS deployments. EKS by default sets By setting It might make more sense to instead configure containerd with the following in EKS, to keep containerd configured as close as possible to it's original state: |
Uh oh!
There was an error while loading. Please reload this page.
Problem
Spegel deploys correctly on EKS 1.34 (AL2023 AMI, containerd 2.1.5) — DHT bootstraps, content is advertised,
hosts.tomlis written with the correct node IP. But containerd never sends requests to the Spegel mirror. Zero HTTP requests hit the/v2/endpoint,spegel_mirror_last_success_timestamp_secondsstays at 0.Root Cause
containerd 2.1 defaults to
use_local_image_pull = false, which means CRI image pulls go through the transfer service (io.containerd.transfer.v1.local). The transfer service does not readhosts.tomlmirror configuration fromconfig_path. Only the CRI local image pull path honorshosts.toml.Fix
Setting
use_local_image_pull = truein the containerd config forces the CRI plugin to use the local pull path, which readshosts.toml:After this change, Spegel immediately starts receiving mirror requests (confirmed 9 cache hits on first pull).
Environment
containerdMirrorAdd = trueSuggestion
Document
use_local_image_pull = trueas a requirement for EKS 1.34+ (or any platform running containerd 2.1+ with the transfer service enabled) in the compatibility/getting started docs.All reactions