monkeypatch kubernetes to avoid creating unused threadpools for each client
monkeypatch kubernetes to avoid creating unused threadpools for each client

kubernetes creates client objects in a number of places
e.g. every time a Watch is instantiated.

These objects create a max-size thread pool for async requests,
which bogs down the process if enough client objects are instantiated.
Since we don't use async requests, these pools go totally unused.

api_client is monkeypatched to avoid creating these ThreadPools in the first place.
A patch has been submitted upstream to swagger-codegen,
which is responsible for creating the ThreadPool.

jupyterhub/kubespawner,yuvipanda/jupyterhub-kubernetes-spawner