Skip to content

Theoretical maximum number of Knative Services for a single cluster #13201

@rhuss

Description

@rhuss

Ask your question here:

According to Kubernetes Scalability thresholds there is an upper limit for the number of Kubernetes Services that is based on the maximum number of iptable entries on a node. Currently, this limit is at 10000 services (if I understand correctly, this is independent of the number of nodes in a cluster since every node needs to have the same iptables routing).

Since every Knative service translates at a minimum to 3 Kubernetes services (1 ExternalName service pointing to the ingress gateway, and 2 services for each revision (public/private), the theoretical maximum of Knative Services in a cluster would be ~ 3350 Knative services (and much less if using multiple revisions and/or other workloads on this cluster beside Knative).

My questions would be:

  • Is this assumption (3350 KServices per cluster) a fair one ?
  • Isn't this limitation very severe for a serverless model where potentially many KService is scaled to zero but still occupy iptable entries? So it could be that you have an empty cluster (everything scaled to zero), but your routing tables are still exhausted ?
  • Would it be a desiarable goal to reduce the number of Kubernetes Services attached to a Knative Service? (like down to 1:1) ?
  • Is there a way to circumvent the iptables limitation? (by maybe using a different tech for service mapping)

Metadata

Metadata

Assignees

Labels

kind/questionFurther information is requestedlifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.triage/acceptedIssues which should be fixed (post-triage)

Type

No type

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions