Re: [kubernetes/kubernetes] EventRateLimit - Admission Control - Fails to start kube-apiserver (#62861)

194 views
Skip to first unread message

k8s-ci-robot

unread,
Apr 19, 2018, 12:47:34 PM4/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@iponnam: Reiterating the mentions to trigger a notification:
@kubernetes/sig-api-machinery-bugs

In response to this:

@kubernetes/sig-api-machinery-bugs

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.


You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Jordan Liggitt

unread,
Apr 19, 2018, 1:30:24 PM4/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

what version are you running with?

Pavan Surya Prakash Ponnam

unread,
Apr 19, 2018, 1:35:37 PM4/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Kubernetes Version 1.9.5
The API Server pod not creating itself
Attaching kubelet logs.
kubelet.log

Pavan Surya Prakash Ponnam

unread,
Apr 19, 2018, 1:37:43 PM4/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Daniel Smith

unread,
Apr 19, 2018, 4:24:12 PM4/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@gmarek maybe knows?

Chao Xu

unread,
Apr 19, 2018, 4:26:24 PM4/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Do you have the apiserver log?

Pavan Surya Prakash Ponnam

unread,
Apr 19, 2018, 6:58:20 PM4/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@caesarxuchao ApiServer is not all creating. So I have attached kubelet logs

Pavan Surya Prakash Ponnam

unread,
May 11, 2018, 7:23:53 PM5/11/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@gmarek Hello Marek,
Could you please assist me in this regard.
Thank you.

fejta-bot

unread,
Aug 9, 2018, 7:55:34 PM8/9/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

Pavan Surya Prakash Ponnam

unread,
Aug 10, 2018, 12:09:33 AM8/10/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

/remove-lifecycle stale

liuyusen

unread,
Aug 15, 2018, 7:23:41 AM8/15/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Got the same issue on 1.9.6, my cluster is setup using kops

mirwan

unread,
Aug 22, 2018, 11:27:25 AM8/22/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Got the same issue on 1.11.2, my cluster is setup using kubespray.
apiserver logs "Error: unknown api groups eventratelimit.admission.k8s.io"

Jacob Crowther

unread,
Sep 19, 2018, 12:59:09 PM9/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

I am running into the same error that @mirwan details.

@deads2k @derekwaynecarr You are the owners listed for the eventratelimit here Would you look into this issue? EventRateLimit appears to be broken.

As a side note, removing --runtime-config=...,eventratelimit.admission.k8s.io/v1alpha1=true allows the apiserver to start, but appears to disable EventRateLimit.

This is a rather important feature for multi-tenant clusters. May we get an update?

Daniel Smith

unread,
Sep 19, 2018, 1:23:09 PM9/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

I imagine there is a feature gate needed to enable this? But I can't find it.

Jordan Liggitt

unread,
Sep 19, 2018, 1:35:44 PM9/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

I don't think there's a feature gate… you have to opt in to this alpha feature by enabling the admission plugin and specifying the alpha admission config

Jacob Crowther

unread,
Sep 19, 2018, 1:59:53 PM9/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@liggitt Do you know of any step that is missing from the ticket description?

Jordan Liggitt

unread,
Sep 19, 2018, 2:04:18 PM9/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

The config is not a served rest api. I would not expect --runtime-config to be modified in order to use that feature.

David Eads

unread,
Sep 19, 2018, 2:04:30 PM9/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

When you remove it from the --runtime-config does it work? I would expect it to. That flag is for REST resources and this just an admission config type.

Jacob Crowther

unread,
Sep 19, 2018, 2:08:59 PM9/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@deads2k What would be the preferred way to validate? I have a test cluster up and can look into it.

Jacob Crowther

unread,
Sep 19, 2018, 5:03:47 PM9/19/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

This may be built on false assumptions, but the following test produces no 429 responses.

Initial test with Curl to validate token and endpoint produces 200 response:

$ curl $APISERVER/api/v1/namespaces/test/pods --header "Authorization: Bearer $TOKEN" --insecure
{
  "kind": "PodList",
  "apiVersion": "v1",
  "metadata": {
    "selfLink": "/api/v1/namespaces/test/pods",
    "resourceVersion": "53412"
  },
  "items": []
}

Same test with Apache Benchmark to produce load:

$ ab -n 1000 -c 100 -H "Authorization: Bearer $TOKEN" $APISERVER/api/v1/namespaces/test/services

(no 429 errors produced -- all 200 OK)

Cluster configuration:

$ cat /etc/kubernetes/admission-control/eventRateLimit.yaml

kind: Configuration
apiVersion: eventratelimit.admission.k8s.io/v1alpha1
limits:
- type: Namespace
  qps: 1
  burst: 1
- type: User
  qps: 1
  burst: 1


$ cat /etc/kubernetes/admission-control/control-config.yaml

kind: AdmissionConfiguration
apiVersion: apiserver.k8s.io/v1alpha1
plugins:
- name: EventRateLimit
  path: /etc/kubernetes/admission-control/eventRateLimit.yaml


$ cat /etc/kubernetes/manifests/kube-apiserver.yaml
...
    command:
    - /hyperkube
    - apiserver
    - --enable-admission-plugins=Initializers,NamespaceLifecycle,NodeRestriction,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,EventRateLimit
    - --admission-control-config-file=/etc/kubernetes/admission-control/control-config.yaml
    - --runtime-config=api/all,admissionregistration.k8s.io/v1alpha1
...

From what I understand (and this is the potentially false assumption) the purpose of the EventRateLimit admission plugin is to limit the number of REST requests that can be made against the apiserver in any given moment. Limits can be enforced by namespace, user, or source+object (haven't played with that last one yet). But effectively, this rate limit is intended to ensure equal opportunity of making kubernetes API calls for multiple users of a cluster.

Is this assumption right? Documentation is sparse, so I am having trouble determining if an "event" is a REST API call or something else. @deads2k Would you clarify and ensure my test is accurate?

Derek Carr

unread,
Sep 20, 2018, 11:10:36 AM9/20/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@jcrowthe the admission plugin is used to optionally limit the number Event resources that can be created. historically, we had issues where control plane components, kubelets could spam the API server with large numbers of event resources. that has largely been mitigated client-side using the event recorder client. The admission controller does not care about general purpose REST requests.

mattmceuen

unread,
Oct 18, 2018, 2:47:08 PM10/18/18
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

I hit the same issue trying to use EventRateLimit with the --runtime-config flag; leaving admissionregistration.k8s.io/v1alpha1 off of that seems to get the admission controller working fine.

I think this is a documentation bug, since the admission controller doc is what's telling us to use --runtime-config for this.
https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/

fejta-bot

unread,
Jan 16, 2019, 2:10:10 PM1/16/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

fejta-bot

unread,
Feb 15, 2019, 2:27:33 PM2/15/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.

/lifecycle rotten

fejta-bot

unread,
Mar 17, 2019, 4:11:46 PM3/17/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.


Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

Kubernetes Prow Robot

unread,
Mar 17, 2019, 4:12:04 PM3/17/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Closed #62861.

Kubernetes Prow Robot

unread,
Mar 17, 2019, 4:12:19 PM3/17/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

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.

Munai Das Udasin

unread,
May 6, 2019, 3:47:41 PM5/6/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

I too am facing the same issue on kubernetes 1.13.5 cluster. The issue should be reopened.

Daniel Smith

unread,
May 6, 2019, 5:11:17 PM5/6/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

/reopen

I don't think we got a resolution on this, ideally someone who knows the feature can tell us if the documentation is wrong or if there is some other bug.

Daniel Smith

unread,
May 6, 2019, 5:11:50 PM5/6/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Reopened #62861.

fejta-bot

unread,
Jun 5, 2019, 5:18:07 PM6/5/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

Kubernetes Prow Robot

unread,
Jun 5, 2019, 5:18:23 PM6/5/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.


Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

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.

Kubernetes Prow Robot

unread,
Jun 5, 2019, 5:18:27 PM6/5/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Closed #62861.

Pavan Surya Prakash Ponnam

unread,
Aug 27, 2019, 12:41:21 AM8/27/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

/reopen

Kubernetes Prow Robot

unread,
Aug 27, 2019, 12:41:42 AM8/27/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Reopened #62861.

Kubernetes Prow Robot

unread,
Aug 27, 2019, 12:41:50 AM8/27/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@iponnam: Reopened this issue.

In response to this:

/reopen

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.

fejta-bot

unread,
Sep 26, 2019, 1:29:56 AM9/26/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

Kubernetes Prow Robot

unread,
Sep 26, 2019, 1:30:05 AM9/26/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.


Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

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.

Kubernetes Prow Robot

unread,
Sep 26, 2019, 1:30:08 AM9/26/19
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Closed #62861.

zbialik

unread,
Mar 12, 2020, 4:00:56 PM3/12/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Was there a resolution for this? I don't get why this was closed?


You are receiving this because you are on a team that was mentioned.

Reply to this email directly, view it on GitHub, or unsubscribe.

zbialik

unread,
Mar 12, 2020, 4:01:27 PM3/12/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

/reopen

Kubernetes Prow Robot

unread,
Mar 12, 2020, 4:01:35 PM3/12/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@zbialik: You can't reopen an issue/PR unless you authored it or you are a collaborator.

In response to this:

/reopen

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.

Kubernetes Prow Robot

unread,
Mar 16, 2020, 3:30:28 PM3/16/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Reopened #62861.

Jordan Liggitt

unread,
Mar 16, 2020, 3:30:28 PM3/16/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

/reopen

ideally someone who knows the feature can tell us if the documentation is wrong or if there is some other bug.

it is a documentation bug. --runtime-config is for REST APIs. This is a config API and needs no special enablement. The runtime-config bit should be removed from the docs.

Kubernetes Prow Robot

unread,
Mar 16, 2020, 3:30:30 PM3/16/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@liggitt: Reopened this issue.

In response to this:

/reopen

ideally someone who knows the feature can tell us if the documentation is wrong or if there is some other bug.

it is a documentation bug. --runtime-config is for REST APIs. This is a config API and needs no special enablement. The runtime-config bit should be removed from the docs.

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.

cvernooy23

unread,
Mar 31, 2020, 9:31:31 AM3/31/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

also having this issue on 1.16.2

fejta-bot

unread,
Apr 30, 2020, 10:18:50 AM4/30/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

Kubernetes Prow Robot

unread,
Apr 30, 2020, 10:19:05 AM4/30/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

Closed #62861.

Kubernetes Prow Robot

unread,
Apr 30, 2020, 10:19:05 AM4/30/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.


Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

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.

kubefetch

unread,
Sep 4, 2020, 3:14:11 AM9/4/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention

This piece of EventRateLimits rate limit has very standard documentation for configuration. I installed my friend's deployment above, and still can't boot API-Server, hoping to come up with a best practice. I'm also a little confused about how much configuration I should have in rate production

zhaocheng173

unread,
Sep 4, 2020, 3:17:20 AM9/4/20
to kubernetes/kubernetes, k8s-mirror-api-machinery-bugs, Team mention
Reply all
Reply to author
Forward
0 new messages