-
Notifications
You must be signed in to change notification settings - Fork 481
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
Add RBAC for endpoint slices for functions and leases for LeaderElection #1160
Conversation
EndpointSlices are more efficient than Endpoints at scale. Both editions of OpenFaaS Pro will gain support, and CE will continue to use Endpoints. Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
a2f8142
to
0d729f5
Compare
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
018ffe4
to
0339417
Compare
Pprof is already present in the operator, but required manual edits. This commit makes it available via values.yaml for easy use. Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
0339417
to
291ac3e
Compare
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
@@ -495,6 +495,8 @@ 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) | | |||
| `operator.reconcileWorkers` | Number of reconciliation workers to run to convert Function CRs into Deployments | `1` | | |||
| `operator.leaderElection.enabled`| When set to true, only one replica of the operator within the gateway pod will perform reconciliation | `false` | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
operator.reconcileQPS
and operator.reconcileBurst
should also be added to the configuration options.
# expose the pprof endpoint, this cannot be used in production | ||
# since it may bypass authentication, and should only be used | ||
# for debugging purposes | ||
pprof: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should also set default values for reconcileQPS
and reconcileBurst
.
Hi Han, I would agree that those options could be added at some point. Alex |
Description
Add RBAC for endpoint slices for functions and leases for LeaderElection
EndpointSlices are more efficient than Endpoints at scale.
Both editions of OpenFaaS Pro will gain support, and CE will continue to use Endpoints.
Leader Election will be available in OpenFaaS Pro, in both editions. Only one of the replicas will perform reconciliation. All replicas will serve CRUD for Function/Secret, log tailing and invoke.
Why is this needed?
To prevent many unnecessary updates and writes to the same object, when multiple operators try to reconcile a Function CR into a Deployment/Service.
Who is this for?
For Patchworks to support scaling to large numbers of functions.
How Has This Been Tested?
Endpoint Slices have had E2E testing and work, but require testing during scaling with
hey
LeaderElection is pending and will be added to the chart in this PR.
Types of changes