• 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
..
after-build Loading commit data...
boilerplate Loading commit data...
e2e-internal Loading commit data...
gen-swagger-doc Loading commit data...
jenkins Loading commit data...
lib Loading commit data...
testdata Loading commit data...
travis Loading commit data...
verify-flags Loading commit data...
OWNERS Loading commit data...
benchmark-go.sh Loading commit data...
benchmark-integration.sh Loading commit data...
build-cross.sh Loading commit data...
build-go.sh Loading commit data...
build-ui.sh Loading commit data...
cherry_pick_pull.sh Loading commit data...
dev-build-and-push.sh Loading commit data...
dev-build-and-up.sh Loading commit data...
e2e-node-test.sh Loading commit data...
e2e.go Loading commit data...
get-build.sh Loading commit data...
ginkgo-e2e.sh Loading commit data...
grab-profiles.sh Loading commit data...
install-etcd.sh Loading commit data...
list-feature-tests.sh Loading commit data...
local-up-cluster.sh Loading commit data...
lookup_pull.py Loading commit data...
test-cmd.sh Loading commit data...
test-go.sh Loading commit data...
test-integration.sh Loading commit data...
test-update-storage-objects.sh Loading commit data...
update-all.sh Loading commit data...
update-api-reference-docs.sh Loading commit data...
update-codecgen.sh Loading commit data...
update-codegen.sh Loading commit data...
update-generated-docs.sh Loading commit data...
update-generated-protobuf.sh Loading commit data...
update-generated-swagger-docs.sh Loading commit data...
update-godep-licenses.sh Loading commit data...
update-gofmt.sh Loading commit data...
update-swagger-spec.sh Loading commit data...
verify-all.sh Loading commit data...
verify-api-reference-docs.sh Loading commit data...
verify-boilerplate.sh Loading commit data...
verify-codecgen.sh Loading commit data...
verify-codegen.sh Loading commit data...
verify-description.sh Loading commit data...
verify-flags-underscore.py Loading commit data...
verify-generated-docs.sh Loading commit data...
verify-generated-protobuf.sh Loading commit data...
verify-generated-swagger-docs.sh Loading commit data...
verify-godep-licenses.sh Loading commit data...
verify-godeps.sh Loading commit data...
verify-gofmt.sh Loading commit data...
verify-govet.sh Loading commit data...
verify-import-boss.sh Loading commit data...
verify-jenkins-job-configs.sh Loading commit data...
verify-linkcheck.sh Loading commit data...
verify-swagger-spec.sh Loading commit data...
verify-symbols.sh Loading commit data...