Allow passing of custom pool manager #2335
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What type of PR is this?
/kind feature
(although from some perspectives it could be considered a bug!)
What this PR does / why we need it:
Summary: Then using the
load_kube_config
method, the python library is (apparently?!) unable to connect securely to a cluster where the cluster API endpoints are secured with CA certificates that have been signed by an internal/external CA authority (i.e. not self-signed).Why is this? It seems that only the cluster CA gets stored in the
~/.kube/config
file, not the whole certificate chain. Therefore, the library can only resolve the chain if it is self-contained (self-signed). If it depends on additional certificates it will fail an exception something like this...Issue: Currently, there does not seem to be any way to control the way the REST client
pool_manager
is created, and it's default configuration makes it impossible (AFAICS?!) to correctly/cleanly specify the CA chain to use.Which issue(s) this PR fixes:
Fixes #2329
Special notes for your reviewer:
N/A
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: