Shared Surface · API Server
API Server
There is one API server, and every tenant talks to it. Worse, a lot of what lives behind it is cluster-scoped and shared by everyone.
In every cluster there is only one logical API server and it’s shared by all the tenants in the cluster, which introduces some security constraints and possible concerns.
Cluster-wide objects
Within a Kubernetes cluster there are a number of things which are cluster-wide. One example is custom resource definitions (CRDs). Within a given cluster there can only be one version of a CRD in place. This means that when upgrading a CRD, all tenants must be able to upgrade at the same time.
Denial of Service
Where tenants have access to create objects in a cluster, there is always a risk of Denial of Service, as they can effectively just keep creating objects till the etcd database runs out of space. Importantly, the Kubernetes project does not regard this kind of attack as a risk they seek to mitigate, as noted in the referenced page.