Skip to content

Commit

Permalink
Allow QPS and Burst limits to be set for operator
Browse files Browse the repository at this point in the history
For customers who have very large numbers of functions, this
change enables configuration of QPS and Burst limits for the
Kubernetes API for OpenFaaS for Enterprises.

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
  • Loading branch information
alexellis committed Oct 11, 2023
1 parent 46f7f83 commit 69b7106
Show file tree
Hide file tree
Showing 18 changed files with 448 additions and 410 deletions.
2 changes: 1 addition & 1 deletion chart/openfaas/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
type: application
description: OpenFaaS - Serverless Functions Made Simple
name: openfaas
version: 14.1.9
version: 14.1.10
sources:
- https://github.com/openfaas/faas
- https://github.com/openfaas/faas-netes
Expand Down
2 changes: 2 additions & 0 deletions chart/openfaas/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,8 @@ yaml) |
| `operator.image` | Container image used for the openfaas-operator | See [values.yaml](./values.yaml) |
| `operator.resources` | Resource limits and requests for openfaas-operator containers | See [values.yaml](./values.yaml) |
| `operator.image` | Container image used for the openfaas-operator | See [values.yaml](./values.yaml) |
| `operator.kubeClientQPS` | QPS rate-limit for the Kubernetes client, (OpenFaaS for Enterprises) | `""` (defaults to 100) |
| `operator.kubeClientBurst` | Burst rate-limit for the Kubernetes client (OpenFaaS for Enterprises) | `""` (defaults to 250) |

### Functions

Expand Down
4 changes: 4 additions & 0 deletions chart/openfaas/templates/gateway-dep.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,10 @@ spec:
value: "{{ .Values.functions.livenessProbe.failureThreshold }}"
- name: cluster_role
value: "{{ .Values.clusterRole }}"
- name: kube_client_qps
value: "{{ .Values.operator.kubeClientQPS }}"
- name: kube_client_burst
value: "{{ .Values.operator.kubeClientBurst }}"
{{- if .Values.iam.enabled }}
- name: issuer_key_path
value: "/var/secrets/issuer-key/issuer.key"
Expand Down
10 changes: 8 additions & 2 deletions chart/openfaas/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,15 +92,21 @@ gateway:

# For OpenFaaS Pro and the Function CRD
operator:
image: ghcr.io/openfaasltd/faas-netes:0.4.21
image: ghcr.io/openfaasltd/faas-netes:0.4.22
create: false
resources:
requests:
memory: "120Mi"
cpu: "50m"

# For OpenFaaS for Enterprises, these numbers can be set higher,
# if experiencing rate limiting due to a large number of functions
# within the cluster
kubeClientQPS: 100
kubeClientBurst: 250

faasnetesPro:
image: ghcr.io/openfaasltd/faas-netes:0.4.21
image: ghcr.io/openfaasltd/faas-netes:0.4.22

# For the Community Edition
faasnetes:
Expand Down
Binary file modified docs/cron-connector-0.6.5.tgz
Binary file not shown.
Binary file modified docs/federated-gateway-0.0.3.tgz
Binary file not shown.
Loading

0 comments on commit 69b7106

Please sign in to comment.