-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Image pulls from embedded registry fail if --bind-address is set (and not 127.0.0.1) #10094
Comments
I can take a look at addressing this when I bump the embedded spegel version. I will note that this currently only affects servers, as agents do not support the --bind-address flag, so the listener address cannot be configured. Might want to promote that to an agent flag as well I guess. |
Having the bind flag on agents would definitely be desirable (and make the overall config options more consistent). |
there are already some changes staged in this space in |
One of the problems here is that spegel needs to be able to identify which requests are from the local containerd instance and should proxy to other nodes, as opposed to those from other nodes that should not be reproxied. Right now this is done by identifying requests to localhost, and I can't think of another really good way to do that without opening more ports. We may just need to set it up so that it binds to localhost plus the configured bind address. |
OK, I've modified that PR to always bind the supervisor on the loopback addresses, in addition to the requested address |
Note that the embedded registry still will not work on nodes where IPv6 is the primary address family due to #9897 |
Validated on master branch with version v1.30.2-rc2+k3s1Environment DetailsInfrastructure
Node(s) CPU architecture, OS, and Version:
Cluster Configuration:
Config.yaml:
registries.yaml:
Testing Steps
Replication Results:
Validation Results:
Sample spegel logs from the journal logs on the agent node:
|
Environmental Info:
K3s Version:
v1.30.0+k3s1
Node(s) CPU architecture, OS, and Version:
Linux viking 6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux
Cluster Configuration: 3 servers 4 agents with embedded registry enabled
Describe the bug:
When I have
--bind-address
set on my masters, pods scheduled on the masters cannot pull from127.0.0.1:6443
because it isn't bound to 127.0.0.1 --it's bound to a different IP.Steps To Reproduce:
Set up a cluster with embedded registry. Set
--bind-address
to anything other than127.0.0.1
.Expected behavior:
When a pod is scheduled, k3s is expected to pull from the correct address when
--bind-address
is set.Actual behavior:
When a pod is scheduled, k3s tries to pull from
127.0.0.1
but since k3s is bound to a different IP, it gets connection refused.Additional context / logs:
The text was updated successfully, but these errors were encountered: