-
Notifications
You must be signed in to change notification settings - Fork 72
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
403 error when pulling images from Swiss cloud provider #174
Comments
cc @BenTheElder |
If this is also affecting k8s.gcr.io, this is somewhat out of scope for us, and sounds like #138, most likely you've hit some blocking in GCP. k8s.gcr.io has the same policies in place as any other GCR registry. registry.k8s.io is based in part on GCLB with App Armor and also has the same protections.
I think you'll have to contact support about being blocked, if you suspect it's related to the cloud provider then I'd recommend that you ask your cloud provider to resolve this (as in #138). I do work for GCP but fielding these personally is not terribly scalable. Primarily I work on Kubernetes and at the moment my focus is on broadly keeping the project sustainable. For an immediate solution I'd recommend mirroring images or a pull-through-cache which helps both Kubernetes sustainability and improves your control over access / uptime. |
I looked through the logs (nothing GCP internal, the logs Kubernetes project has) for registry.k8s.io. I see a number of 404 requests from I don't see any other errors serve from that IP range, or any Cloud Armor rule enforcement. So this definitely looks like #138. |
Thanks for the fast reply. I've filled a ticket with our cloud provider. As for the proxy, I'll do that. Which obviously require me to use another provider. |
I somehow missed your last comment. We do use cri-o. You mention that GETs to Now, like before, this fail.
But very oddly, using curl I get a 200.
So, for my understanding, you says that it is not Cloud Armor, but #138 says it is. |
Er yes, the only errors I see in the logs on Kubernetes' side for this IP range are the 404 errors from cri-o attempting /v1/_ping alongside /v2/, it is expected that /v1/ would error and the error is the registry application replying 404, not an armor rule. there are no instances of armor rules being applied So that leaves the IP being blocked by GCP, which is what happened in #138 with hetzner.
Well or one of the unaffected IPs (since I can see some IPs in this range getting through fine), or mirroring images / copying them to your own registry instead
thanks! Hopefully they can follow up with GCP to sort it out similar to hetzner.
138 was largely not cloud armor. While investigating it we did find some overzealous cloud armor rules and we've removed them. But even before cloud armor traffic can be blocked before reaching our rules / application because e.g. it is flagged as associated with an embargoed region and blocked by US export law. Unfortunately there's not a lot of public detail about that sort of thing but your provider should be able to discuss with our provider(s). This can happen with our AWS backends as well and there's not much we can directly do about it: As far as I can tell we're not serving 403s to this IP range ourselves including with our Armor Rules on the load balancer. Our armor rules do serve 403s when activated. |
Closing. Issue should be handled by the cloud provider. /close |
@ameukam: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Hi @ameukam . How can (we) the cloud provider handle the issue then? I've searched how to get de-listed from "cloud armor" but didn't find any ways to have this happen. |
@thomasgoirand long time no see. hope you are well. This seems to be an active forum - https://issuetracker.google.com/issues?q=status:open%20componentid:1132263&s=created_time:desc |
Hi Dims! Indeed, it's been a long time. I'd love to discuss with you again. I started a new thread here: I'm not sure where this is going to lead us... Cheers, Thomas |
It's not cloud armor. This is something else at the cloud level (e.g. IPs blocked by embargo), which also explains why it applies to GCR and not just our application. Unfortunately I'm just a developer on Kubernetes and I can't share more specifics regarding that sort of thing, but you should be able to get in private contact with GCP to resolve as Hetzner did. 🤞 |
Cloud Armor is a WAF we (Kubernetes) employ on the main loadbalancer, those configs are public terraform in another repo. When Cloud Armor rules block something we get a log message accessible to a subset of trusted project maintainers here that includes the rule applied and other info. When I looked that was not happening here. We did have overly aggressive rules in the past and found and fixed those while looking into the hetzner issues. In both cases (cloud armor, GCP blocking) a 403 is served but not the same way. However the Hetzner issues were also not actually Cloud Armor either, and also applied to GCR. |
@BenTheElder Who should I contact at GCP then?!? |
You should still contact GCP, if it were Cloud Armor it would be on us here to fix it. |
Maybe @apricote can send you a note about their experience? Some of this may be NDA. Sorry. |
One possibility would be send an email to the Google Security Team. I'm aware of |
For the past few weeks, we are unable to pull any images from registry.k8s.io or k8s.gcr.io.
The problem started to occur randomly in december. Images would pull some days, and fail some other days.
Now, for the past two to three weeks, we can't pull any images form both registres.
Sadly, I have absolutly no idea who I should reach about that. So I'm trying my luck here.
Pull are made from AS29222, mainly 195.15.243.0/24.
Here are
crane
logs trying to pullmetrics-server:v0.6.2
:And trying
registry.k8s.io
:The same pull works from other Swiss providers.
If this is not the right place, sorry for the noise and feel free to close this.
But please, at least point me to somewhere I can get help with that.
Thanks!
The text was updated successfully, but these errors were encountered: