ingress-nginx: Unknown flag "size-buckets"

NGINX Ingress controller Release: v1.1.1 nginx version: nginx/1.19.9

Kubernetes version (use kubectl version): Client Version: version.Info{Major:“1”, Minor:“23”, GitVersion:“v1.23.3”, GitCommit:“816c97ab8cff8a1c72eccca1026f7820e93e0d25”, GitTreeState:“clean”, BuildDate:“2022-01-25T21:25:17Z”, GoVersion:“go1.17.6”, Compiler:“gc”, Platform:“linux/amd64”} Server Version: version.Info{Major:“1”, Minor:“20+”, GitVersion:“v1.20.12-gke.1500”, GitCommit:“d32c0db9a3ccd0ac73b0b3abd0532505217b376e”, GitTreeState:“clean”, BuildDate:“2021-11-17T09:30:02Z”, GoVersion:“go1.15.15b5”, Compiler:“gc”, Platform:“linux/amd64”}

Helm version: version.BuildInfo{Version:“v3.7.0”, GitCommit:“eeac83883cb4014fe60267ec6373570374ce770b”, GitTreeState:“clean”, GoVersion:“go1.16.8”}

Environment:

  • Cloud provider or hardware configuration: GCP GKE
  • OS (e.g. from /etc/os-release): Container-Optimized OS from Google
  • Kernel version: 5.4.144+

How was the ingress-nginx-controller installed: Using helm template , using the command:

helm install ingress-nginx ingress-nginx/ingress-nginx --set controller.extraArgs.size-buckets="{0.05,0.1,0.3,0.5,1.0,5,10}"

Output of ‘helm ls -A | grep -i ingress’ ingress-nginx default 1 2022-02-10 12:35:46.167462946 +0200 EET deployed ingress-nginx-4.0.17 1.1.1

Current State of the controller:

➜  kubectl get pod
NAME                                        READY   STATUS             RESTARTS   AGE
ingress-nginx-controller-7bdc9d4dc8-dtkc2   0/1     CrashLoopBackOff   10         27m
➜  kubectl describe ingressclasses
Name:         nginx
Labels:       app.kubernetes.io/component=controller
              app.kubernetes.io/instance=ingress-nginx
              app.kubernetes.io/managed-by=Helm
              app.kubernetes.io/name=ingress-nginx
              app.kubernetes.io/part-of=ingress-nginx
              app.kubernetes.io/version=1.1.1
              helm.sh/chart=ingress-nginx-4.0.17
Annotations:  meta.helm.sh/release-name: ingress-nginx
              meta.helm.sh/release-namespace: default
Controller:   k8s.io/ingress-nginx
Events:       <none>
➜  ~ kubectl logs -f ingress-nginx-controller-7bdc9d4dc8-dtkc2                                                  
-------------------------------------------------------------------------------
NGINX Ingress controller
  Release:       v1.1.1
  Build:         a17181e43ec85534a6fea968d95d019c5a4bc8cf
  Repository:    https://github.com/kubernetes/ingress-nginx
  nginx version: nginx/1.19.9

-------------------------------------------------------------------------------

unknown flag: --size-buckets
Usage of :
unknown flag: --size-buckets
.....
.....

What happened:

I installed ingress-nginx using helm and tried to set the flag size-buckets as it looks that it exists https://github.com/kubernetes/ingress-nginx/blob/main/cmd/nginx/flags.go and according that feature described here https://github.com/kubernetes/ingress-nginx/pull/7171.

The ingress-nginx deployment is successful but the pod is not starting and get the following message in pod logs “unknown flag: --size-buckets”.

If try to use other flag, e.g. “enable-metrics” it works and accept the flag.

According the documentation at https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/cli-arguments.md, the flags time-buckets, length-buckets, size-buckets are not listed in list of arguments.

So the question is, how can I set these flags?

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 15 (8 by maintainers)

Commits related to this issue

Most upvoted comments

Just for the history, I was able to use time-buckets with NGINX Ingress controller v1.4.0 and helm chart ingress-nginx/ingress-nginx version 4.3.0 via following helm values

controller:
  extraArgs:
    time-buckets: "0.005,0.01,0.025,0.05,0.1,0.25,0.5,1,2.5,5,10,20,30,45,60,90,120"

@voron Thank you! I was about to commit suicide.