• k8s-merge-robot's avatar
    Merge pull request #23914 from sky-uk/make-etcd-cache-size-configurable · a275a045
    k8s-merge-robot authored
    Automatic merge from submit-queue
    
    Make etcd cache size configurable
    
    Instead of the prior 50K limit, allow users to specify a more sensible size for their cluster.
    
    I'm not sure what a sensible default is here. I'm still experimenting on my own clusters. 50 gives me a 270MB max footprint. 50K caused my apiserver to run out of memory as it exceeded >2GB. I believe that number is far too large for most people's use cases.
    
    There are some other fundamental issues that I'm not addressing here:
    - Old etcd items are cached and potentially never removed (it stores using modifiedIndex, and doesn't remove the old object when it gets updated)
    - Cache isn't LRU, so there's no guarantee the cache remains hot. This makes its performance difficult to predict. More of an issue with a smaller cache size.
    - 1.2 etcd entries seem to have a larger memory footprint (I never had an issue in 1.1, even though this cache existed there). I suspect that's due to image lists on the node status.
    
    This is provided as a fix for #23323 
    a275a045
Name
Last commit
Last update
..
high-availability Loading commit data...
limitrange Loading commit data...
namespaces Loading commit data...
resourcequota Loading commit data...
README.md Loading commit data...
accessing-the-api.md Loading commit data...
admission-controllers.md Loading commit data...
authentication.md Loading commit data...
authorization.md Loading commit data...
cluster-components.md Loading commit data...
cluster-large.md Loading commit data...
cluster-management.md Loading commit data...
cluster-troubleshooting.md Loading commit data...
daemon.yaml Loading commit data...
daemons.md Loading commit data...
dns.md Loading commit data...
etcd.md Loading commit data...
garbage-collection.md Loading commit data...
high-availability.md Loading commit data...
introduction.md Loading commit data...
kube-apiserver.md Loading commit data...
kube-controller-manager.md Loading commit data...
kube-proxy.md Loading commit data...
kube-scheduler.md Loading commit data...
kubelet.md Loading commit data...
master-node-communication.md Loading commit data...
multi-cluster.md Loading commit data...
namespaces.md Loading commit data...
network-plugins.md Loading commit data...
networking.md Loading commit data...
node.md Loading commit data...
ovs-networking.md Loading commit data...
ovs-networking.png Loading commit data...
resource-quota.md Loading commit data...
salt.md Loading commit data...
service-accounts-admin.md Loading commit data...
static-pods.md Loading commit data...