GoogleContainerTools / skaffold

Easy and Repeatable Kubernetes Development
https://skaffold.dev/
Apache License 2.0
14.94k stars 1.62k forks source link

Client-side throttling error when using Skaffold #7012

Open briandealwis opened 2 years ago

briandealwis commented 2 years ago

From a report on StackOverflow

Link to the github https://github.com/oliviaflexx/quizlet-clone/tree/24b8d524ba428b8e33c7412d6b14926199fdb0e7

I'm trying to build a microservices application and when I ran skaffold dev yesterday it worked fine but today when I run it I get this error.

I1106 19:00:53.703569 7794 request.go:668] Waited for 1.558340853s due to client-side throttling, not priority and fairness, request: GET:https://34.72.125.232/apis/apps/v1/namespaces/default/replicasets?labelSelector=app%!D(MISSING)auth-mongo

- deployment/classes-mongo-depl is ready. [10/14 deployment(s) still pending]
I1106 19:01:10.207249 7794 request.go:668] Waited for 1.067757889s due to client-side throttling, not priority and fairness, request: GET:https://34.72.125.232/api/v1/namespaces/default/pods?labelSelector=app%!D(MISSING)suggestions-mongo%!C(MISSING)skaffold.dev%!F(MISSING)run-id%!D(MISSING)7345a149-46a4-414f-85f9-a1b18a9a47e3
MateusAmin commented 2 years ago

I also get this at 10 deployments. It is a random pod each time. I suspect it can be replicated by deployments * time of each deployment. And according to the message kubectl is doing the throttling. Whether it is reading and respecting the throttle limits from kube api or has its own config I do not know.

MateusAmin commented 2 years ago

Well, here is where the message comes from in the code:

https://github.com/kubernetes/kubernetes/blob/0424c7c74d926b4fe3193059e003e9056b429d28/staging/src/k8s.io/client-go/rest/request.go#L529

MateusAmin commented 2 years ago

Okay, so it is respecting the QPS/Burst limits of the cluster unless overridden:

https://github.com/kubernetes/kubernetes/blob/0424c7c74d926b4fe3193059e003e9056b429d28/staging/src/k8s.io/client-go/rest/config.go#L123

isimmons commented 2 years ago

Taking a microservices course and I'm getting this error all the time for request to kubernetes pod during deployment

I0722 08:14:39.870412 5259 request.go:668] Waited for 1.0182747s due to client-side throttling, not priority and fairness, request: GET:https://kubernetes.docker.internal:6443/api/v1/namespaces/default/pods?labelSelector=app%!D(MISSING)expiration%!C(MISSING)skaffold.dev%!F(MISSING)run-id%!D(MISSING)65d51544-3039-4c66-8b71-b6b814de9893

All deployments stabilize and services work as expected after this but people in the Q&A section of the course have been getting this for at least a year from what I can see. No idea if any of them have reported it. A common answer in the Q&A is to just restart skaffold dev if deployments don't work or I guess ignore it and move on. No real solutions found.

skaffold version: v1.39.1 docker version: 20.10.17, build 100c701 kubectl version --output=json

{
  "clientVersion": {
    "major": "1",
    "minor": "24",
    "gitVersion": "v1.24.1",
    "gitCommit": "3ddd0f45aa91e2f30c70734b175631bec5b5825a",
    "gitTreeState": "clean",
    "buildDate": "2022-05-24T12:26:19Z",
    "goVersion": "go1.18.2",
    "compiler": "gc",
    "platform": "linux/amd64"
  },
  "kustomizeVersion": "v4.5.4",
  "serverVersion": {
    "major": "1",
    "minor": "24",
    "gitVersion": "v1.24.0",
    "gitCommit": "4ce5a8954017644c5420bae81d72b09b735c21f0",
    "gitTreeState": "clean",
    "buildDate": "2022-05-03T13:38:19Z",
    "goVersion": "go1.18.1",
    "compiler": "gc",
    "platform": "linux/amd64"
  }
}

Windows 10 pro latest updates Docker Desktop 4.10.1 (82475) WSL 2 Ubuntu 20.04.4 LTS

Here is vdebug output. It's for course project so no private info vdebug output