Comments (10)
Any news for this issue?
Without this feature it is sometimes impossible to use this tool.
The MR #15 seems like a good beginning...
from kubectl-tree.
Sure thing. You can probably redact PII like namespaces, object names, and maybe even API names etc.
The -v 5
logs have enough information to understand how much time is spent while querying an api group. That should be a good place to start.
I also suspect two other things: Something wrong with pagination logic (we can increase page size if it has a lot of objects) and client-side rate limit/burst (both set to 1000 qps right now).
from kubectl-tree.
In additional, there’s another kind of failure: When some API groups don’t respond with success (for reasons other than authorization).
We may lump these behaviors all into this one flag so that we don’t distinguish between failure modes.
Also we currently query all objects in all namespaces for child objects. In a secure env, a developer won’t have access to all namespaces.
So when we print warnings for inaccessible resources, would we print them per namespace (which can be hundreds of lines per mamespace), or would we just say “Some objects could not be queried and may be excluded from this result”. I am not certain.
from kubectl-tree.
Damn I did not read your comment and started working on a PR. Anyway it is a WIP @ahmetb
from kubectl-tree.
@princerachit I'm not as interested in code as I'm interested in designing the experience for now. :) Right now this is a design problem to me. It seems like many users will hit this, so I'm looking at solving it the cleanest way.
from kubectl-tree.
Sounds right @ahmetb . Another issue I can see is that it takes huge amount of time when running against an enterprise grade cluster
I0106 13:19:41.260134 50748 query.go:45] all goroutines have returned in 7m53.641176705s
from kubectl-tree.
@princerachit let's open a new issue, I'd love to see full logs and which API groups and how many namespaces etc are involved.
from kubectl-tree.
Maybe another design challenge is to include/exclude only a set of resources. As a user it does not make sense to iterate over non - useful resources like snapshots/monitoring/...
from kubectl-tree.
@ahmetb Let me talk to my employer. I am not sure if I am allowed to share the logs. But will open an issue.
from kubectl-tree.
Some objects could not be queried and may be excluded from this result”
What about the default behavior will just print this, and if you want more verbosity, you increase the loglevel, and then get a list of all objects that couldn't be fetched? I would love to use this tool within our company, and propagate it's use, but due to these restrictions it's currently not feasible.
(We, for example, don't have permission to list k8s secrets, because the list
verb not only shows the metadata, but gives you actually permissions to view the content of it as well)
from kubectl-tree.
Related Issues (20)
- Accept kind/name as nomenclature HOT 1
- Getting "can't have a plugin without specifying file operations" HOT 2
- CR always report no resources HOT 1
- "kubectl tree" not working for Kubeflow profiles (not namespaced) HOT 3
- support for custom columns HOT 2
- Add --watch support HOT 1
- Plugin won't install on newer macs with Apple Silicon / M1 processor
- Add a flag to support a list of condition types HOT 3
- Enhancement: Add cli switch to search all ALL un-namespaced objects (can be used in addition to the -n switch) HOT 7
- Doesn't take into account cluster.proxy-url
- Feature request: include events HOT 1
- Feature Request: List all containers (if --containers flag given) HOT 1
- Feature Request: List resources in a scope HOT 1
- kubectl tree command doesn't work for Statefulsets HOT 1
- Support PV/PVC/StorageClass? HOT 3
- Fails if privileges are limited HOT 1
- Duplicate tree items, if a resource has two owners. HOT 1
- Linux/aarch64 : plugin "tree" does not offer installation for this platform
- Command reports ambiguous kind that's not ambiguous HOT 4
- Add label-selector to mitigate workload and data volume
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kubectl-tree.